在 ambient 模式下卸载 Alauda Service Mesh

您可以从 Alauda Container Platform 卸载 Alauda Service Mesh Operator 及其 ambient 模式资源。您可以通过 Alauda Container Platform Web 控制台或命令行界面(CLI)执行此操作。此外,您还可以选择删除 Istio 自定义资源定义(CRD)。

通过 Web 控制台卸载

在 Alauda Container Platform 中以 ambient 模式卸载 Alauda Service Mesh v2 Operator 包括删除以下组件:

  • Waypoint proxy Gateway 资源
  • ZTunnel 资源
  • Istio 资源
  • IstioCNI 资源
  • Alauda Service Mesh v2 Operator
  • ztunnel 命名空间
  • istio-system 命名空间
  • istio-cni 命名空间

您还可以选择删除 Istio 自定义资源定义(CRD)。

可以使用 Alauda Container Platform Web 控制台卸载 Alauda Service Mesh v2 Operator。

操作步骤

删除 waypoint proxy Gateway 资源

从部署了 waypoint proxy 的每个命名空间中删除所有 waypoint proxy Gateway 资源。您可以通过 Gateway 资源上的 istio.io/waypoint-for 标签识别 waypoint proxy。

kubectl delete gateway -A -l istio.io/waypoint-for

从命名空间中移除 ambient data plane 标签

从所有加入 ambient data plane 的命名空间中移除 istio.io/dataplane-mode=ambient 标签:

kubectl label namespaces -l istio.io/dataplane-mode istio.io/dataplane-mode- --overwrite

删除 ZTunnel 资源

  1. 在 Alauda Container Platform Web 控制台中,导航至 Administrator
  2. 选择 Marketplace > OperatorHub
  3. 搜索 Alauda Service Mesh v2
  4. 找到 Alauda Service Mesh v2,然后单击以选中它。
  5. 单击 All Instances 选项卡。
  6. Filter by instance type 下拉列表中,选择 ZTunnel
  7. 单击 ZTunnel 资源的“”按钮,然后在菜单中单击 Delete
  8. 出现提示时,单击 Delete 确认操作。

删除 Istio 资源

OperatorHubAlauda Service Mesh v2 视图中:

  1. 单击 All Instances 选项卡。
  2. Filter by instance type 下拉列表中,选择 Istio
  3. 单击 Istio 资源的“”按钮,然后在菜单中单击 Delete
  4. 出现提示时,单击 Delete 确认操作。

删除 IstioCNI 资源

OperatorHubAlauda Service Mesh v2 视图中:

  1. 单击 All Instances 选项卡。
  2. Filter by instance type 下拉列表中,选择 IstioCNI
  3. 单击 IstioCNI 资源的“”按钮,然后在菜单中单击 Delete
  4. 出现提示时,单击 Delete 确认操作。

卸载 Alauda Service Mesh v2 Operator

OperatorHubAlauda Service Mesh v2 视图中:

  1. 单击右上角的 Uninstall 按钮。
  2. 在确认提示中阅读卸载通知:Removing the operator will not remove any of its custom resource definitions or managed resources. If you have created a resource instance, you need to delete it manually.
  3. 单击 Uninstall

删除 ztunnel 命名空间

kubectl delete ns ztunnel

删除 istio-system 命名空间

kubectl delete ns istio-system

删除 istio-cni 命名空间

kubectl delete ns istio-cni

通过 CLI 卸载

要从 Alauda Container Platform 以 ambient 模式卸载 Alauda Service Mesh v2 Operator,必须删除以下内容:

  • Waypoint proxy Gateway 资源
  • ZTunnel 资源
  • Istio 资源
  • IstioCNI 资源
  • Alauda Service Mesh v2 Operator
  • ztunnel 项目
  • istio-system 项目
  • istio-cni 项目

您还可以选择删除 Istio 自定义资源定义(CRD)。

可以使用 Alauda Container Platform 命令行界面(CLI)卸载 Alauda Service Mesh v2 Operator。

操作步骤

删除 waypoint proxy Gateway 资源

  1. 列出所有命名空间中的 waypoint proxy Gateway 资源:

    kubectl get gateway -A -l istio.io/waypoint-for

    示例输出

    NAMESPACE   NAME       CLASS            ADDRESS        PROGRAMMED   AGE
    bookinfo    waypoint   istio-waypoint   10.4.52.57     True         1d
  2. 删除所有 waypoint proxy Gateway 资源:

    kubectl delete gateway -A -l istio.io/waypoint-for

    示例输出

    gateway.gateway.networking.k8s.io "waypoint" deleted from bookinfo namespace

移除 ambient data plane 标签并删除 ZTunnel 资源

  1. 列出所有加入 ambient data plane 的命名空间:

    kubectl get ns -l istio.io/dataplane-mode=ambient

    示例输出

    NAME       STATUS   AGE
    bookinfo   Active   1d
  2. 从所有已加入的命名空间中移除 istio.io/dataplane-mode 标签:

    kubectl label namespaces -l istio.io/dataplane-mode istio.io/dataplane-mode- --overwrite
  3. 执行以下命令获取 ZTunnel 资源名称:

    kubectl get ztunnel

    示例输出

    NAME      NAMESPACE   READY   STATUS    VERSION   AGE
    default   ztunnel     True    Healthy   v1.30.4   1d
  4. 删除 ZTunnel 资源:

    kubectl delete ztunnel/default

    示例输出

    ztunnel.sailoperator.io "default" deleted

删除 Istio 资源

  1. 执行以下命令获取 Istio 资源名称:

    kubectl get istio

    示例输出

    NAME                       NAMESPACE      PROFILE   REVISIONS   READY   IN USE   ACTIVE REVISION   STATUS            VERSION   AGE
    <name_of_custom_resource>  istio-system   ambient   1           1       1        default           ZTunnelNotFound   v1.30.4   1d
  2. 使用上一条命令输出中的名称替换 <name_of_custom_resource>,然后运行以下命令将其删除:

    kubectl delete istio/<name_of_custom_resource>

    示例输出

    istio.sailoperator.io "<name_of_custom_resource>" deleted

删除 IstioCNI 资源

  1. 执行以下命令获取 IstioCNI 资源:

    kubectl get istioCNI

    示例输出

    NAME      NAMESPACE   PROFILE   READY   STATUS    VERSION   AGE
    default   istio-cni   ambient   True    Healthy   v1.30.4   1d
  2. 运行以下命令将其删除:

    kubectl delete istioCNI/default

    示例输出

    istiocni.sailoperator.io "default" deleted

删除 ztunnelistio-systemistio-cni 命名空间

  1. 使用以下命令删除 ztunnel 命名空间:

    kubectl delete ns ztunnel

    示例输出

    namespace "ztunnel" deleted
  2. 使用以下命令删除 istio-system 命名空间:

    kubectl delete ns istio-system

    示例输出

    namespace "istio-system" deleted
  3. 使用以下命令删除 istio-cni 命名空间:

    kubectl delete ns istio-cni

    示例输出

    namespace "istio-cni" deleted

卸载 Alauda Service Mesh v2 Operator

  1. 删除 servicemesh-operator2 订阅:

    kubectl delete subscription servicemesh-operator2 -n sail-operator

    示例输出

    subscription.operators.coreos.com "servicemesh-operator2" deleted from sail-operator namespace

删除 Istio 自定义资源定义

删除 Istio 自定义资源定义(CRD)是可选步骤。

操作步骤

  1. 要删除 Istio CRD,请执行以下命令:

    kubectl get crds -oname | grep -e istio.io -e sailoperator.io | xargs kubectl delete