You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何从Kubernetes集群中完全卸载Istio所有组件?

完全卸载Istio 1.0.5的详细步骤

没问题,我来帮你一步步搞定Istio 1.0.5的完全卸载,确保把所有相关组件——包括容器、Ingress、Egress,还有istio-demo-auth.yaml安装的全部资源,甚至之前设置的自动注入标签和CRD都清理干净。

1. 卸载istio-demo-auth.yaml对应的所有核心资源

首先反向删除通过这个配置文件创建的所有Istio组件,包括控制平面、网关、服务、配置等:

kubectl delete -f istio-1.0.5/install/kubernetes/istio-demo-auth.yaml

这个命令会自动清理所有由该yaml定义的资源,比如IngressGateway、EgressGateway、Pilot、Mixer、Citadel这些组件的Deployment、Service、ConfigMap等。

2. 删除Istio自定义资源定义(CRD)

之前你安装了Istio的CRD,现在需要一并删除:

kubectl delete -f istio-1.0.5/install/kubernetes/helm/istio/templates/crds.yaml

注意:如果你的集群中还有其他依赖这些CRD的自定义资源,需要先手动清理掉这些资源再执行上面的命令;如果是完全卸载Istio,直接执行即可。

3. 移除命名空间的Istio自动注入标签

清理之前给default命名空间设置的自动注入标签:

kubectl label namespace default istio-injection-

这里的-是Kubernetes删除标签的标准语法,确保后续部署的Pod不会被自动注入Istio Sidecar。

4. 验证并清理残留资源

执行完上面的步骤后,检查是否还有残留的Istio相关资源:

  • 检查istio-system命名空间下的Pod:
    kubectl get pods -n istio-system
    
    如果还有未被删除的Pod,可以强制清理:
    kubectl delete pods --all -n istio-system
    
  • 检查istio-system命名空间下的Service:
    kubectl get svc -n istio-system
    
  • 最后,确认istio-system命名空间没有其他非Istio资源后,可以删除该命名空间:
    kubectl delete namespace istio-system
    

额外注意事项

  • 如果你之前部署了带有Istio Sidecar的应用,需要重新部署这些应用——因为卸载Istio不会自动移除已存在Pod中的istio-proxy容器,重新部署后Pod会恢复为普通的无Sidecar状态。
  • 确保执行命令时,istio-1.0.5的路径和你实际的安装路径一致,如果路径不同,替换成你本地的Istio安装包路径即可。

内容的提问来源于stack exchange,提问作者user674669

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.11 09:05:06