1.4. クラスターレベルでの Argo CD インスタンスの実行
Red Hat OpenShift GitOps Operator によってインストールされるデフォルトの Argo CD インスタンスおよび付随するコントローラーは、単純な設定の切り替えを設定して、クラスターのインフラストラクチャーノードで実行できるようになりました。
手順
既存のノードにラベルを付けます。
$ oc label node <node-name> node-role.kubernetes.io/infra=""
オプション: 必要な場合は、テイントを適用し、インフラストラクチャーノードでワークロードを分離し、他のワークロードがそれらのノードでスケジュールされないようにすることもできます。
$ oc adm taint nodes -l node-role.kubernetes.io/infra \ infra=reserved:NoSchedule infra=reserved:NoExecute
GitOpsService
カスタムリソースにrunOnInfra
トグルを追加します。apiVersion: pipelines.openshift.io/v1alpha1 kind: GitopsService metadata: name: cluster spec: runOnInfra: true
オプション: テイントがノードに追加された場合は、
tolerations
をGitOpsService
カスタムリソースに追加します。例
apiVersion: pipelines.openshift.io/v1alpha1 kind: GitopsService metadata: name: cluster spec: runOnInfra: true tolerations: - effect: NoSchedule key: infra value: reserved - effect: NoExecute key: infra value: reserved
-
コンソール UI の Pod を Pods
Pod details で表示して、 openshift-gitops
namespace のワークロードがインフラストラクチャーノードでスケジュールされていることを確認します。
デフォルトの Argo CD カスタムリソースに手動で追加された nodeSelectors
および tolerations
は、GitOpsService
カスタムリソースのトグルおよび tolerations
によって上書きされます。
関連情報
- テイントと容認の詳細は、ノードテイントを使用した Pod 配置の制御 を参照してください。
- インフラストラクチャーマシンセットの詳細は、インフラストラクチャーマシンセットの作成 を参照してください。