1.2. Kubernetes NMState Operator 설치
Operator Lifecycle Manager(OLM)를 사용하여 Kubernetes NMState Operator를 제거할 수 있지만, OLM은 기본적으로 연관된 사용자 정의 리소스 정의(CRD), 사용자 정의 리소스(CR) 또는 API 서비스를 삭제하지 않습니다.
OLM에서 사용하는 구독 리소스에서 Kubernetes NMState Operator를 제거하기 전에 삭제할 Kubernetes NMState Operator 리소스를 식별합니다. 이 식별을 통해 실행 중인 클러스터에 영향을 주지 않고 리소스를 삭제할 수 있습니다.
Kubernetes NMState Operator를 다시 설치해야 하는 경우 "CLI를 사용하여 Kubernetes NMState Operator 설치" 또는 "웹 콘솔을 사용하여 Kubernetes NMState Operator 설치"를 참조하세요.
사전 요구 사항
-
OpenShift CLI(
oc)가 설치되어 있습니다. -
jqCLI 도구를 설치했습니다. -
cluster-admin권한이 있는 사용자로 로그인했습니다.
프로세스
다음 명령을 실행하여
구독리소스에서 Kubernetes NMState Operator 구독을 취소합니다.oc delete --namespace openshift-nmstate subscription kubernetes-nmstate-operator
$ oc delete --namespace openshift-nmstate subscription kubernetes-nmstate-operatorCopy to Clipboard Copied! Toggle word wrap Toggle overflow Kubernetes NMState Operator와 연결된
ClusterServiceVersion(CSV) 리소스를 찾으세요.oc get --namespace openshift-nmstate clusterserviceversion
$ oc get --namespace openshift-nmstate clusterserviceversionCopy to Clipboard Copied! Toggle word wrap Toggle overflow CSV 리소스를 나열하는 예제 출력
NAME DISPLAY VERSION REPLACES PHASE kubernetes-nmstate-operator.v4.19.0 Kubernetes NMState Operator 4.19.0 Succeeded
NAME DISPLAY VERSION REPLACES PHASE kubernetes-nmstate-operator.v4.19.0 Kubernetes NMState Operator 4.19.0 SucceededCopy to Clipboard Copied! Toggle word wrap Toggle overflow CSV 리소스를 삭제합니다. 파일을 삭제하면 OLM은 Operator를 위해 생성한
RBAC등의 특정 리소스를 삭제합니다.oc delete --namespace openshift-nmstate clusterserviceversion kubernetes-nmstate-operator.v4.19.0
$ oc delete --namespace openshift-nmstate clusterserviceversion kubernetes-nmstate-operator.v4.19.0Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 실행하여
nmstateCR 및 관련된배포리소스를 삭제합니다.oc -n openshift-nmstate delete nmstate nmstate
$ oc -n openshift-nmstate delete nmstate nmstateCopy to Clipboard Copied! Toggle word wrap Toggle overflow oc delete --all deployments --namespace=openshift-nmstate
$ oc delete --all deployments --namespace=openshift-nmstateCopy to Clipboard Copied! Toggle word wrap Toggle overflow nmstateCR을 삭제한 후console.operator.openshift.io/clusterCR에서nmstate-console-plugin콘솔 플러그인 이름을 제거합니다.다음 명령을 실행하여 활성화된 플러그인 목록에 있는
nmstate-console-plugin항목의 위치를 저장합니다. 다음 명령은jqCLI 도구를 사용하여INDEX라는 환경 변수에 항목 인덱스를 저장합니다.INDEX=$(oc get console.operator.openshift.io cluster -o json | jq -r '.spec.plugins | to_entries[] | select(.value == "nmstate-console-plugin") | .key')
INDEX=$(oc get console.operator.openshift.io cluster -o json | jq -r '.spec.plugins | to_entries[] | select(.value == "nmstate-console-plugin") | .key')Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 패치 명령을 실행하여
console.operator.openshift.io/clusterCR에서nmstate-console-plugin항목을 제거합니다.oc patch console.operator.openshift.io cluster --type=json -p "[{\"op\": \"remove\", \"path\": \"/spec/plugins/$INDEX\"}]"$ oc patch console.operator.openshift.io cluster --type=json -p "[{\"op\": \"remove\", \"path\": \"/spec/plugins/$INDEX\"}]"1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
INDEX는보조 변수입니다. 이 변수에 다른 이름을 지정할 수 있습니다.
다음 명령을 실행하여
nmstates.nmstate.io와 같은 모든 사용자 정의 리소스 정의(CRD)를 삭제합니다.oc delete crd nmstates.nmstate.io
$ oc delete crd nmstates.nmstate.ioCopy to Clipboard Copied! Toggle word wrap Toggle overflow oc delete crd nodenetworkconfigurationenactments.nmstate.io
$ oc delete crd nodenetworkconfigurationenactments.nmstate.ioCopy to Clipboard Copied! Toggle word wrap Toggle overflow oc delete crd nodenetworkstates.nmstate.io
$ oc delete crd nodenetworkstates.nmstate.ioCopy to Clipboard Copied! Toggle word wrap Toggle overflow oc delete crd nodenetworkconfigurationpolicies.nmstate.io
$ oc delete crd nodenetworkconfigurationpolicies.nmstate.ioCopy to Clipboard Copied! Toggle word wrap Toggle overflow 네임스페이스를 삭제합니다.
oc delete namespace kubernetes-nmstate
$ oc delete namespace kubernetes-nmstateCopy to Clipboard Copied! Toggle word wrap Toggle overflow