ノート:

ワークロード・アイデンティティを使用したArgo CDでのOracle Cloud Infrastructure Kubernetes Engineクラスタの管理

イントロダクション

Argo CDは、Kubernetes向けの宣言的なGitOps継続的デリバリ・ツールです。このチュートリアルが記述された時点では、Argo CDにはOracle Cloud Infrastructure Kubernetes Engine (OKE)のアクセス・トークンの生成に必要なOracle Cloud Infrastructureコマンドライン・インタフェース(OCI CLI)機能がないため、カスタムArgo CDイメージが必要です。

ノート:カスタム・イメージに使用されたベースArgo CDイメージは、quay.io/argoproj/argocd:v2.14.9です。

目的

前提条件

タスク1: OCIコンテナ・レジストリへのArgo CDカスタム・イメージのプッシュ

ノート: Podmanまたはdockerを使用できます。

  1. Dockerfileという名前のファイルをDockerfileからダウンロードします。

  2. 次のコマンドを実行します

    podman build --platform linux/amd64 -t argocd-oci:01 .
    

    ノート:コマンドの最後にあるドット(.)は、Dockerfileが配置されている現在のディレクトリ用です。

  3. 次のコマンドを実行します

    podman tag argocd-oci:01 ocir.**your_region**.oci.oraclecloud.com/**your_tenancy_namespace**/**your_repository_name**/argocd-oci:01
    
  4. 次のコマンドを実行します

    podman login ocir.**your_region**.oci.oraclecloud.com
    
    • ユーザー:
      • アイデンティティ・ドメインを使用する場合: your_tenancy_namespace/OracleIdentityCloudService/your_email
      • デフォルトドメインが使用されている場合: your_tenancy_namespace/your_email
    • パスワードはOCI認証トークンです。
  5. 次のコマンドを実行します

    podman push ocir.**your_region**.oci.oraclecloud.com/**your_tenancy_namespace**/**your_repository_name**/argocd-oci:01
    

タスク2: カスタム・イメージを使用したArgo CDのインストール

ノート:クラスタ認証を行うため、argocd-application-controllerのイメージのみを更新します。

  1. argo-CD/manifests/install.yamlからArgo CDマニフェストをダウンロードしてインストールします。

  2. ファイルを編集して、argocd-application-controllerのイメージを変更します。

    • イメージからの変更: quay.io/argoproj/argocd:latest
    • イメージ: ocir.**your_region**.oci.oraclecloud.com/**your_tenancy_namespace**/**your_repository_name**/argocd-oci:01
  3. 次のコマンドを実行して、argocdネームスペースを作成します。

    kubectl create namespace argocd
    
  4. 次のコマンドを実行して、argocdをデプロイします。

    kubectl apply -f install.yaml -n argocd
    

タスク3: Argo CDクラスタ・リストへのクラスタの追加

  1. Argo CDを起動します。

    ノート: OCIロード・バランサを使用してArgo CDを公開できます。この例では、かわりにport-forwardが使用されます。このためには、ポート転送にのみ追加の端末が必要です。

    1. 2つ目の端末で、次のコマンドを実行します。

      kubectl port-forward service/argocd-server -n argocd 63265:80
      

      ノート:この端末を閉じないでください。Argo CDを稼働状態に保つために使用されているため、前の端末に切り替えてください。

    2. 次のコマンドを使用して、Argo CD管理パスワードを取得します。

      kubectl get secret -n argocd argocd-initial-admin-secret -o jsonpath="{.data.password}" | base64 -d
      
    3. 次のコマンドを使用してログインします(ユーザーはadmin、パスワードは前のコマンドのものです)。

      argocd login 127.0.0.1:63265
      
  2. add_cluster.yamlという名前のファイルをadd_cluster.yamlからダウンロードして編集します。

    ノート:この例では、安全でないTLSを使用していますが、変更できます。

    • cluster_name: Argo CDクラスタ・リストに表示されるクラスタの名前。
    • cluster_api_endpoint: Argo CDクラスタ・リストに追加するクラスタのエンドポイント。
    • cluster_ocid: Argo CDクラスタ・リストに追加するクラスタのOCID。
    • region:クラスタが存在するリージョン。
  3. 次のコマンドを使用して、ファイルを適用し、Argo CDクラスタ・リストにクラスタを追加します。

    kubectl apply -f add_cluster.yaml
    
  4. 次のコマンドを使用して、クラスタがArgo CDクラスタ・リストに追加されたかどうかを確認します。

    argocd cluster list
    

タスク4: Argo CDからクラスタへのアプリケーションのデプロイによるテスト

  1. deploy_example.yamlという名前のファイルをdeploy_example.yamlからダウンロードして編集します。

    • cluster_name:アプリケーションをデプロイするクラスタの名前。
  2. 次のコマンドを使用して、ファイルを適用して単純なアプリケーションをターゲット・クラスタにデプロイします。

    kubectl apply -f deploy-example.yaml
    
  3. 次のコマンドを使用して、アプリケーションが正常にデプロイされたかどうかを確認します。

    argocd app list
    argocd app sync guestbook
    

確認

その他の学習リソース

docs.oracle.com/learnで他のラボを確認するか、Oracle Learning YouTubeチャネルで無料のラーニング・コンテンツにアクセスしてください。また、education.oracle.com/learning-explorerにアクセスして、Oracle Learning Explorerになります。

製品ドキュメントについては、Oracle Help Centerを参照してください。