2.8.2. 컨트롤 플레인 템플릿 생성

ServiceMeshControlPlane 템플릿을 사용하여 재사용 가능한 구성을 생성할 수 있습니다. 개별 사용자는 생성한 템플릿을 자체 구성으로 확장할 수 있습니다. 템플릿은 다른 템플릿의 구성 정보를 상속할 수도 있습니다. 예를 들어, 회계 팀에 대한 계정 컨트롤 플레인과 마케팅 팀에 대한 마케팅 컨트롤 플레인을 생성할 수 있습니다. 개발 템플릿과 프로덕션 템플릿을 생성하는 경우 마케팅 팀과 회계 팀의 구성원은 팀별 사용자 지정을 통해 개발 및 프로덕션 템플릿을 확장할 수 있습니다.

ServiceMeshControlPlane과 동일한 구문을 따르는 컨트롤 플레인 템플릿을 구성하면, 사용자는 계층적으로 설정을 상속합니다. Operator는 Red Hat OpenShift Service Mesh의 기본 설정이 포함된 default 템플릿과 함께 제공됩니다. 사용자 지정 템플릿을 추가하려면 openshift-operators 프로젝트에서 smcp-templates라는 ConfigMap을 생성하고 /usr/local/share/istio-operator/templates에서 Operator 컨테이너에 ConfigMap을 마운트해야 합니다.

2.8.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. 이제 ServiceMeshControlPlane에서 template 매개변수를 사용하여 템플릿을 지정할 수 있습니다.

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