卸载

本页面介绍如何卸载 Anthos Service Mesh。

卸载 Anthos Service Mesh

使用以下命令卸载使用原始配置的配置文件来安装的 Anthos Service Mesh 组件。这些命令会删除 istio-system 命名空间和所有自定义资源定义 (CRD),包括您应用的任何 CRD。如果您创建了 CRD,请确保您拥有其副本。

  1. 根据后续步骤,选择下面其中一个步骤,移除控制层面:

    • 如果您在 GKE on VMware、GKE on AWS、Amazon Elastic Kubernetes Service 或 Microsoft Azure Kubernetes Service 上安装了 Anthos Service Mesh:

      istioctl manifest generate --manifests=YOUR_MANIFESTS_DIRECTORY --set profile=asm-multicloud | kubectl delete --ignore-not-found=true -f -
      
    • 如果您在 Google Kubernetes Engine 上安装了 Anthos Service Mesh:

      istioctl manifest generate --manifests=YOUR_MANIFESTS_DIRECTORY --set profile=asm-gcp | kubectl delete --ignore-not-found=true -f -
      
  2. 删除 istio-system 命名空间:

     kubectl delete namespace istio-system
    
  3. 检查是否成功删除了:

     kubectl get ns
    

    输出应指示 Terminating 状态并返回所示内容,否则您可能需要手动删除命名空间中的其余资源并重试。

     NAME                 STATUS       AGE
     istio-system         Terminating  71m
    
  4. 为您的命名空间停用 Sidecar 自动注入功能(如果已启用):

     kubectl get namespace YOUR_NAMESPACE --show-labels
    

    输出类似于以下内容:

     NAME   STATUS   AGE     LABELS
     demo   Active   4d17h   istio.io/rev=asm-181-5

    如果您在 LABELS 列下方的输出中看到 istio.io/rev=,请将其移除:

     kubectl label namespace YOUR_NAMESPACE istio.io/rev-
    

    如果您在 LABELS 列下方的输出中看到 istio-injection,请将其移除:

     kubectl label namespace YOUR_NAMESPACE istio-injection-
    

    如果没有看到 istio.io/revistio-injection 标签,则表示命名空间未启用自动注入功能。