Operator Lifecycle Manager 구성요소를 삭제하는 방법
Operator Lifecycle Manager (OLM) 는 Kubernetes 버전 1.23 이상을 실행하는 클러스터에 설치되거나 관리되지 않습니다. 그러나 버전 1.22 에서 버전 1.23 이상으로 업그레이드된 클러스터에는 여전히 OLM 컴포넌트가 설치되어 있을 수 있습니다. 클러스터에서 OLM 컴포넌트를 사용하지 않는 경우 다음 단계에 따라 제거하십시오.
클러스터에서 OLM 구성 요소를 계속 사용하거나 버전 1.23 이상을 실행하는 클러스터에 OLM 을 설치 및 실행하려면 업데이트를 직접 관리해야 합니다. 오픈 소스 OLM 문서를 참조하세요.
-
OLM 운영자가 설치되어 있는지 확인하십시오.
kubectl get deploy -n ibm-system olm-operator출력 예
NAME READY UP-TO-DATE AVAILABLE AGE olm-operator 1/1 1 1 6mo -
Istio 애드온의 1.9 버전을 통해 1.4 버전을 사용 중인지 확인하세요. Istio 버전 1.4 ~ 1.9 은 지원되지 않으며 OLM 을 사용하십시오. 이러한 버전을 사용하는 경우 OLM 연산자를 사용하지 않는 Istio 애드온의 지원되는 버전으로 업그레이드하세요. 지원되는 Istio 버전으로 업그레이드한 후 OLM 연산자를 삭제할 수 있습니다.
ibmcloud ks cluster addons -c CLUSTER이 예제 출력에서 OLM 는 Istio 애드온 버전 1.5 에서 계속 사용됩니다. 추가 기능을 업그레이드한 후 다음 단계를 계속하십시오.
NAME Version Health State Health Status istio 1.5 normal Addon Ready -
클러스터 서비스 버전을 나열하여 OLM 을 통해 배치된 사용 중인 연산자가 있는지 확인하십시오.
kubectl get clusterserviceversions -AOLM을 통해 배치된 연산자의 예제 출력입니다.
NAMESPACE NAME DISPLAY VERSION REPLACES PHASE kubernetes-operator-lifecycle-manager packageserver Package Server 0.19.0 Succeeded출력에
clusterserviceversions이 있으면 OLM 을 통해 관리되는 연산자를 계속 사용하고 있는 것입니다. OLM 을 계속 사용할 수 있지만 업데이트 관리는 회원님의 책임입니다. 다음 단계는 OLM 을 더 이상 사용하지 않는다고 가정하고 정리 지침을 제공하며, 아직 OLM 을 사용 중인 경우 계속 진행하지 마십시오. -
3단계의출력에
clusterserviceversions인스턴스가 없는 경우 OLM을 사용하지 않습니다. 이제 OLM 에서 작성한 자원 목록을 가져와서 제거할 수 있습니다. -
다음 목록의 각 CRD에 대해 모든 네임스페이스에서 사용자 정의 자원 (CR) 을 가져오십시오.
kubectl get catalogsources.operators.coreos.com -A kubectl get clusterserviceversions.operators.coreos.com -A kubectl get installplans.operators.coreos.com -A kubectl get operatorgroups.operators.coreos.com -A kubectl get operators.operators.coreos.com -A kubectl get subscriptions.operators.coreos.com -A -
CR을 찾은 경우 이러한 자원이 여전히 필요한지 여부를 판별하십시오.
- OLM에 의해 배치된
olm-operators및ibm-operators운영자 그룹이 계속 표시될 수 있습니다. 이러한 운영자 그룹은 OLM설치의 일부였습니다. 이전 단계에cluseterserviceversions인스턴스가 없으므로 더 이상 이러한 연산자 그룹을 사용하지 않습니다. - 이전에 Istio 애드온의 버전 1.4- 1.9 을 설치한 경우
ibm-operators네임스페이스에istiooperators.operators.coreos.com리소스가 계속 표시될 수 있습니다. Istio 을 버전 1.10 이상으로 업그레이드한 경우 이 리소스가 더 이상 필요하지 않습니다. - 다른 CR을 찾은 경우 이전 단계에서
clusterserviceversions인스턴스가 없으므로 이를 사용하지 않을 수 있습니다. 그러나 케이스별로 클러스터 관리자와 함께 각 CR을 검토하여 여전히 사용 중인지 여부를 판별하십시오.
다음 단계에서는 검토를 완료했다고 가정하고 OLM 을 삭제하는 방법을 안내합니다.
- OLM에 의해 배치된
-
Istio 애드온 또는 추가 운영자가 OLM 를 사용하지 않는다고 판단한 경우 다음 명령을 별도로 실행하여 OLM 리소스를 삭제하세요.
kubectl delete clusterrole aggregate-olm-edit kubectl delete clusterrole aggregate-olm-view kubectl delete deploy -n ibm-system catalog-operator kubectl delete deploy -n ibm-system olm-operator kubectl delete clusterrole system:controller:operator-lifecycle-manager kubectl delete serviceaccount -n ibm-system olm-operator-serviceaccount kubectl delete clusterrolebinding olm-operator-binding-ibm-system kubectl delete operatorgroup -n ibm-operators ibm-operators kubectl delete operatorgroup -n ibm-system olm-operators kubectl delete service -n ibm-system catalog-operator-metrics kubectl delete service -n ibm-system olm-operator-metrics -
사용하지 않는 CR을 삭제한 후 OLM으로 설치된 사용자 정의 자원 정의 (CRD) 를 삭제하십시오.
kubectl delete catalogsources.operators.coreos.com NAME -n NAMESPACEkubectl delete crd catalogsources.operators.coreos.com -
다음 각 CRD에 대해 이전 단계를 반복하십시오.
catalogsources.operators.coreos.comclusterserviceversions.operators.coreos.cominstallplans.operators.coreos.comoperatorgroups.operators.coreos.comoperators.operators.coreos.comsubscriptions.operators.coreos.com