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-addon
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを実行して、OpenShift GitOps Operator が
openshift-gitops-operator
namespace で実行されていることを確認します。oc get pods -n openshift-gitops-operator
oc get pods -n openshift-gitops-operator
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを実行して、OpenShift GitOps インスタンスが
openshift-gitops
namespace で実行されていることを確認します。oc get pods -n openshift-gitops
oc get pods -n openshift-gitops
Copy 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-addon
Copy 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-operator
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - マネージドクラスターに移動して次のコマンドを実行し、OpenShift Container Platform GitOps コンポーネントのログを確認します。
oc get pods -n openshift-gitops
oc get pods -n openshift-gitops
Copy 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-addon
Copy 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-operator
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - マネージドクラスターに移動して次のコマンドを実行し、OpenShift Container Platform GitOps コンポーネントのログを確認します。
oc get pods -n openshift-gitops
oc get pods -n openshift-gitops
Copy 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-addon
ClusterManagementAddOn
に接続されたデフォルトのAddOnDeploymentConfig
を作成したときに指定した namespace です。
次の YAML サンプルを適用して、OpenShift GitOps Operator を削除します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- これは、
gitop-addon
ClusterManagementAddOn
に接続されたデフォルトの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-addon
ClusterManagementAddOn
に接続されたデフォルトの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-addon
ClusterManagementAddOn
に接続されたデフォルトのAddOnDeploymentConfig
を作成したときに指定した namespace です。
次のコマンドを実行して、OpenShift GitOps インスタンスが削除されたことを確認します。
oc get pods -n openshift-gitops
oc get pods -n openshift-gitops
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次の YAML サンプルを適用して、OpenShift GitOps インスタンスを別の namespace にインストールします。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- これは、
gitop-addon
ClusterManagementAddOn
に接続されたデフォルトのAddOnDeploymentConfig
を作成したときに指定した namespace です。
次のコマンドを実行して、OpenShift GitOps インスタンスが新しい namespace に適用されていることを確認します。
oc get pods -n openshift-gitops-2
oc get pods -n openshift-gitops-2
Copy to Clipboard Copied! Toggle word wrap Toggle overflow