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

Container Service for Kubernetes:GitOps の開始

最終更新日:Jun 18, 2026

GitOps を有効にし、Git リポジトリを接続し、最初のアプリケーションを宛先クラスターにデプロイします。

このガイドを完了すると、以下のことができるようになります。

  • Argo CD コンソールへのパブリックアクセスが有効になる

  • Git リポジトリが Argo CD に接続される

  • アプリケーションが宛先クラスターにデプロイされる

前提条件

開始する前に、以下が準備できていることを確認してください。

課金

GitOps を有効にすると、以下の課金対象リソースが作成されます。

  • Argo CD API と UI エンドポイントを公開するための Server Load Balancer (SLB) インスタンス

  • Argo CD サービス用の 2 vCPU、4 GB メモリの従量課金の Elastic Container Instance (ECI) インスタンス

詳細については、「マルチクラスターフリートのクラウドリソースの課金」をご参照ください。

サポートされているリージョン

GitOps は、マルチクラスターフリートとワークフロークラスターをサポートするすべてのリージョンで利用できます。

ステップ 1:GitOps コンソールへのパブリックアクセスを有効にする

GitOps は ACK One フリートインスタンスでデフォルトで有効になっていますが、Argo CD コンソールは Virtual Private Cloud (VPC) 内からのみアクセス可能です。インターネット経由でアプリケーションを管理するには、パブリックアクセスを有効にする必要があります。

重要

パブリックアクセスを有効にすると、セキュリティリスクが生じます。アクセスを信頼できる IP アドレスまたは CIDR ブロックに制限するために、必ずアクセス制御リスト (ACL) を設定してください。

コンソールの使用

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

  2. [マルチクラスター GitOps] ページで、フリート名の横にある Dingtalk_20231226104633.jpg アイコンをクリックし、フリートを選択します。

  3. GitOps が有効になっていない場合は、[GitOps の有効化] をクリックし、[OK] をクリックします。すでに有効になっている場合は、[GitOps コンソール] ボタンが表示されます。

  4. [パブリックアクセス] の横にある [有効化] をクリックします。[パブリックアクセスの有効化] ダイアログボックスで、ホワイトリストに追加する IP アドレスまたは CIDR ブロックを入力し、[OK] をクリックします。

  5. 更新が完了したら、[GitOps コンソール] をクリックして Argo CD コンソールを開きます。

Alibaba Cloud CLI の使用

GitOps とパブリックアクセスを同時に有効にできます。<your_clusterid> をフリートインスタンス ID に、AccessControlList の値を信頼できる CIDR ブロックに置き換えてください。

CIDR ブロックの詳細については、「Argo CD へのパブリックアクセスを有効にする」をご参照ください。

aliyun adcp UpdateHubClusterFeature --ClusterId <your_clusterid> --PublicAccessEnabled true --AccessControlList "[\"10.100.XX.XX/24\"]" --ArgoCDEnabled true
RAM ユーザーの AccessKey を使用する場合は、まず RAM ユーザーに AliyunAdcpFullAccess 権限を付与してください。詳細については、「RAM ユーザーへの権限付与」をご参照ください。

ステップ 2:宛先クラスターへのアプリケーションのデプロイ

Git リポジトリを接続し、gitops-demo の例を使用してアプリケーションをデプロイします。Argo CD UI または CLI のいずれかを使用できます。

Argo CD UI を使用したデプロイ

Argo CD へのログイン

[マルチクラスター GitOps] ページで、[GitOps コンソール] をクリックします。サインインページで、[LOG IN VIA ALIYUN] をクリックして、シングルサインオン (SSO) を使用して Alibaba Cloud アカウントでサインインします。

リポジトリの接続

  1. 左側のナビゲーションウィンドウで [Settings] をクリックし、[Repositories] > [+ Connect Repo] を選択します。

  2. 以下のパラメーターを設定し、[CONNECT] をクリックします。成功すると、[CONNECTION STATUS][Successful] と表示されます。

    エリア パラメーター
    接続方法の選択 VIA HTTP/HTTPS
    HTTP/HTTPSを使用したリポジトリ接続 タイプ git
    プロジェクト default
    リポジトリ URL https://github.com/AliyunContainerService/gitops-demo.git
    サーバー検証のスキップ このチェックボックスを選択します

    image.png

    image.png

アプリケーションの作成

  1. 左側のナビゲーションウィンドウで [Applications] を選択し、[+ NEW APP] をクリックします。

  2. 以下のパラメーターを設定し、[CREATE] をクリックします。

    エリア パラメーター
    全般 Application Name echo-server-demo
    プロジェクト名 default
    同期ポリシー [Automatic] を選択します。Argo CD は 3 分ごとにリポジトリをチェックし、変更を自動デプロイします。[Manual] の場合は、[SYNC] をクリックしてデプロイをトリガーします。
    同期オプション [Namespace の自動作成] を選択します
    ソース リポジトリ URL https://github.com/AliyunContainerService/gitops-demo.git を選択します
    リビジョン HEAD
    Path manifests/helm/echo-server
    デスティネーション クラスターURL 宛先クラスターを選択します
    Namespace echo-server-demo
    Helm VALUES ファイル values.yaml
  3. [アプリケーション] ページで、echo-server-demo アプリケーションに ステータス: 正常同期済み が表示されていることを確認します。[同期ポリシー]手動 に設定した場合は、[同期] をクリックしてデプロイをトリガーします。

    image.png

  4. アプリケーション名をクリックして、その Kubernetes リソースのトポロジとステータスを表示できます。

    image.png

Argo CD CLI を使用したデプロイ

Argo CD へのログイン

  1. Argo CD CLI v2.8.7 をダウンロードしてインストールします。

  2. フリートインスタンスから初期管理者パスワードを取得します。

    kubectl -n argocd get secret argocd-initial-admin-secret -o jsonpath="{.data.password}" | base64 -d
  3. ポートフォワーディングを使用してログインします。デフォルトのユーザー名は admin です。

    export ARGOCD_OPTS='--port-forward-namespace argocd --port-forward'
    
    argocd login
    Username: admin
    Password:

    期待される出力:

    'admin:login' logged in successfully
    Context 'port-forward' updated
  4. デフォルトの admin パスワードを更新します。

    argocd account update-password
    *** Enter password of currently logged in user (admin):
    *** Enter new password for user admin:
    *** Confirm new password for user admin:

    期待される出力:

    Password updated
    Context 'port-forward' updated

リポジトリの接続

  1. Git リポジトリを追加します。

    argocd repo add https://github.com/AliyunContainerService/gitops-demo.git --name echo-server

    期待される出力:

    Repository 'https://github.com/AliyunContainerService/gitops-demo.git' added
  2. リポジトリが追加されたことを確認します。

    argocd repo list

    期待される出力:

    TYPE  NAME  REPO                                                       INSECURE  OCI    LFS    CREDS  STATUS      MESSAGE  PROJECT
    git         https://github.com/AliyunContainerService/gitops-demo.git  false     false  false  false  Successful           default
  3. 利用可能なクラスターを一覧表示します。出力には、フリートインスタンスに関連付けられているすべてのクラスターが表示されます。

    argocd cluster list

    期待される出力:

    SERVER                          NAME                                        VERSION  STATUS      MESSAGE                                                  PROJECT
    https://47.97.XX.XX:6443      c83f3cbc90a****-temp02   1.22+    Successful
    https://kubernetes.default.svc  in-cluster                                           Unknown     Cluster has no applications and is not being monitored.

    次のステップのために、宛先クラスターのサーバー URL をメモしておいてください。

アプリケーションの作成と同期

  1. アプリケーションを作成します。https://47.97.XX.XX:6443 を宛先クラスターのサーバー URL に置き換えてください。

    argocd app create echo-server-demo --repo https://github.com/AliyunContainerService/gitops-demo.git --path manifests/helm/echo-server --dest-namespace echo-server-demo --dest-server https://47.97.XX.XX:6443

    期待される出力:

    application 'echo-server-demo' created
  2. アプリケーションを宛先クラスターに同期します。

    argocd app sync echo-server-demo

    期待される出力:

    TIMESTAMP                  GROUP        KIND   NAMESPACE                       NAME    STATUS    HEALTH        HOOK  MESSAGE
    2022-09-22T14:32:45+08:00            Service  echo-server-demo           echo-server-demo  OutOfSync  Missing
    2022-09-22T14:32:45+08:00   apps  Deployment  echo-server-demo           echo-server-demo  OutOfSync  Missing
    2022-09-22T14:32:45+08:00            Service  echo-server-demo           echo-server-demo    Synced  Progressing
    2022-09-22T14:32:45+08:00            Service  echo-server-demo           echo-server-demo    Synced   Progressing              service/echo-server-demo created
    2022-09-22T14:32:45+08:00   apps  Deployment  echo-server-demo           echo-server-demo  OutOfSync  Missing                  deployment.apps/echo-server-demo created
    2022-09-22T14:32:45+08:00   apps  Deployment  echo-server-demo           echo-server-demo    Synced  Progressing              deployment.apps/echo-server-demo created
    
    Name:               echo-server-demo
    Project:            default
    Server:             https://47.97.XX.XX:6443
    Namespace:          echo-server-demo
    URL:                https://127.0.0.1:52742/applications/echo-server-demo
    Repo:               https://github.com/AliyunContainerService/gitops-demo.git
    Target:
    Path:               manifests/helm/echo-server
    SyncWindow:         Sync Allowed
    Sync Policy:        <none>
    Sync Status:        Synced to  (e5c2618)
    Health Status:      Progressing
    
    Operation:          Sync
    Sync Revision:      e5c261880a4072cdbfa5173add2be426f7f3****
    Phase:              Succeeded
    Start:              2022-09-22 14:32:44 +0800 CST
    Finished:           2022-09-22 14:32:45 +0800 CST
    Duration:           1s
    Message:            successfully synced (all tasks run)
    
    GROUP  KIND        NAMESPACE        NAME         STATUS  HEALTH       HOOK  MESSAGE
           Service     echo-server-demo  echo-server-demo  Synced  Progressing        service/echo-server-demo created
    apps   Deployment  echo-server-demo  echo-server-demo  Synced  Progressing        deployment.apps/echo-server-demo created
  3. アプリケーションが実行中であることを確認してください。

    argocd app list

    期待される出力:

    NAME               CLUSTER                     NAMESPACE         PROJECT  STATUS  HEALTH   SYNCPOLICY  CONDITIONS  REPO                                                     PATH                        TARGET
    echo-server-demo   https://47.97.XX.XX:6443  echo-server-demo  default  Synced  Healthy  <none>      <none>      https://github.com/AliyunContainerService/gitops-demo.git  manifests/helm/echo-server

    [STATUS][Synced] で、[HEALTH][Healthy] の場合、アプリケーションはデプロイされています。

関連操作

GitOps の設定を維持するには、以下の操作を実行してください。

Argo CD ConfigMap の設定

  1. [マルチクラスター GitOps] ページの [GitOps] 折りたたみセクションで [Argo CD ConfigMap] を見つけてください。

  2. [Argo CD ConfigMap] の横にある [設定] をクリックします。

  3. [Argo CD ConfigMap 設定] ページで、[設定項目の選択] ドロップダウンリストから設定項目を選択し、[設定の変更] コードエディターで編集します。再起動ポリシーについては、「共通の設定項目」をご参照ください。

Argo CD コンポーネントの再起動

  1. [マルチクラスター GitOps] ページの [GitOps] 折りたたみセクションで [Argo CD コンポーネント] を見つけてください。

  2. [Argo CD コンポーネント] の横にある [再起動] をクリックします。

  3. [再起動するアプリケーションの選択] ドロップダウンリストからコンポーネント (例: argocd-server) を選択し、[OK] をクリックします。

GitOps の無効化

GitOps を無効にする前に、すべてのアプリケーションを削除してください。ACK One フリートインスタンスを削除する前に、GitOps を無効にしてください。

コンソールの使用:

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

  2. [マルチクラスター GitOps] ページで、Dingtalk_20231226104633.jpg アイコンをクリックし、フリートを選択します。

  3. [GitOps の無効化] をクリックし、[OK] をクリックします。

Alibaba Cloud CLI の使用:

aliyun adcp UpdateHubClusterFeature --ClusterId <your_clusterid> --ArgoCDEnabled false

次のステップ