1.2. 卸载 Kubernetes NMState Operator


您可以使用 Operator Lifecycle Manager (OLM)卸载 Kubernetes NMState Operator,但设计 OLM 不会删除任何关联的自定义资源定义(CRD)、自定义资源(CR)或 API Services。

在从 OLM 使用的 Subcription 资源卸载 Kubernetes NMState Operator 前,请确定要删除的 Kubernetes NMState Operator 资源。此标识可确保您可以在不影响正在运行的集群的情况下删除资源。

如果您需要重新安装 Kubernetes NMState Operator,请参阅"使用 CLI 安装 Kubernetes NMState Operator"或"使用 web 控制台安装 Kubernetes NMState Operator"。

先决条件

  • 已安装 OpenShift CLI(oc)。
  • 已安装 jq CLI 工具。
  • 您以具有 cluster-admin 权限的用户身份登录。

流程

  1. 运行以下命令,从 Subcription 资源取消订阅 Kubernetes NMState Operator:

    $ oc delete --namespace openshift-nmstate subscription kubernetes-nmstate-operator
    Copy to Clipboard Toggle word wrap
  2. 查找与 Kubernetes NMState Operator 关联的 ClusterServiceVersion (CSV) 资源:

    $ oc get --namespace openshift-nmstate clusterserviceversion
    Copy to Clipboard Toggle word wrap

    列出 CSV 资源的输出示例

    NAME                              	  DISPLAY                   	VERSION   REPLACES     PHASE
    kubernetes-nmstate-operator.v4.18.0   Kubernetes NMState Operator   4.18.0           	   Succeeded
    Copy to Clipboard Toggle word wrap

  3. 删除 CSV 资源。删除文件后,OLM 会删除其为 Operator 创建的某些资源,如 RBAC

    $ oc delete --namespace openshift-nmstate clusterserviceversion kubernetes-nmstate-operator.v4.18.0
    Copy to Clipboard Toggle word wrap
  4. 运行以下命令来删除 nmstate CR 和任何关联的 Deployment 资源:

    $ oc -n openshift-nmstate delete nmstate nmstate
    Copy to Clipboard Toggle word wrap
    $ oc delete --all deployments --namespace=openshift-nmstate
    Copy to Clipboard Toggle word wrap
  5. 删除 nmstate CR 后,从 console.operator.openshift.io/cluster CR 中删除 nmstate-console-plugin 控制台插件名称。

    1. 运行以下命令,存储在启用插件列表中存在 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')
      Copy to Clipboard Toggle word wrap
    2. 运行以下 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\"}]" 
      1
      Copy to Clipboard Toggle word wrap
      1
      INDEX 是辅助变量。您可以为此变量指定不同的名称。
  6. 运行以下命令删除所有自定义资源定义 (CRD),如 nmstates.nmstate.io

    $ oc delete crd nmstates.nmstate.io
    Copy to Clipboard Toggle word wrap
    $ oc delete crd nodenetworkconfigurationenactments.nmstate.io
    Copy to Clipboard Toggle word wrap
    $ oc delete crd nodenetworkstates.nmstate.io
    Copy to Clipboard Toggle word wrap
    $ oc delete crd nodenetworkconfigurationpolicies.nmstate.io
    Copy to Clipboard Toggle word wrap
  7. 删除命名空间:

    $ oc delete namespace kubernetes-nmstate
    Copy to Clipboard Toggle word wrap
返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat