卸载 ambient 模式下的 Alauda Service Mesh

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

通过 Web 控制台卸载

要从 Alauda Container Platform 的 ambient 模式中卸载 Alauda Service Mesh v2 Operator,需要删除以下组件:

  • Waypoint proxy Gateway resources
  • ZTunnel resource
  • Istio resource
  • IstioCNI resource
  • Alauda Service Mesh v2 Operator
  • ztunnel namespace
  • istio-system namespace
  • istio-cni namespace

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

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

操作步骤

删除 waypoint proxy Gateway resources

从已部署 waypoint proxy 的每个 namespace 中移除所有 waypoint proxy Gateway resources。您可以通过 Gateway resources 上的 istio.io/waypoint-for label 来识别 waypoint proxy。

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

从 namespaces 中移除 ambient data plane label

从所有已加入 ambient data plane 的 namespaces 中移除 istio.io/dataplane-mode=ambient label:

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

删除 ZTunnel resource

  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 resource 的 "" 按钮,然后在菜单中单击 Delete
  8. 出现提示时,单击 Delete 确认操作。

删除 Istio resource

OperatorHubAlauda Service Mesh v2 视图中:

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

删除 IstioCNI resource

OperatorHubAlauda Service Mesh v2 视图中:

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

卸载 Alauda Service Mesh v2 Operator

OperatorHubAlauda Service Mesh v2 视图中:

  1. 单击右上角的 Uninstall 按钮。
  2. 在确认提示中,阅读卸载说明:移除 operator 不会删除其任何自定义资源定义或受管资源。如果您已创建资源实例,需要手动将其删除。
  3. 单击 Uninstall

删除 ztunnel namespace

kubectl delete ns ztunnel

删除 istio-system namespace

kubectl delete ns istio-system

删除 istio-cni namespace

kubectl delete ns istio-cni

通过 CLI 卸载

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

  • Waypoint proxy Gateway resources
  • ZTunnel resource
  • Istio resource
  • IstioCNI resource
  • Alauda Service Mesh v2 Operator
  • ztunnel project
  • istio-system project
  • istio-cni project

此外,您还可以删除 Istio 自定义资源定义(CRDs)。

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

操作步骤

删除 waypoint proxy Gateway resources

  1. 列出所有 namespace 中的所有 waypoint proxy Gateway resources:

    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 resources:

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

    示例输出

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

移除 ambient data plane label 并删除 ZTunnel resource

  1. 列出所有已加入 ambient data plane 的 namespaces:

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

    示例输出

    NAME       STATUS   AGE
    bookinfo   Active   1d
  2. 从所有已加入的 namespaces 中移除 istio.io/dataplane-mode label:

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

    kubectl get ztunnel

    示例输出

    NAME      NAMESPACE   READY   STATUS    VERSION   AGE
    default   ztunnel     True    Healthy   v1.28.6   1d
  4. 删除 ZTunnel resource:

    kubectl delete ztunnel/default

    示例输出

    ztunnel.sailoperator.io "default" deleted

删除 Istio resource

  1. 通过执行以下命令获取 Istio resource 名称:

    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.28.6   1d
  2. 使用上一个命令输出中的名称替换 <name_of_custom_resource>,然后运行以下命令将其移除:

    kubectl delete istio/<name_of_custom_resource>

    示例输出

    istio.sailoperator.io "<name_of_custom_resource>" deleted

删除 IstioCNI resource

  1. 通过执行以下命令获取 IstioCNI resource:

    kubectl get istioCNI

    示例输出

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

    kubectl delete istioCNI/default

    示例输出

    istiocni.sailoperator.io "default" deleted

删除 ztunnelistio-systemistio-cni namespaces

  1. 使用以下命令删除 ztunnel namespace:

    kubectl delete ns ztunnel

    示例输出

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

    kubectl delete ns istio-system

    示例输出

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

    kubectl delete ns istio-cni

    示例输出

    namespace "istio-cni" deleted

卸载 Alauda Service Mesh v2 Operator

  1. 删除 servicemesh-operator2 subscription:

    kubectl delete subscription servicemesh-operator2 -n sail-operator

    示例输出

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

删除 Istio 自定义资源定义

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

操作步骤

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

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