Menu Close

5.5. クラスター設定を使用したアプリケーションのデプロイによる OpenShift クラスターの設定

Red Hat OpenShift GitOps では、Argo CD を、クラスターのカスタム設定が含まれるアプリケーションと Git ディレクトリーの内容を再帰的に同期するように設定することができます。

前提条件

  • Red Hat OpenShift GitOps がクラスターにインストールされている。
  • Argo CD インスタンスにログインしている。

5.5.1. クラスターレベルでの Argo CD インスタンスの実行

Red Hat OpenShift GitOps Operator によってインストールされるデフォルトの Argo CD インスタンスおよび付随するコントローラーは、単純な設定の切り替えを設定して、クラスターのインフラストラクチャーノードで実行できるようになりました。

手順

  1. 既存のノードにラベルを付けます。

    $ oc label node <node-name> node-role.kubernetes.io/infra=""
  2. オプション: 必要な場合は、テイントを適用し、インフラストラクチャーノードでワークロードを分離し、他のワークロードがそれらのノードでスケジュールされないようにすることもできます。

    $ oc adm taint nodes -l node-role.kubernetes.io/infra \
    infra=reserved:NoSchedule infra=reserved:NoExecute
  3. GitOpsService カスタムリソースに runOnInfra トグルを追加します。

    apiVersion: pipelines.openshift.io/v1alpha1
    kind: GitopsService
    metadata:
      name: cluster
    spec:
      runOnInfra: true
  4. オプション: テイントがノードに追加された場合は、tolerationsGitOpsService カスタムリソースに追加します。以下に例を示します。

      spec:
        runOnInfra: true
        tolerations:
        - effect: NoSchedule
          key: infra
          value: reserved
        - effect: NoExecute
          key: infra
          value: reserved
  5. コンソール UI の Pod を PodsPod details で表示して、openshift-gitops namespace のワークロードがインフラストラクチャーノードでスケジュールされていることを確認します。
注記

デフォルトの Argo CD カスタムリソースに手動で追加された nodeSelectors および tolerations は、GitOpsService カスタムリソースのトグルおよび tolerations によって上書きされます。