1.2.11.5. Operator API 지원


OpenShift Container Platform 4.5에 기술 프리뷰 기능으로 도입된 Operator API가 지원되고 기본적으로 활성화됩니다. OLM(Operator Lifecycle Manager)을 사용하여 Operator를 설치하려면 클러스터 관리자가 CatalogSource,Subscription,ClusterServiceVersion, InstallPlan 리소스를 비롯한 여러 API 오브젝트를 인식해야 했습니다. 이 단일 Operator API 리소스는 OpenShift Container Platform 클러스터에서 Operator의 라이프 사이클을 검색하고 관리하는 보다 간소화된 환경을 제공하기 위한 첫 번째 단계입니다.

이제 Subscription 리소스를 사용하여 CSV가 설치된 모든 Operator의 새 Operator API에 대해 관련 리소스에 자동으로 레이블이 지정됩니다. 클러스터 관리자는 이 단일 API와 함께 CLI를 사용하여 설치된 Operator와 상호 작용할 수 있습니다. 예를 들면 다음과 같습니다.

$ oc get operators
$ oc describe operator <operator_name>
1.2.11.5.1. 클러스터 업그레이드 전에 Technology Preview Operator API 제거

OpenShift Container Platform 4.5에서 Operator API의 기술 프리뷰 기능 버전을 활성화한 경우 OpenShift Container Platform 4.6으로 업그레이드하기 전에 비활성화해야 합니다. 이렇게 하지 않으면 CVO(Cluster Version Operator)를 덮어써야 하기 때문에 클러스터 업그레이드가 차단됩니다.

사전 요구 사항

  • Technology Preview Operator API가 활성화된 OpenShift Container Platform 4.5 클러스터

프로시저

  1. Operator API 라벨은 OpenShift Container Platform 4.6의 관련 리소스에 자동으로 적용되기 때문에 이전에 수동으로 적용한 모든 operator.coreos.com/<name> 라벨을 제거해야 합니다.

    1. 다음 명령을 실행하고 status.components.refs 섹션을 검토하여 Operator에 대해 현재 라벨이 지정된 리소스를 확인할 수 있습니다.

      $ oc describe operator <operator_name>

      예를 들면 다음과 같습니다.

      $ oc describe operator etcd-test

      출력 예

      ...
      Status:
        Components:
          Label Selector:
            Match Expressions:
              Key:       operators.coreos.com/etcd-test
              Operator:  Exists
          Refs:
            API Version:  apiextensions.k8s.io/v1
            Conditions:
              Last Transition Time:  2020-07-02T05:50:40Z
              Message:               no conflicts found
              Reason:                NoConflicts
              Status:                True
              Type:                  NamesAccepted
              Last Transition Time:  2020-07-02T05:50:41Z
              Message:               the initial names have been accepted
              Reason:                InitialNamesAccepted
              Status:                True
              Type:                  Established
            Kind:                    CustomResourceDefinition 1
            Name:                    etcdclusters.etcd.database.coreos.com 2
      ...

      1
      리소스 유형입니다.
      2
      리소스 이름입니다.
    2. 모든 관련 리소스에서 라벨을 제거합니다. 예를 들면 다음과 같습니다.

      $ oc label sub etcd operators.coreos.com/etcd-test- -n test-project
      $ oc label ip install-6c5mr operators.coreos.com/etcd-test- -n test-project
      $ oc label csv etcdoperator.v0.9.4 operators.coreos.com/etcd-test- -n test-project
      $ oc label crd etcdclusters.etcd.database.coreos.com operators.coreos.com/etcd-test-
      $ oc label crd etcdbackups.etcd.database.coreos.com operators.coreos.com/etcd-test-
      $ oc label crd etcdrestores.etcd.database.coreos.com operators.coreos.com/etcd-test-
  2. CRD(Operator 사용자 정의 리소스 정의)를 삭제합니다.

    $ oc delete crd operators.operators.coreos.com
  3. OLM Operator에서 OperatorLifecycleManagerV2=true 기능 게이트를 제거합니다.

    1. OLM Operator의 Deployment 오브젝트를 편집합니다.

      $ oc -n openshift-operator-lifecycle-manager \
          edit deployment olm-operator
    2. Deployment 오브젝트의 args 섹션에서 다음 플래그를 제거합니다.

      ...
          spec:
            containers:
            - args:
      ...
              - --feature-gates 1
              - OperatorLifecycleManagerV2=true 2
      1 2
      이 플래그를 제거하십시오.
    3. 변경 사항을 저장하십시오.
  4. OLM의 CVO 관리를 다시 활성화합니다.

    $ oc patch clusterversion version \
        --type=merge -p \
        '{
           "spec":{
              "overrides":[
                 {
                    "kind":"Deployment",
                    "name":"olm-operator",
                    "namespace":"openshift-operator-lifecycle-manager",
                    "unmanaged":false,
                    "group":"apps/v1"
                 }
              ]
           }
        }'
  5. Operator 리소스를 더 이상 사용할 수 없는지 확인합니다.

    $ oc get operators

    출력 예

    error: the server doesn't have a resource type "operators"

이제 OpenShift Container Platform 4.6으로 업그레이드해도 이 기능에 의해 더 이상 차단되지 않습니다.

Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

© 2024 Red Hat, Inc.