1.11. ArgoCD エージェントを伴う Red Hat OpenShift GitOps アドオンを有効にする


プルモデルの Agent モードは、OpenShift GitOps アドオンを、ArgoCD エージェントを伴う Advanced プルモデル向けに有効化し、アプリケーションの健全性について詳細なステータスを取得できるようにします。この Agent モードは、ネットワーク制限やセキュリティー要件が強化されている環境、またはアプリケーション配信にプルモデルを実装する場合に使用します。高度なプルモデルは ArgoCD エージェントによって実行され、完全に自動化された OpenShift GitOps エクスペリエンスを提供します。

ArgoCD エージェントで OpenShift GitOps アドオンを有効にするには、次のセクションを完了します。

前提条件

  • Red Hat Advanced Cluster Management ハブクラスターがインストールされている。
  • Red Hat Advanced Cluster Management に登録されたマネージドクラスター
  • ハブクラスターにインストールされた OpenShift GitOps Operator
  • ターゲットマネージドクラスターを選択するための Placement リソース
  • ターゲット namespace にバインドされた ManagedClusterSet
  • ArgoCD エージェント環境で設定された OpenShift GitOps Operator サブスクリプション
  • Agent モード用に設定された ArgoCD カスタムリソース

1.11.1. サブスクリプションとリソースの設定

ArgoCD エージェントを有効にするには、OpenShift GitOps Operator のサブスクリプションと ArgoCD カスタムリソースを設定する必要があります。必要なサブスクリプションとリソースを設定するには、次の手順を実行します。

  1. ハブクラスターでのみ、次のコマンドを実行して、OpenShift GitOps Operator サブスクリプションを変更し、必要な環境変数を含めます。

    oc edit subscription gitops-operator -n openshift-gitops-operator
    Copy to Clipboard Toggle word wrap
  2. 次の YAML サンプルを追加して、次の環境変数を spec.config.env ファイルに追加します。

    spec:
      config:
        env:
        - name: ARGOCD_CLUSTER_CONFIG_NAMESPACES
          value: openshift-gitops
        - name: ARGOCD_PRINCIPAL_TLS_SERVER_ALLOW_GENERATE
          value: "false"
        - name: ARGOCD_PRINCIPAL_REDIS_SERVER_ADDRESS
          value: openshift-gitops-redis:6379
    Copy to Clipboard Toggle word wrap
  3. 次の YAML サンプルを追加して、既存の ArgoCD カスタムリソースを互換性のある Agent モード設定に置き換えます。

    apiVersion: argoproj.io/v1beta1
    kind: ArgoCD
    metadata:
      name: openshift-gitops
      namespace: openshift-gitops
    spec:
      controller:
        enabled: false
      argoCDAgent:
        principal:
          allowedNamespaces:
          - '*'
          auth: mtls:CN=system:open-cluster-management:cluster:([^:]+):addon:gitops-addon:agent:gitops-addon-agent
          enabled: true
    Copy to Clipboard Toggle word wrap
  4. 次のコマンドを実行して、YAML サンプルを適用します。

    oc apply -f argocd-example.yaml
    Copy to Clipboard Toggle word wrap
    • 注記: ハブクラスターのみで、この設定により従来の ArgoCD コントローラーが無効になり、相互 TLS 認証を使用したエージェントプリンシパルが有効になります。

1.11.2. ArgoCD エージェントの有効化

ArgoCD エージェントアドオンのデプロイメントを管理するための GitOpsCluster リソースを作成します。コントローラーは、Placement によって選択された各マネージドクラスターに対して、以下のリソースを自動的に作成します。

GitOpsCluster コントローラーは、次の操作を実行します。

  • PKI 管理を作成して自動化する
  • エージェントモード用に設定された ArgoCD クラスターシークレットを作成する
  • 選択された各マネージドクラスターに Argo CD Agent をデプロイする

高度なプルモデル Argo CD Agent アーキテクチャーを有効にするには、次の手順を実行します。

  1. マネージドクラスターで、次の YAML サンプルを追加して、ArgoCD エージェントが有効になっている GitOpsCluster` リソースを作成します。

    apiVersion: apps.open-cluster-management.io/v1beta1
    kind: GitOpsCluster
    metadata:
      name: gitops-agent-clusters
      namespace: openshift-gitops
    spec:
      argoServer:
        argoNamespace: openshift-gitops
      placementRef:
        kind: Placement
        apiVersion: cluster.open-cluster-management.io/v1beta1
        name: production-clusters
        namespace: openshift-gitops
      gitopsAddon:
        enabled: true
        argoCDAgent:
          enabled: true
    Copy to Clipboard Toggle word wrap
  2. 次のコマンドを実行して、YAML サンプルを適用します。

    oc apply -f gitopscluster-example.yaml
    Copy to Clipboard Toggle word wrap

1.11.3. ArgoCD のインストールの検証

ArgoCD エージェントが正常にデプロイされたら、ハブクラスターにアプリケーションを作成し、それがマネージドクラスターで動作することを確認することで、高度な Pull Model ワークフローが完了したことを確認します。

正常なデプロイメントに必要なインストールとリソースを確認するには、次の手順を実行します。

  1. 次のコマンドを実行して、特定の Agent 条件の GitOpsCluster ステータスを確認します。

    oc get gitopscluster gitops-agent-clusters -n openshift-gitops -o jsonpath='{.status.conditions}' | jq
    Copy to Clipboard Toggle word wrap
  2. ステータスに次の条件タイプが表示されていることを確認します。

    • Ready: GitOpsCluster の準備が完了し、すべてのコンポーネントが機能しています。
    • PlacementResolved: Placement 参照が解決され、マネージドクラスターが取得済みです。
    • ClustersRegistered: マネージドクラスターが ArgoCD サーバーに正常に登録されています。
    • AddOnDeploymentConfigsReady: すべてのマネージドクラスターに対して AddOnDeploymentConfigs が作成済みです。
    • ManagedClusterAddOnsReady: ManagedClusterAddons は、マネージドクラスターを作成および更新します。
    • AddOnTemplateReady: ArgoCD エージェントモード用に作成された動的 AddOnTemplate
    • ArgoCDAgentPrereqsReady: エージェントの前提条件がセットアップされています。
    • CertificatesReady: TLS 証明書が署名されています。
    • ManifestWorksApplied: マネージドクラスターに伝播された CA 証明書。
  3. 次の YAML ファイルを追加して、マネージドクラスター namespace に ArgoCD アプリケーションリソースを作成します。

    apiVersion: argoproj.io/v1alpha1
    kind: Application
    metadata:
      name: guestbook
      namespace: <managed cluster name>
    spec:
      project: default
      source:
        repoURL: https://github.com/argoproj/argocd-example-apps.git
        targetRevision: HEAD
        path: guestbook
      destination:
        server: https://<principal-external-ip:port>?agentName=<managed cluster name>
        namespace: guestbook
      syncPolicy:
        automated:
          prune: true
          selfHeal: true
    Copy to Clipboard Toggle word wrap
  4. 次のコマンドを実行して、YAML サンプルを適用します。

    oc apply -f application-example.yaml
    Copy to Clipboard Toggle word wrap
  5. マネージドクラスターで、次のコマンドを実行して、アプリケーションリソースがデプロイされていることを確認します。

    oc get all -n guestbook
    Copy to Clipboard Toggle word wrap
  6. ハブクラスターで次のコマンドを実行して、アプリケーションステータスが反映されていることを確認します。

    oc get application guestbook -n <managed cluster name>
    Copy to Clipboard Toggle word wrap
  7. アプリケーションが正常にデプロイされたら、ステータスが Synced と表示されていることを確認します。

関連情報

Red Hat OpenShift GitOps アドオンの管理 を完了して、OpenShift GitOps アドオンのセットアップを続行します。

トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

Theme

© 2025 Red Hat