1.12. 删除 Red Hat OpenShift Service Mesh

这个过程允许您从现有的 OpenShift Container Platform 实例中删除 Red Hat OpenShift Service Mesh。在删除 Operator 前移除 control plane。

1.12.1. 删除 Red Hat OpenShift Service Mesh member roll

ServiceMeshMemberRoll 资源会在与其关联的 ServiceMeshControlPlane 资源删除时自动删除。

1.12.2. 删除 Red Hat OpenShift Service Mesh control plane

您可以使用 OpenShift Container Platform web 控制台或 CLI 删除 Service Mesh control plane。

1.12.2.1. 使用 Web 控制台删除 control plane

按照以下步骤,使用 Web 控制台删除 Red Hat OpenShift Service Mesh control plane。

先决条件

  • 已部署了 Red Hat OpenShift Service Mesh control plane。

流程

  1. 登陆到 OpenShift Container Platform Web 控制台。
  2. Project 菜单,从列表中选择 istio-system 项目。
  3. 导航到 OperatorsInstalled Operators
  4. Provided APIs 下的 Service Mesh Control Plane
  5. ServiceMeshControlPlane 菜单 kebab .
  6. Delete Service Mesh Control Plane
  7. 在确认窗口中点 Delete 删除 ServiceMeshControlPlane

1.12.2.2. 通过 CLI 删除 control plane

按照以下步骤,使用 CLI 删除 Red Hat OpenShift Service Mesh control plane。

先决条件

  • 已部署了 Red Hat OpenShift Service Mesh control plane。
  • 访问 OpenShift Container Platform 命令行界面 (CLI) 也称为 oc
流程

当删除 ServiceMeshControlPlane 时,Service Mesh 会通知 Operator 开始卸载已安装的所有内容。

提示

您可以使用一个短的别名 smcp 来替换 servicemeshcontrolplane

  1. 登录 OpenShift Container Platform CLI。
  2. 运行这个命令来获得安装的 ServiceMeshControlPlane 的名称:

    $ oc get servicemeshcontrolplanes -n istio-system
  3. 使用以上命令中的输出替换 <name_of_custom_resource>,运行这个命令来删除自定义资源:

    $ oc delete servicemeshcontrolplanes -n istio-system <name_of_custom_resource>

1.12.3. 删除安装的 Operator

您必须删除 Operator 才可以成功删除 Red Hat OpenShift Service Mesh。删除 Red Hat OpenShift Service Mesh Operator 后,您必须删除 Kiali Operator、Jaeger Operator 和 Elasticsearch Operator。

1.12.3.1. 删除 Red Hat OpenShift Service Mesh Operator

按照以下步骤删除 Red Hat OpenShift Service Mesh Operator。

先决条件

  • 访问 OpenShift Container Platform Web 控制台。
  • 必须安装 Red Hat OpenShift Service Mesh Operator。

流程

  1. 登陆到 OpenShift Container Platform Web 控制台。
  2. OperatorsInstalled Operators页中,滚动页或使用 Filter by name 找到 Red Hat OpenShift Service Mesh Operator。然后点击它。
  3. Operator Details 页面右侧,从 Actions 下拉菜单中选择 Uninstall Operator
  4. 如果要删除所有安装相关组件,则在看到 Remove Operator Subscription 窗口提示时,勾选 Also completely remove the Operator from the selected namespace 复选框。这会删除 CSV,并删除与 Operator 关联的 pod 、部署 、crds 和 CR。

1.12.3.2. 删除 Kiali Operator

按照以下步骤删除 Kiali Operator。

先决条件

  • 访问 OpenShift Container Platform Web 控制台。
  • 必须安装 Kiali Operator。

流程

  1. 登陆到 OpenShift Container Platform Web 控制台。
  2. OperatorsInstalled Operators 页中,通过滚动页或使用 Filter by name 找到 Kiali Operator。然后点击它。
  3. Operator Details 页面右侧,从 Actions 下拉菜单中选择 Uninstall Operator
  4. 如果要删除所有安装相关组件,则在看到 Remove Operator Subscription 窗口提示时,勾选 Also completely remove the Operator from the selected namespace 复选框。这会删除 CSV,并删除与 Operator 关联的 pod 、部署 、crds 和 CR。

1.12.3.3. 删除 Jaeger Operator

按照以下步骤删除 Jaeger Operator。

先决条件

  • 访问 OpenShift Container Platform Web 控制台。
  • 必须安装 Jaeger Operator。

流程

  1. 登陆到 OpenShift Container Platform Web 控制台。
  2. OperatorsInstalled Operators 页中,通过滚动页或使用 Filter by name 来找到 Jaeger Operator。然后点击它。
  3. Operator Details 页面右侧,从 Actions 下拉菜单中选择 Uninstall Operator
  4. 如果要删除所有安装相关组件,则在看到 Remove Operator Subscription 窗口提示时,勾选 Also completely remove the Operator from the selected namespace 复选框。这会删除 CSV,并删除与 Operator 关联的 pod 、部署 、crds 和 CR。

1.12.3.4. 删除 Elasticsearch Operator

按照以下步骤删除 Elasticsearch Operator。

先决条件

  • 访问 OpenShift Container Platform Web 控制台。
  • 必须安装 Elasticsearch Operator。

流程

  1. 登陆到 OpenShift Container Platform Web 控制台。
  2. OperatorsInstalled Operators 页中,通过滚动页或使用 Filter by name 找到 Elasticsearch Operator。然后点击它。
  3. Operator Details 页面右侧,从 Actions 下拉菜单中选择 Uninstall Operator
  4. 如果要删除所有安装相关组件,则在看到 Remove Operator Subscription 窗口提示时,勾选 Also completely remove the Operator from the selected namespace 复选框。这会删除 CSV,并删除与 Operator 关联的 pod 、部署 、crds 和 CR。

1.12.3.5. 清理 Operator 资源

按照以下步骤,使用 OpenShift 控制台手动删除 Red Hat OpenShift Service Mesh Operator 后保留的资源。

先决条件

  • 具有集群管理访问权限的帐户。
  • 访问 OpenShift Container Platform 命令行界面 (CLI) 也称为 oc

流程

  1. 以集群管理员身份登录到 OpenShift Container Platform CLI。
  2. 在卸载 Operators 后运行以下命令清理资源。如果您希望继续使用 Jaeger 作为没有 service mesh 的独立服务,请不要删除 Jaeger 资源。

    注意

    默认情况下,Operator 安装在 openshift-operators 命名空间中。如果在另一个命名空间中安装了 Operator,将 openshift-operators 替换为安装了 Red Hat OpenShift Service Mesh Operator 的项目的名称。

    $ oc delete validatingwebhookconfiguration/openshift-operators.servicemesh-resources.maistra.io
    $ oc delete mutatingwebhookconfigurations/openshift-operators.servicemesh-resources.maistra.io
    $ oc delete -n openshift-operators daemonset/istio-node
    $ oc delete clusterrole/istio-admin clusterrole/istio-cni clusterrolebinding/istio-cni
    $ oc delete clusterrole istio-view istio-edit
    $ oc delete clusterrole jaegers.jaegertracing.io-v1-admin jaegers.jaegertracing.io-v1-crdview jaegers.jaegertracing.io-v1-edit jaegers.jaegertracing.io-v1-view
    $ oc get crds -o name | grep '.*\.istio\.io' | xargs -r -n 1 oc delete
    $ oc get crds -o name | grep '.*\.maistra\.io' | xargs -r -n 1 oc delete
    $ oc get crds -o name | grep '.*\.kiali\.io' | xargs -r -n 1 oc delete
    $ oc delete crds jaegers.jaegertracing.io
    $ oc delete svc admission-controller -n <operator-project>
    $ oc delete project <istio-system-project>