3.4. OpenShift Container Platform CLI에서 설치

  1. Operator 요구 사항이 포함된 Kubernetes 엔진 네임스페이스의 다중 클러스터 엔진을 생성합니다. 다음 명령을 실행합니다. 여기서 namespace 는 Kubernetes 엔진 네임스페이스의 다중 클러스터 엔진의 이름입니다. 네임스페이스 값은 OpenShift Container Platform 환경에서 Project 라고 할 수 있습니다.

    oc create namespace <namespace>
  2. 프로젝트 네임스페이스를 생성한 네임스페이스로 전환합니다. namespace 를 1단계에서 생성한 Kubernetes 엔진의 다중 클러스터 엔진 이름으로 바꿉니다.

    oc project <namespace>
  3. YAML 파일을 생성하여 OperatorGroup 리소스를 구성합니다. 각 네임스페이스에는 Operator 그룹이 하나만 있을 수 있습니다. default 를 Operator 그룹의 이름으로 바꿉니다. namespace 를 프로젝트 네임스페이스의 이름으로 바꿉니다. 다음 예제를 참조하십시오.

    apiVersion: operators.coreos.com/v1
    kind: OperatorGroup
    metadata:
      name: <default>
    spec:
      targetNamespaces:
      - <namespace>
  4. 다음 명령을 실행하여 OperatorGroup 리소스를 생성합니다. operator-group 을 생성한 Operator 그룹 YAML 파일의 이름으로 변경합니다.

    oc apply -f <path-to-file>/<operator-group>.yaml
  5. YAML 파일을 생성하여 OpenShift Container Platform 서브스크립션을 구성합니다. 파일은 다음 예와 유사해야 합니다.

    apiVersion: operators.coreos.com/v1alpha1
    kind: Subscription
    metadata:
      name: multicluster-engine
    spec:
      sourceNamespace: openshift-marketplace
      source: redhat-operators
      channel: stable-1.0
      installPlanApproval: Automatic
      name: multicluster-engine

    참고: 인프라 노드에 Kubernetes 엔진의 다중 클러스터 엔진을 설치하려면 Operator Lifecycle Manager 서브스크립션 추가 구성 섹션을 참조하십시오.

  6. 다음 명령을 실행하여 OpenShift Container Platform 서브스크립션을 생성합니다. 서브스크립션을 생성한 서브스크립션 파일의 이름으로 변경합니다.

    oc apply -f <path-to-file>/<subscription>.yaml
  7. YAML 파일을 생성하여 MultiClusterEngine 사용자 정의 리소스를 구성합니다. 기본 템플릿은 다음 예와 유사해야 합니다.

    apiVersion: multicluster.openshift.io/v1
    kind: MultiClusterEngine
    metadata:
      name: multiclusterengine
    spec: {}

    참고: 인프라 노드에 Kubernetes 엔진에 대한 다중 클러스터 엔진을 설치하려면 MultiClusterEngine 사용자 정의 리소스 추가 구성 섹션을 참조하십시오.

  8. 다음 명령을 실행하여 MultiClusterEngine 사용자 정의 리소스를 생성합니다. custom-resource 를 사용자 정의 리소스 파일의 이름으로 교체합니다.

    oc apply -f <path-to-file>/<custom-resource>.yaml

    이 단계가 다음 오류와 함께 실패하면 리소스가 계속 생성되고 적용되는 것입니다. 리소스가 생성되면 몇 분 후에 명령을 다시 실행합니다.

    error: unable to recognize "./mce.yaml": no matches for kind "MultiClusterEngine" in version "operator.multicluster-engine.io/v1"
  9. 다음 명령을 실행하여 사용자 정의 리소스를 가져옵니다. 다음 명령을 실행한 후 MultiClusterEngine 사용자 정의 리소스 상태가 status.phase 필드에 Available 로 표시되는 데 최대 10분이 걸릴 수 있습니다.

    oc get mce -o=jsonpath='{.items[0].status.phase}'

Kubernetes Operator용 다중 클러스터 엔진을 다시 설치하는 중이고 Pod가 시작되지 않는 경우 이 문제를 해결하기 위한 단계의 재설치 실패 문제 해결을 참조하십시오.

참고:

  • ClusterRoleBinding 이 있는 ServiceAccount 는 Kubernetes의 다중 클러스터 엔진과 Kubernetes용 다중 클러스터 엔진을 설치하는 네임스페이스에 대한 액세스 권한이 있는 사용자 자격 증명에 대한 클러스터 관리자 권한을 자동으로 부여합니다.