更新时间:2024-03-15 GMT+08:00

卸载服务网格后,状态一直为未就绪

问题描述

在ASM控制台卸载服务网格后,网格状态一直显示为“未就绪”。

问题定位

  1. 登录CCE控制台,在左侧导航栏选择“模板市场 > 示例模板”。
  2. 单击“模板实例”页签,在搜索框中选择对应集群,查看模板实例和卸载失败最新事件。

    可以看到istio-master模板实例的执行状态为“卸载失败”,并且最新事件提示如下信息:

    deletion failed with 1 error(s): clusterroles:rbac.authorization.k8s.io "istio-cleanup-secrets-istio-system" already exists

原因分析

helm对中断状态支持不好,客户异常操作会导致istio的helm模板卡在中间状态,使卸载过程中留下残留资源,从而导致卸载失败。

解决方法

  1. 通过kubectl连接到CCE集群。
  2. 执行以下命令,清理istio相关资源。

    kubectl delete ServiceAccount -n istio-system `kubectl get ServiceAccount -n istio-system | grep istio | awk '{print $1}'`
    kubectl delete ClusterRole -n istio-system `kubectl get ClusterRole -n istio-system | grep istio | awk '{print $1}'`
    kubectl delete ClusterRoleBinding -n istio-system `kubectl get ClusterRoleBinding -n istio-system | grep istio | awk '{print $1}'`
    kubectl delete job -n istio-system `kubectl get job -n istio-system | grep istio | awk '{print $1}'`
    kubectl delete crd -n istio-system `kubectl get crd -n istio-system | grep istio | awk '{print $1}'`
    kubectl delete mutatingwebhookconfigurations -n istio-system `kubectl get mutatingwebhookconfigurations -n istio-system | grep istio | awk '{print $1}'`

  3. 登录ASM控制台,重新执行卸载操作。