5.12. インフラストラクチャーノードでの GitOps コントロールプレーンワークロードの実行

インフラストラクチャーノードを使用して、サブスクリプション数に対する追加の請求コストを防ぐことができます。

OpenShift Container Platform を使用して、Red Hat OpenShift GitOps Operator によってインストールされたインフラストラクチャーノードで特定のワークロードを実行できます。これは、デフォルトで Red Hat OpenShift GitOps Operator によって openshift-gitops namespace にインストールされるワークロードで設定され、その namespace のデフォルトの Argo CD インスタンスが含まれます。

注記

ユーザー namespace にインストールされたその他の Argo CD インスタンスは、インフラストラクチャーノードで実行する資格がありません。

5.12.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

手順

  1. 以下のコマンドを実行して、既存のノードにインフラストラクチャーのラベルを付けます。

    $ oc label node <node-name> node-role.kubernetes.io/infra=
  2. GitOpsService カスタムリソース (CR) を編集して、インフラストラクチャーノードセレクターを追加します。

    $ oc edit gitopsservice -n openshift-gitops
  3. GitOpsService CR ファイルで、runOnInfra フィールドを spec セクションに追加し、true に設定します。このフィールドは、openshift-gitops namespace のワークロードをインフラストラクチャーノードに移動します。

    apiVersion: pipelines.openshift.io/v1alpha1
    kind: GitopsService
    metadata:
      name: cluster
    spec:
      runOnInfra: true
  4. オプション: テイントを適用し、インフラストラクチャーノードでワークロードを分離し、他のワークロードがそれらのノードでスケジュールされないようにします。

    $ oc adm taint nodes -l node-role.kubernetes.io/infra
    infra=reserved:NoSchedule infra=reserved:NoExecute
  5. オプション: テイントをノードに適用する場合、容認を GitOpsService CR に追加できます。

    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 のトグルおよび容認によって上書きされます。