1.8. Red Hat OpenShift GitOps インスタンスのデプロイ (テクノロジープレビュー)


GitOps アドオンを使用すると、すべての種類の Red Hat OpenShift Container Platform および非 OpenShift Container Platform マネージドクラスターにある、ArgoCD プルモデル用の OpenShift GitOps インスタンスのライフサイクルを管理できます。

ハブクラスターのクラスター namespace に gitops-addon ManagedClusterAddOn アドオンを作成すると、OpenShift GitOps インスタンスのインストール、アップグレード、および削除を管理するマネージドクラスターに GitOps アドオンがデプロイされます。

GitOps アドオンによってデプロイされる OpenShift GitOps インスタンスは、主に Red Hat Advanced Cluster Management の ArgoCD プルモデルに使用されます。したがって、ユーザーがアクセスできるのは、マネージドクラスターにインストールされている次のコンポーネントだけです。

  • OpenShift GitOps アプリケーションコントローラー
  • OpenShift GitOps リポジトリーサーバー
  • OpenShift GitOps Redis サーバー

ArgoCD プルモデル用の OpenShift GitOps インスタンスをデプロイするには、次のセクションの手順を実行します。

1.8.1. マネージドクラスターへの OpenShift GitOps インスタンスのインストール

Red Hat Advanced Cluster Management を最新バージョンにアップグレードすると、すべてのマネージドクラスター上の OpenShift GitOps インスタンスが自動的にアップグレードされ、GitOps アドオンとバンドルされます。

マネージドクラスターに OpenShift GitOps インスタンスをインストールするには、次の手順を実行します。

  1. ハブクラスターの選択したクラスター namespace で、次の YAML サンプルを適用して managedClusterAddon リソースを作成します。

    apiVersion: addon.open-cluster-management.io/v1alpha1
    kind: ManagedClusterAddOn
    metadata:
      name: gitops-addon
      namespace: <Cluster-Name>
    spec:
      installNamespace: open-cluster-management-agent-addon
    Copy to Clipboard Toggle word wrap
  2. 次のコマンドを実行して、マネージドクラスター上で gitops-addon controller が実行されていることを確認します。

    oc get pods -n open-cluster-management-agent-addon
    Copy to Clipboard Toggle word wrap
  3. 次のコマンドを実行して、OpenShift GitOps Operator が openshift-gitops-operator namespace で実行されていることを確認します。

    oc get pods -n openshift-gitops-operator
    Copy to Clipboard Toggle word wrap
  4. 次のコマンドを実行して、OpenShift GitOps インスタンスが openshift-gitops namespace で実行されていることを確認します。

    oc get pods -n openshift-gitops
    Copy to Clipboard Toggle word wrap
  5. OpenShift GitOps インスタンスに障害が発生した場合は、確認する必要がある障害に応じて、次の場所からログを確認します。

    1. マネージドクラスターに移動して次のコマンドを実行し、GitOps アドオンコントローラーのログを確認します。

      oc logs -n open-cluster-management-agent-addon -l app=gitops-addon
      Copy to Clipboard Toggle word wrap
    2. マネージドクラスターに移動して次のコマンドを実行し、OpenShift Container Platform GitOps Operator マネージャーのログを確認します。

      oc get pods -n openshift-gitops-operator
      Copy to Clipboard Toggle word wrap
    3. マネージドクラスターに移動して次のコマンドを実行し、OpenShift Container Platform GitOps コンポーネントのログを確認します。
    oc get pods -n openshift-gitops
    Copy to Clipboard Toggle word wrap

1.8.2. OpenShift GitOps インスタンスと Operator のアップグレード

現在のバージョン以外のバージョンにアップグレードする場合は、OpenShift GitOps Operator とそのインスタンスを手動で目的のバージョンにアップグレードする必要があります。

AddOnDeploymentConfiggitops-addon ClusterManagementAddon に接続すると、指定したイメージタグが常に OpenShift GitOps Operator とそのインスタンスに適用されます。Operator とそのインスタンスの最新バージョンは、自動的に更新されません。最新バージョンを適用するには、デフォルトの AddOnDeploymentConfig でカスタムイメージ設定 GITOPS_OPERATOR_IMAGE, GITOPS_IMAGE, REDIS_IMAGE を削除します。

OpenShift GitOps インスタンスと Operator をアップグレードするには、次の手順を実行します。

  1. 次の YAML サンプルを適用して、AddOnDeploymentConfig カスタムイメージを作成します。

    apiVersion: addon.open-cluster-management.io/v1alpha1
    kind: AddOnDeploymentConfig
    metadata:
      name: gitops-addon-config
      namespace: <namespace> 
    1
    
    spec:
      customizedVariables:
      - name: GITOPS_OPERATOR_IMAGE
        value: <string> 
    2
    
      - name: GITOPS_IMAGE
        value: <string> 
    3
    
      - name: REDIS_IMAGE
        value: <string> 
    4
    Copy to Clipboard Toggle word wrap
    1
    必要な namespace を追加します。
    2
    OpenShift GitOps Operator の新しいイメージとタグを指定します。たとえば、registry.redhat.io/openshift-gitops-1/gitops-rhel8-operator@sha256:73f13a5587bbfbea5a64bd3507120eb83b6be85088139c6d65a9aa9cd56e186a です。
    3
    OpenShift GitOps インスタンスの新しいイメージとタグを指定します。たとえば、registry.redhat.io/openshift-gitops-1/argocd-rhel8@sha256:706d5c99715eece77616135da2fbf90863b7aef17fd64ab03bf7dd20877490ec です。
    4
    OpenShift GitOps Redis の新しいイメージとタグを指定します。たとえば、registry.redhat.io/rhel8/redis-6@sha256:a848cc4edb4405846c673187dd68ce66c328dd1ad42f193f5737288c7971399d です。
  2. 次の YAML サンプルを適用して、addondeploymentconfigs リソースの defaultConfig 名と namespace を指定し、AddOnDeploymentConfiggitops-addon ClusterManagementAddon に接続します。

    apiVersion: addon.open-cluster-management.io/v1alpha1
    kind: ClusterManagementAddOn
    metadata:
      name: gitops-addon
      annotations:
        addon.open-cluster-management.io/lifecycle: "gitops-addon"
    spec:
      addOnMeta:
        description: gitops-addon
        displayName: gitops-addon
      supportedConfigs:
      - group: addon.open-cluster-management.io
        resource: addondeploymentconfigs
        defaultConfig:
          name: gitops-addon-config
          namespace: ocm 
    1
    
      - group: addon.open-cluster-management.io
        resource: addontemplates
        defaultConfig:
          name: gitops-addon
    Copy to Clipboard Toggle word wrap
    1
    AddOnDeploymentConfig で指定した namespace。
  3. マネージドクラスターで、OpenShift GitOps Operator Pod とインスタンス Pod が新しいイメージタグを使用して再起動されていることを確認します。
  4. OpenShift GitOps インスタンスに障害が発生した場合は、確認する必要がある障害に応じて、次の場所からログを確認します。

    1. マネージドクラスターに移動して次のコマンドを実行し、GitOps アドオンコントローラーのログを確認します。

      oc logs -n open-cluster-management-agent-addon -l app=gitops-addon
      Copy to Clipboard Toggle word wrap
    2. マネージドクラスターに移動して次のコマンドを実行し、OpenShift Container Platform GitOps Operator マネージャーのログを確認します。

      oc get pods -n openshift-gitops-operator
      Copy to Clipboard Toggle word wrap
    3. マネージドクラスターに移動して次のコマンドを実行し、OpenShift Container Platform GitOps コンポーネントのログを確認します。
    oc get pods -n openshift-gitops
    Copy to Clipboard Toggle word wrap

1.8.3. OpenShift GitOps インスタンスと Operator の削除

OpenShift GitOps Operator が削除された後も、依存するすべての ArgoCD カスタムリソース定義 (CRD) は残ります。そのため、Operator の削除によって既存のすべての ArgoCD アプリケーションが削除されることはありません。

OpenShift GitOps Operator を同じデフォルトの namespace に再インストールできます。OpenShift GitOps Operator は、必ずデフォルトの namespace openshift-gitops- operator にインストールしてください。OpenShift GitOps Operator は、Operator のインストール namespace に関係なく、任意の namespace の ArgoCD リソースを監視します。

OpenShift GitOps インスタンスと Operator を削除するには、次の手順を実行します。

  1. 次の YAML サンプルを適用して、OpenShift GitOps インスタンスを削除します。

    apiVersion: addon.open-cluster-management.io/v1alpha1
    kind: AddOnDeploymentConfig
    metadata:
      name: gitops-addon-config
      namespace:<namespace> 
    1
    
    spec:
      customizedVariables:
      - name: ACTION
        value: Delete-Instance
    Copy to Clipboard Toggle word wrap
    1
    これは、gitop-addon ClusterManagementAddOn に接続されたデフォルトの AddOnDeploymentConfig を作成したときに指定した namespace です。
  2. 次の YAML サンプルを適用して、OpenShift GitOps Operator を削除します。

    apiVersion: addon.open-cluster-management.io/v1alpha1
    kind: AddOnDeploymentConfig
    metadata:
      name: gitops-addon-config
      namespace: <namespace> 
    1
    
    spec:
      customizedVariables:
      - name: ACTION
        value: Delete-Operator
    Copy to Clipboard Toggle word wrap
    1
    これは、gitop-addon ClusterManagementAddOn に接続されたデフォルトの AddOnDeploymentConfig を作成したときに指定した namespace です。

1.8.4. 任意の namespace で ArgoCD アプリケーションをリコンサイルする

任意の namespace 内の ArgoCD アプリケーションをリコンサイルするように、OpenShift GitOps インスタンスを設定できます。

任意の namespace 内の ArgoCD アプリケーションをリコンサイルするには、次の手順を実行します。

  1. リンクされたデフォルトの AddOnDeploymentConfig で、次の YAML サンプルを適用して、カスタマイズした変数 RECONCILE_SCOPEAll-Namespaces に指定します。

    apiVersion: addon.open-cluster-management.io/v1alpha1
    kind: AddOnDeploymentConfig
    metadata:
      name: gitops-addon-config
      namespace: <namespace> 
    1
    
    spec:
      customizedVariables:
      - name: RECONCILE_SCOPE
        value: 
    2
    Copy to Clipboard Toggle word wrap
    1
    これは、gitop-addon ClusterManagementAddOn に接続されたデフォルトの AddOnDeploymentConfig を作成したときに指定した namespace です。
    2
    この値には 2 つのオプションがあります。All-Namespaces: GitOps ArgoCD インスタンスは、すべての namespace でアプリケーションをリコンサイルできます。Single-Namespace: GitOps ArgoCD インスタンスは、GitOps ArgoCD インスタンスが実行されている namespace でのみアプリケーションをリコンサイルできます。

1.8.5. 別の namespace に OpenShift GitOps インスタンスをインストールする

デフォルトでは、OpenShift GitOps インスタンスは openshift-gitops namespace にインストールされます。OpenShift GitOps インスタンスを別の namespace にインストールする場合は、次の手順を実行します。

  1. 次の YAML サンプルを適用して、OpenShift GitOps インスタンスを削除します。

    apiVersion: addon.open-cluster-management.io/v1alpha1
    kind: AddOnDeploymentConfig
    metadata:
      name: gitops-addon-config
      namespace: <namespace> 
    1
    
    spec:
      customizedVariables:
      - name: ACTION
        value: Delete-Instance
    Copy to Clipboard Toggle word wrap
    1
    これは、gitop-addon ClusterManagementAddOn に接続されたデフォルトの AddOnDeploymentConfig を作成したときに指定した namespace です。
  2. 次のコマンドを実行して、OpenShift GitOps インスタンスが削除されたことを確認します。

    oc get pods -n openshift-gitops
    Copy to Clipboard Toggle word wrap
  3. 次の YAML サンプルを適用して、OpenShift GitOps インスタンスを別の namespace にインストールします。

    apiVersion: addon.open-cluster-management.io/v1alpha1
    kind: AddOnDeploymentConfig
    metadata:
      name: gitops-addon-config
      namespace: <namespace> 
    1
    
    spec:
      customizedVariables:
      - name: GITOPS_NAMESPACE
        value: openshift-gitops-2
    Copy to Clipboard Toggle word wrap
    1
    これは、gitop-addon ClusterManagementAddOn に接続されたデフォルトの AddOnDeploymentConfig を作成したときに指定した namespace です。
  4. 次のコマンドを実行して、OpenShift GitOps インスタンスが新しい namespace に適用されていることを確認します。

    oc get pods -n openshift-gitops-2
    Copy to Clipboard Toggle word wrap
トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

Theme

© 2025 Red Hat