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

Container Service for Kubernetes:アプリケーション管理

最終更新日:Apr 27, 2025

このトピックでは、GitOps を使用してアプリケーションを管理する方法について説明します。 GitOps を使用して、アプリケーションの作成、デプロイ、更新、およびロールバックを行うことができます。

前提条件

アプリケーションの作成とデプロイ

このトピックでは、echo-server-demo という名前のアプリケーションを作成し、Container Service for Kubernetes (ACK) クラスタにデプロイします。 ACK クラスタの API サーバーのアドレスは https://47.97.XX.XX:6443 です。

説明

ネットワークの問題で GitHub にアクセスできない場合は、https://github.com/AliyunContainerService/gitops-demo.githttps://code.aliyun.com/shuwei.hsw/gitops-demo.git に置き換えてください。

Argo CD コンソールの使用

  1. Argo CD UI にログインします。 詳細については、「Argo CD UI を使用して Argo CD にログインする」をご参照ください。

  2. Argo CD UI の左側のナビゲーションウィンドウで、[アプリケーション] をクリックし、次に [+ 新規アプリ] をクリックします。

  3. 表示されたパネルで、次のパラメーターを設定し、[作成] をクリックします。

    セクション

    パラメーター

    [全般]

    [アプリケーション名]

    echo-server-demo

    [プロジェクト名]

    [デフォルト]

    [同期ポリシー]

    ドロップダウンリストから [自動] を選択します。

    有効な値:

    • [手動]: Git リポジトリからアプリケーションがデプロイされているクラスタへの変更を手動で同期する必要があります。

    • [自動]: ArgoCD サーバーは 3 分ごとに Git リポジトリをスキャンし、アプリケーションがデプロイされているクラスタに変更を同期します。

    [同期オプション]

    [名前空間の自動作成] を選択します。

    [ソース]

    [リポジトリ URL]

    ドロップダウンリストから Git リポジトリを選択します。 この例では、[https://github.com/AliyunContainerService/gitops-demo.git] が選択されています。

    [リビジョン]

    [HEAD]

    [パス]

    manifests/helm/echo-server

    [デスティネーション]

    [クラスタ URL/クラスタ名]

    ドロップダウンリストからクラスタを選択します。

    [名前空間]

    echo-server-demo

    [HELM]

    [値ファイル]

    values.yaml

  4. echo-server-demo という名前のアプリケーションが作成された後、[アプリケーション] ページでアプリケーションのステータスを表示できます。

    [同期ポリシー][手動] に設定されている場合は、[同期] をクリックして、指定されたクラスタにアプリケーションを手動でデプロイする必要があります。 アプリケーションのステータスが ステータス正常同期済み と に変わると、アプリケーションはデプロイされます。

    image.png

Argo CD CLI を使用する

  1. echo-server-demo という名前のアプリケーションを作成するには、次のコマンドを実行します。

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

    予想される出力:

    application 'echo-server-demo' created

    次の表は、コマンドのパラメーターについて説明しています。

    パラメーター

    説明

    repo

    アプリケーションの作成に使用される Git リポジトリのアドレス。

    path

    echo-server-demo アプリケーションの YAML ファイルのサブディレクトリ。

    dest-server

    ACK クラスタの API サーバーのエンドポイント。

    dest-namespace

    アプリケーションがデプロイされる名前空間。

    sync-policy

    アプリケーションの同期ポリシー。 デフォルト値: none。 有効な値: auto および none

    • auto: GitOps システムは、Git リポジトリを定期的にスキャンして echo-server アプリケーションの変更を確認し、指定されたクラスタにデプロイされたアプリケーションに自動的に変更を同期します。

    • none: 指定されたクラスタにデプロイされたアプリケーションへの変更を手動で同期する必要があります。

  2. echo-server-demo アプリケーションを指定されたクラスタにデプロイするには、次のコマンドを実行します。

    argocd app sync echo-server-demo

    予想される出力:

    TIMESTAMP                  GROUP        KIND         NAMESPACE                 NAME         STATUS      HEALTH        HOOK  MESSAGE
    2022-10-17T16:43:20+08:00  apps         Deployment   echo-server-demo          echo-server  OutOfSync   Missing
    2022-10-17T16:43:20+08:00               Service      echo-server-demo          echo-server  OutOfSync   Missing
    2022-10-17T16:43:20+08:00               Service      echo-server-demo          echo-server  Synced      Progressing
    2022-10-17T16:43:20+08:00               Service      echo-server-demo          echo-server  Synced      Progressing         service/echo-server-demo created
    2022-10-17T16:43:20+08:00  apps         Deployment   echo-server-demo          echo-server  OutOfSync   Missing             deployment.apps/echo-server-demo created
    2022-10-17T16:43:20+08:00  apps         Deployment   echo-server-demo          echo-server  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:65384/applications/echo-server-demo
    Repo:               https://github.com/AliyunContainerService/gitops-demo.git
    Target:
    Path:               manifests/directory/production
    SyncWindow:         Sync Allowed
    Sync Policy:        <none>
    Sync Status:        Synced to  (02af62b)
    Health Status:      Progressing
    
    Operation:          Sync
    Sync Revision:      02af62bf21e76f53ebfcc282c45865d2308c****
    Phase:              Succeeded
    Start:              2022-10-17 16:43:19 +0800 CST
    Finished:           2022-10-17 16:43:20 +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

アプリケーションの表示

Argo CD コンソールの使用

  1. Argo CD UI の左側のナビゲーションウィンドウで、[アプリケーション] をクリックしてすべてのアプリケーションを表示します。

  2. アプリケーション名をクリックして、アプリケーションの詳細を表示します。 詳細ページには、アプリケーションで使用される Kubernetes リソースのトポロジーとステータスが表示されます。

    image.png

Argo CD CLI の使用

デプロイされているアプリケーションをクエリするには、次のコマンドを実行します。

argocd app list

予想される出力:

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

アプリケーションの更新

GitOps アプリケーションリリースフレームワークでは、アプリケーションを更新する場合、Git リポジトリ内のアプリケーションのソースコードを更新する必要があります。 更新されたコードを Git リポジトリにコミットした後、変更をクラスタに同期できます。

  1. 変更を Git リポジトリにコミットします。

  2. 指定されたクラスタにデプロイされたアプリケーションに変更を同期するには、次のコマンドを実行します。

    argocd app sync echo-server-demo
  3. アプリケーションにアクセスするには、次のコマンドを実行します。

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

    予想される出力:

    "Hello Echo Server v2.0"

アプリケーションのロールバック

Argo CD コンソールの使用

  1. Argo CD UI の左側のナビゲーションウィンドウで、[アプリケーション] をクリックします。 アプリケーションリストで、echo-server-demo アプリケーションを見つけて、その名前をクリックします。

  2. アプリケーション詳細ページで、[履歴とロールバック] をクリックします。 表示される履歴バージョンページで、履歴バージョンを選択し、右上隅にある [ロールバック] をクリックします。

    image

  3. ロールバックが完了したら、詳細ページに戻り、アプリケーションのバージョンを確認します。

Argo CD CLI の使用

  1. 使用可能な履歴バージョンを表示するには、次のコマンドを実行します。

    argocd app history echo-server-demo

    予想される出力:

    ID  DATE                           REVISION
    0   2022-10-17 16:43:20 +0800 CST   (02af62b)
    1   2022-10-17 16:52:49 +0800 CST   (56ae547)

    56ae547 (REVISION 列) は現在のバージョンです。 現在のバージョンの ID は 1 です。

  2. アプリケーションを 02af62b バージョン (REVISION 列) にロールバックするには、次のコマンドを実行します。

    argocd app rollback echo-server-demo 0

    ロールバックが完了したら、アプリケーションにアクセスします。

  3. アプリケーションにアクセスするには、次のコマンドを実行します。

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

    予想される出力:

    "Hello Echo Server v1.0"