1.2. Kubernetes NMState Operator 설치 제거
OLM(Operator Lifecycle Manager)을 사용하여 Kubernetes NMState Operator를 제거할 수 있지만 설계 OLM에서는 연결된 CRD(사용자 정의 리소스 정의), CR(사용자 정의 리소스) 또는 API 서비스를 삭제하지 않습니다.
OLM에서 사용하는 Subcription
리소스에서 Kubernetes NMState Operator를 제거하기 전에 삭제할 Kubernetes NMState Operator 리소스를 확인합니다. 이렇게 하면 실행 중인 클러스터에 영향을 주지 않고 리소스를 삭제할 수 있습니다.
Kubernetes NMState Operator를 다시 설치해야 하는 경우 CLI를 사용하여 Kubernetes NMState Operator 설치 또는 "웹 콘솔을 사용하여 Kubernetes NMState Operator 설치"를 참조하십시오.
사전 요구 사항
-
OpenShift CLI(
oc
)가 설치되어 있습니다. -
jq
CLI 툴을 설치했습니다. -
cluster-admin
권한이 있는 사용자로 로그인합니다.
프로세스
다음 명령을 실행하여
Subcription
리소스에서 Kubernetes NMState Operator를 구독 해제합니다.oc delete --namespace openshift-nmstate subscription kubernetes-nmstate-operator
$ oc delete --namespace openshift-nmstate subscription kubernetes-nmstate-operator
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Kubernetes NMState Operator와 연결하는 CSV(
ClusterServiceVersion
) 리소스를 찾습니다.oc get --namespace openshift-nmstate clusterserviceversion
$ oc get --namespace openshift-nmstate clusterserviceversion
Copy to Clipboard Copied! Toggle word wrap Toggle overflow CSV 리소스를 나열하는 출력 예
NAME DISPLAY VERSION REPLACES PHASE kubernetes-nmstate-operator.v4.18.0 Kubernetes NMState Operator 4.18.0 Succeeded
NAME DISPLAY VERSION REPLACES PHASE kubernetes-nmstate-operator.v4.18.0 Kubernetes NMState Operator 4.18.0 Succeeded
Copy to Clipboard Copied! Toggle word wrap Toggle overflow CSV 리소스를 삭제합니다. 파일을 삭제한 후 OLM은 Operator에 대해 생성한
RBAC
와 같은 특정 리소스를 삭제합니다.oc delete --namespace openshift-nmstate clusterserviceversion kubernetes-nmstate-operator.v4.18.0
$ oc delete --namespace openshift-nmstate clusterserviceversion kubernetes-nmstate-operator.v4.18.0
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 실행하여
nmstate
CR 및 관련배포
리소스를 삭제합니다.oc -n openshift-nmstate delete nmstate nmstate
$ oc -n openshift-nmstate delete nmstate nmstate
Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc delete --all deployments --namespace=openshift-nmstate
$ oc delete --all deployments --namespace=openshift-nmstate
Copy to Clipboard Copied! Toggle word wrap Toggle overflow nmstate
CR을 삭제한 후console.operator.openshift.io/cluster
CR에서nmstate-console-plugin
콘솔 플러그인 이름을 제거합니다.다음 명령을 실행하여 활성화 플러그인 목록에 존재하는
nmstate-console-plugin
항목의 위치를 저장합니다. 다음 명령은jq
CLI 툴을 사용하여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 다음 patch 명령을 실행하여
console.operator.openshift.io/cluster
CR에서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.io
Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc delete crd nodenetworkconfigurationenactments.nmstate.io
$ oc delete crd nodenetworkconfigurationenactments.nmstate.io
Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc delete crd nodenetworkstates.nmstate.io
$ oc delete crd nodenetworkstates.nmstate.io
Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc delete crd nodenetworkconfigurationpolicies.nmstate.io
$ oc delete crd nodenetworkconfigurationpolicies.nmstate.io
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 네임스페이스를 삭제합니다.
oc delete namespace kubernetes-nmstate
$ oc delete namespace kubernetes-nmstate
Copy to Clipboard Copied! Toggle word wrap Toggle overflow