すべてのプロダクト
Search
ドキュメントセンター

Container Service for Kubernetes:ApplicationSetを使用した複数のアプリケーションの作成

最終更新日:Jan 07, 2025

ApplicationSetを使用すると、1つのオーケストレーションテンプレートを使用して1つ以上のアプリケーションを作成し、複数のクラスターにデプロイできます。 このトピックでは、ApplicationSetを使用して複数のアプリケーションを作成する方法について説明します。

前提条件

  • GitOpsシステムにログオンしています。 詳細については、「GitOpsシステムへのログイン」をご参照ください。

  • kubectlがインストールされ、使用するACK One Fleetインスタンスへのログインに使用されるkubeconfigファイルが取得されます。 kubeconfigファイルのデフォルトパスは ~/.kube/configです。

この例では、エコーサーバーアプリケーションがクラスター生産とクラスターステージングにデプロイされています。 次のコンテンツは、echo-serverアプリケーションのデプロイに使用されるGitリポジトリ内のマニフェストディレクトリの構造を示しています。

.
â ─ ─ Dockerfile
â ─ ─ go.mo d
â ─ ─ go.sum
â ─ ─ main.go
└ ─ ─ マニフェスト
    └ ─ ─ ディレクトリ
        â ─ ─ 生産
        │ ├─ ─ deployment.yaml
        │ õ ─ ─ service.yaml
        └ ─ ─ ステージング
            â ─ ─ deployment.yaml
            └ ─ ─ service.yaml 

Cluster Productionのecho-serverアプリケーションは、アプリケーションのバージョンとアプリケーションの公開方法の点で、Cluster Stagingのecho-serverアプリケーションとは異なります。 したがって、サブディレクトリの生産ステージングは、クラスター生産のエコーサーバーアプリケーションのオーケストレーションテンプレートとクラスター生産のエコーサーバーアプリケーションのオーケストレーションテンプレートを分離するために作成されます。

手順

  1. 次のコンテンツに基づいて、applicationset.yamlという名前のファイルを作成します。

    ApplicationSetは、production-echo-serverstaging-echo-serverという名前の2つのアプリケーションを作成するために使用されます。 production-echo-serverアプリケーションは、サブディレクトリmanifests/directory/productionのマニフェストファイルに基づいてデプロイされます。 staging-echo-serverアプリケーションは、サブディレクトリmanifests/directory/stagingのマニフェストファイルに基づいてデプロイされます。

    apiVersion: argoproj.io/v1alpha 1
    種類: ApplicationSet
    メタデータ:
      名前: echo-server
    spec:
      発電機:
      -リスト:
          要素:
          -cluster: 本番
            url: https:// 47.91.XX.XX:6443
          -cluster: staging
            url: https:// 47.111.XX.XX:6443
      template:
        metadata:
          名前: '{{cluster}}-echo-server'
        仕様:
          project: デフォルト
          ソース:
            repoURL: https://code.aliyun.com/shuwei.hsw/echo-server.git
            targetRevision: メイン
            パス: manifests /ディレクトリ /{{cluster}}
          宛先:
            server: '{{url}}'
            名前空間: multi-echo-server 
  2. 次のコマンドを実行して、ApplicationSetをデプロイします。

    kubectl -n argocd apply -f applicationset.yaml
  3. 次のコマンドを実行して、作成されたアプリケーションを照会します。

    kubectl -n argocd get application

    期待される出力:

    名前同期ステータス健康ステータス
    production-echo-server OutOfSync Missing
    staging-echo-server OutOfSync Missing 
  4. 次のコマンドを実行して、アプリケーションをクラスターに同期します。

    argocdアプリの同期プロダクション-echo-server staging-echo-server
  5. echo-serverアプリケーションへのアクセスをテストします。

    • 次のコマンドを実行して、Cluster Productionのecho-serverアプリケーションにアクセスします。

      curl XX.XX.XX.XX:8080 /バージョン# XX.XX.XXをエコーサーバーアプリケーションのIPアドレスに置き換えます。

      期待される出力:

      「ハローエコーサーバーv1.0」
    • 次のコマンドを実行して、クラスターステージングでエコーサーバーアプリケーションにアクセスします。

      curl XX.XX.XX.XX:8080 /バージョン# XX.XX.XXをエコーサーバーアプリケーションのIPアドレスに置き換えます。

      期待される出力:

      「ハローエコーサーバーv2.0」

関連ドキュメント

ApplicationSetsの使用方法の詳細については、「ApplicationSet」をご参照ください。