5.9. インフラストラクチャーノードでの GitOps コントロールプレーンワークロードの実行
インフラストラクチャーノードを使用して、サブスクリプション数に対する追加の請求コストを防ぐことができます。
OpenShift Container Platform を使用して、Red Hat OpenShift GitOps Operator によってインストールされたインフラストラクチャーノードで特定のワークロードを実行できます。これは、デフォルトで Red Hat OpenShift GitOps Operator によって openshift-gitops namespace にインストールされるワークロードで設定され、その namespace のデフォルトの Argo CD インスタンスが含まれます。
ユーザー namespace にインストールされたその他の Argo CD インスタンスは、インフラストラクチャーノードで実行する資格がありません。
5.9.1. GitOps ワークロードのインフラストラクチャーノードへの移行 リンクのコピーリンクがクリップボードにコピーされました!
Red Hat OpenShift GitOps によってインストールされたデフォルトのワークロードをインフラストラクチャーノードに移行できます。移動できるワークロードは以下のとおりです。
-
kam deployment -
cluster deployment(バックエンドサービス) -
openshift-gitops-applicationset-controller deployment -
openshift-gitops-dex-server deployment -
openshift-gitops-redis deployment -
openshift-gitops-redis-ha-haproxy deployment -
openshift-gitops-repo-sever deployment -
openshift-gitops-server deployment -
openshift-gitops-application-controller statefulset -
openshift-gitops-redis-server statefulset
手順
以下のコマンドを実行して、既存のノードにインフラストラクチャーのラベルを付けます。
$ oc label node <node-name> node-role.kubernetes.io/infra=GitOpsServiceカスタムリソース (CR) を編集して、インフラストラクチャーノードセレクターを追加します。$ oc edit gitopsservice -n openshift-gitopsGitOpsServiceCR ファイルで、runOnInfraフィールドをspecセクションに追加し、trueに設定します。このフィールドは、openshift-gitopsnamespace のワークロードをインフラストラクチャーノードに移動します。apiVersion: pipelines.openshift.io/v1alpha1 kind: GitopsService metadata: name: cluster spec: runOnInfra: trueオプション: テイントを適用し、インフラストラクチャーノードでワークロードを分離し、他のワークロードがそれらのノードでスケジュールされないようにします。
$ oc adm taint nodes -l node-role.kubernetes.io/infra infra=reserved:NoSchedule infra=reserved:NoExecuteオプション: テイントをノードに適用する場合、容認を
GitOpsServiceCR に追加できます。spec: runOnInfra: true tolerations: - effect: NoSchedule key: infra value: reserved - effect: NoExecute key: infra value: reserved
ワークロードが Red Hat OpenShift GitOps namespace のインフラストラクチャーノードでスケジュールされていることを確認するには、Pod 名のいずれかをクリックし、ノードセレクター− および 容認 が追加されていることを確認します。
デフォルトの Argo CD CR の手動で追加された ノードセレクター および 容認 は、GitOpsService CR のトグルおよび容認によって上書きされます。