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 インスタンスをインストールするには、次の手順を実行します。
ハブクラスターの選択したクラスター namespace で、次の YAML サンプルを適用して
managedClusterAddonリソースを作成します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを実行して、マネージドクラスター上で
gitops-addon controllerが実行されていることを確認します。oc get pods -n open-cluster-management-agent-addon
oc get pods -n open-cluster-management-agent-addonCopy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを実行して、OpenShift GitOps Operator が
openshift-gitops-operatornamespace で実行されていることを確認します。oc get pods -n openshift-gitops-operator
oc get pods -n openshift-gitops-operatorCopy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを実行して、OpenShift GitOps インスタンスが
openshift-gitopsnamespace で実行されていることを確認します。oc get pods -n openshift-gitops
oc get pods -n openshift-gitopsCopy to Clipboard Copied! Toggle word wrap Toggle overflow OpenShift GitOps インスタンスに障害が発生した場合は、確認する必要がある障害に応じて、次の場所からログを確認します。
マネージドクラスターに移動して次のコマンドを実行し、GitOps アドオンコントローラーのログを確認します。
oc logs -n open-cluster-management-agent-addon -l app=gitops-addon
oc logs -n open-cluster-management-agent-addon -l app=gitops-addonCopy to Clipboard Copied! Toggle word wrap Toggle overflow マネージドクラスターに移動して次のコマンドを実行し、OpenShift Container Platform GitOps Operator マネージャーのログを確認します。
oc get pods -n openshift-gitops-operator
oc get pods -n openshift-gitops-operatorCopy to Clipboard Copied! Toggle word wrap Toggle overflow - マネージドクラスターに移動して次のコマンドを実行し、OpenShift Container Platform GitOps コンポーネントのログを確認します。
oc get pods -n openshift-gitops
oc get pods -n openshift-gitopsCopy to Clipboard Copied! Toggle word wrap Toggle overflow
1.8.2. OpenShift GitOps インスタンスと Operator のアップグレード リンクのコピーリンクがクリップボードにコピーされました!
現在のバージョン以外のバージョンにアップグレードする場合は、OpenShift GitOps Operator とそのインスタンスを手動で目的のバージョンにアップグレードする必要があります。
AddOnDeploymentConfig を gitops-addon ClusterManagementAddon に接続すると、指定したイメージタグが常に OpenShift GitOps Operator とそのインスタンスに適用されます。Operator とそのインスタンスの最新バージョンは、自動的に更新されません。最新バージョンを適用するには、デフォルトの AddOnDeploymentConfig でカスタムイメージ設定 GITOPS_OPERATOR_IMAGE, GITOPS_IMAGE, REDIS_IMAGE を削除します。
OpenShift GitOps インスタンスと Operator をアップグレードするには、次の手順を実行します。
次の YAML サンプルを適用して、
AddOnDeploymentConfigカスタムイメージを作成します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 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です。
次の YAML サンプルを適用して、
addondeploymentconfigsリソースのdefaultConfig名と namespace を指定し、AddOnDeploymentConfigをgitops-addon ClusterManagementAddonに接続します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
AddOnDeploymentConfigで指定した namespace。
- マネージドクラスターで、OpenShift GitOps Operator Pod とインスタンス Pod が新しいイメージタグを使用して再起動されていることを確認します。
OpenShift GitOps インスタンスに障害が発生した場合は、確認する必要がある障害に応じて、次の場所からログを確認します。
マネージドクラスターに移動して次のコマンドを実行し、GitOps アドオンコントローラーのログを確認します。
oc logs -n open-cluster-management-agent-addon -l app=gitops-addon
oc logs -n open-cluster-management-agent-addon -l app=gitops-addonCopy to Clipboard Copied! Toggle word wrap Toggle overflow マネージドクラスターに移動して次のコマンドを実行し、OpenShift Container Platform GitOps Operator マネージャーのログを確認します。
oc get pods -n openshift-gitops-operator
oc get pods -n openshift-gitops-operatorCopy to Clipboard Copied! Toggle word wrap Toggle overflow - マネージドクラスターに移動して次のコマンドを実行し、OpenShift Container Platform GitOps コンポーネントのログを確認します。
oc get pods -n openshift-gitops
oc get pods -n openshift-gitopsCopy to Clipboard Copied! Toggle word wrap Toggle overflow
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 を削除するには、次の手順を実行します。
次の YAML サンプルを適用して、OpenShift GitOps インスタンスを削除します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- これは、
gitop-addonClusterManagementAddOnに接続されたデフォルトのAddOnDeploymentConfigを作成したときに指定した namespace です。
次の YAML サンプルを適用して、OpenShift GitOps Operator を削除します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- これは、
gitop-addonClusterManagementAddOnに接続されたデフォルトのAddOnDeploymentConfigを作成したときに指定した namespace です。
1.8.4. 任意の namespace で ArgoCD アプリケーションをリコンサイルする リンクのコピーリンクがクリップボードにコピーされました!
任意の namespace 内の ArgoCD アプリケーションをリコンサイルするように、OpenShift GitOps インスタンスを設定できます。
任意の namespace 内の ArgoCD アプリケーションをリコンサイルするには、次の手順を実行します。
リンクされたデフォルトの
AddOnDeploymentConfigで、次の YAML サンプルを適用して、カスタマイズした変数RECONCILE_SCOPEをAll-Namespacesに指定します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- これは、
gitop-addonClusterManagementAddOnに接続されたデフォルトのAddOnDeploymentConfigを作成したときに指定した namespace です。 - 2
- この値には 2 つのオプションがあります。
All-Namespaces: GitOpsArgoCDインスタンスは、すべての namespace でアプリケーションをリコンサイルできます。Single-Namespace:GitOpsArgoCDインスタンスは、GitOpsArgoCDインスタンスが実行されている namespace でのみアプリケーションをリコンサイルできます。
1.8.5. 別の namespace に OpenShift GitOps インスタンスをインストールする リンクのコピーリンクがクリップボードにコピーされました!
デフォルトでは、OpenShift GitOps インスタンスは openshift-gitops namespace にインストールされます。OpenShift GitOps インスタンスを別の namespace にインストールする場合は、次の手順を実行します。
次の YAML サンプルを適用して、OpenShift GitOps インスタンスを削除します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- これは、
gitop-addonClusterManagementAddOnに接続されたデフォルトのAddOnDeploymentConfigを作成したときに指定した namespace です。
次のコマンドを実行して、OpenShift GitOps インスタンスが削除されたことを確認します。
oc get pods -n openshift-gitops
oc get pods -n openshift-gitopsCopy to Clipboard Copied! Toggle word wrap Toggle overflow 次の YAML サンプルを適用して、OpenShift GitOps インスタンスを別の namespace にインストールします。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- これは、
gitop-addonClusterManagementAddOnに接続されたデフォルトのAddOnDeploymentConfigを作成したときに指定した namespace です。
次のコマンドを実行して、OpenShift GitOps インスタンスが新しい namespace に適用されていることを確認します。
oc get pods -n openshift-gitops-2
oc get pods -n openshift-gitops-2Copy to Clipboard Copied! Toggle word wrap Toggle overflow