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

Container Service for Kubernetes:マルチクラスター アプリケーションの作成

最終更新日:Mar 27, 2026

複数のクラスターにまたがってアプリケーションを管理する場合、各クラスターごとに個別の Argo CD Application リソースを別々に維持するのは、エラーが発生しやすく、スケールも困難です。ACK One のマルチクラスター GitOps 機能では、Argo CD ApplicationSet を活用してこの課題を解決します。1 つのアプリケーションセットテンプレートにより、対象となる各クラスターに対して自動的に 1 つの Argo CD Application が生成されるため、単一のコミットで同時にすべてのクラスターへ変更を適用できます。

本トピックでは、ACK One コンソールでマルチクラスター アプリケーションを作成する手順について説明します。

前提条件

開始する前に、以下の条件を満たしていることを確認してください。

マルチクラスター アプリケーションの作成

  1. ACK One コンソール にログインします。左側のナビゲーションウィンドウで、フリート > マルチクラスター GitOps を選択します。

  2. マルチクラスター GitOps ページの左上隅にあるフリート名の横の Dingtalk_20231226104633.jpg アイコンをクリックし、ドロップダウンリストから対象のフリートを選択します。

  3. マルチクラスター アプリケーションの作成 > GitOps をクリックして、マルチクラスター アプリケーションの作成 - GitOps ページを開きます。

  4. Quick Create]タブで、次のパラメーターを設定します。[Advanced Configuration]で、同期ポリシーを設定します。[Automatic]が選択されている場合、次のオプションを有効にできます。同期操作では、次のオプションを利用できます。同期オプションの完全なリファレンスについては、「Argo CD 同期オプション」をご参照ください。

    パラメーター説明
    マルチクラスター アプリケーションセット名アプリケーションセットの名前です。appset-echo-server-demo
    プロジェクトアプリケーションセットが属する Argo CD プロジェクトです。default
    ソースコード URLアプリケーションマニフェストを含む Git リポジトリの URL です。https://github.com/AliyunContainerService/gitops-demo.git
    Git ブランチリポジトリ内でトラックするブランチです。main
    パスリポジトリ内のアプリケーションマニフェストへのパスです。YAML ファイルのディレクトリ、Helm チャートのルート、または Kustomize ディレクトリを指定できます。manifests/helm/echo-server
    送信先クラスターアプリケーションをデプロイするクラスターです。空欄のままにした場合、Argo CD に登録されたすべてのクラスター(フリートおよび Argo CD が実行されるインクラスターよりも除く)が送信先クラスターとして使用されます。
    名前空間アプリケーションがデプロイされる各送信先クラスター内の名前空間です。demo
    アプリケーション名生成される各 Argo CD Application の名前テンプレートです。デフォルトで利用可能な変数は以下のとおりです:{{.name}}{{.metadata.annotations.cluster_name}}、および {{.metadata.annotations.cluster_id}}{{.metadata.annotations.cluster_id}}-echoserver

    同期ポリシー(ApplicationSet)

    オプション説明
    削除時にリソースを保持選択すると、このアプリケーションセットによって作成された子リソースは、アプリケーションセットが削除されても保持されます。アプリケーションセットの誤削除によるワークロードへの影響を防ぐために選択します。

    同期ポリシー(Application)

    オプション説明
    手動同期は、手動で実行を指示した場合のみトリガーされます。
    自動Git リポジトリとライブクラスターの状態に差分がある場合、Argo CD が自動的にアプリケーションを同期します。
    オプション説明
    リソースの削除(Prune)デフォルトでは、Argo CD は Git に存在しないリソースを削除しません。これは、意図しないデータ損失を防ぐための安全機構です。有効化すると、Git リポジトリから削除されたリソースがクラスターから自動的に削除されます。クラスターの状態を Git に完全に依存させる場合にのみ有効化してください。
    自己修復(Self Heal)デフォルトでは、ライブクラスターのリソースに対する手動変更は自動同期をトリガーしません。有効化すると、ライブクラスターのリソースに対するアウトオブバンド変更が検出されると、Git に定義された望ましい状態に自動的に復元されます。クラスターへの直接変更による構成ドリフトを防止するために有効化します。
    オプション説明
    スキーマ検証のスキップ適用前に Kubernetes リソース仕様の検証をスキップします。kubectl apply --validate=true|false と同等です。デフォルトで有効です。
    名前空間の自動作成クラスター内にターゲット名前空間が存在しない場合、自動的に作成します。
    最後に削除(Prune Last)他のすべてのリソースがデプロイされ、正常な状態になってから削除対象のリソースを削除するため、同期中のダウンタイムリスクを低減します。
    同期外のみ適用(Apply Out of Sync Only)OutOfSync 状態のリソースのみを同期するため、ほとんどのリソースが既に同期済みの場合に同期操作を高速化できます。
    無視する差分の尊重(Respect Ignore Differences)同期時に、ignoreDifferences 構成で指定されたフィールドを無視し、これらのフィールドが上書きされないようにします。
    サーバー側適用(Server-Side Apply)デフォルトのクライアント側適用ではなく、Kubernetes のサーバー側適用を使用します。リソースが許容されるアノテーションサイズを超える場合、Argo CD で完全に管理されていないリソースをパッチする場合、または宣言的なフィールド管理を希望する場合に使用します。
    置き換えkubectl replace(削除後再作成)を、kubectl apply(パッチ)の代わりに使用します。immutable フィールドなど、apply では対応できない場合にのみ使用します。
    再試行失敗した同期操作を再試行します。再試行回数、再試行間隔、およびバックオフポリシーを設定できます。
  5. クイック作成 では要件を満たさない場合、YAML からの作成 タブを選択し、ApplicationSet YAML を直接編集します。

    クイック作成YAML からの作成 は同期されています。いずれかのタブで行った変更は、もう一方のタブにも反映されます。
  6. OK をクリックします。アプリケーションセットが作成され、各生成アプリケーションのステータスが ステータス 列に表示されます(マルチクラスター GitOps ページ)。

    4f94c85b2da653c00f17f6e3439ce9ce

  7. 生成されたアプリケーションを確認するには、アプリケーションセット名の横にある アプリケーション 列の数字をクリックします。このアプリケーションセットから作成されたすべてのアプリケーションのまとめが表示されます。その後、アプリケーション名 をクリックして、該当アプリケーションの Argo CD UI を開きます。

    cc83f3c5287d42465e7803337cd399d3