1.7.2. コントロールプレーンのテンプレートの作成

ServiceMeshControlPlane テンプレートを使用すると、再利用可能な設定を作成することができます。各ユーザーは、作成するテンプレートを独自の設定で拡張することができます。テンプレートは、他のテンプレートから設定情報を継承することもできます。たとえば、会計チーム用の会計コントロールプレーンとマーケティングチーム用のマーケティングコントロールプレーンを作成できます。開発プロファイルと実稼働テンプレートを作成する場合、マーケティングチームおよび会計チームのメンバーは、チーム固有のカスタマイズで開発および実稼働テンプレートを拡張することができます。

ServiceMeshControlPlane と同じ構文に従うコントロールプレーンのテンプレートを設定する場合、ユーザーは階層的に設定を継承します。Operator は、Red Hat OpenShift Service Mesh のデフォルト設定を使用する default テンプレートと共に提供されます。カスタムテンプレートを追加するには、openshift-operators プロジェクトで smcp-templates という名前の ConfigMap を作成し、/usr/local/share/istio-operator/templates で Operator コンテナーに ConfigMap をマウントする必要があります。

1.7.2.1. ConfigMap の作成

以下の手順に従って、ConfigMap を作成します。

前提条件

  • Service Mesh Operator がインストールされ、検証されていること。
  • cluster-admin ロールを持つアカウントがある。
  • Operator デプロイメントの場所。
  • oc として知られる OpenShift Container Platform コマンドラインインターフェイス (CLI) へのアクセス。

手順

  1. クラスター管理者として OpenShift Container Platform CLI にログインします。
  2. CLI で以下のコマンドを実行し、openshift-operators プロジェクトに smcp-templates という名前の ConfigMap を作成し、<templates-directory> をローカルディスクの ServiceMeshControlPlane ファイルの場所に置き換えます。

    $ oc create configmap --from-file=<templates-directory> smcp-templates -n openshift-operators
  3. Operator ClusterServiceVersion 名を見つけます。

    $ oc get clusterserviceversion -n openshift-operators | grep 'Service Mesh'

    出力例

    maistra.v1.0.0            Red Hat OpenShift Service Mesh   1.0.0                Succeeded

  4. Operator クラスターサービスバージョンを編集して、Operator に smcp-templates ConfigMap を使用するよう指示します。

    $ oc edit clusterserviceversion -n openshift-operators maistra.v1.0.0
  5. ボリュームマウントおよびボリュームを Operator デプロイメントに追加します。

    deployments:
      - name: istio-operator
        spec:
          template:
            spec:
              containers:
                volumeMounts:
                  - name: discovery-cache
                    mountPath: /home/istio-operator/.kube/cache/discovery
                  - name: smcp-templates
                    mountPath: /usr/local/share/istio-operator/templates/
              volumes:
                - name: discovery-cache
                  emptyDir:
                    medium: Memory
                - name: smcp-templates
                  configMap:
                    name: smcp-templates
    ...
  6. 変更を保存し、エディターを終了します。
  7. ServiceMeshControlPlanetemplate パラメーターを使用してテンプレートを指定できます。

      apiVersion: maistra.io/v1
      kind: ServiceMeshControlPlane
      metadata:
        name: minimal-install
      spec:
        template: default