KubeSphere 2.1 之前会默认安装 istio,如果不需要这个功能,该如何停用呢?
此教程同样适用于 KubeSphere 3.0版本

停用istio

  1. 保存 mutatingwebhook 配置文件 由于KubeSphere采用的是自动注入sidecar的形式,会创建 admission webhook 来实现自动注入的功能,需要先保存下webhook配置文件,以便后面需要重新启用。

     kubectl get mutatingwebhookconfigurations.admissionregistration.k8s.io istio-sidecar-injector -o yaml > istio-sidecar-injector.yaml     
  2. 删除istio的webhook

kubectl delete mutatingwebhookconfigurations.admissionregistration.k8s.io istio-sidecar-injector
  1. 停用istio 停用istio很简单,只需要将 istio-system 下的所有工作负载的副本 scale 到 0 即可。

     kubectl -n istio-system scale deployment --all --replicas=0

重新启用 Istio

  1. 启用istio工作负载 工作负载scale到1即可,因为控制平面设置了HPA,可以自动根据负载调整副本大小,不用担心1个副本导致性能问题。
kubectl -n istio-system scale deployment --all --replicas=1
  1. 创建mutatingwebhook 将之前保存的配置文件应用一下即可,应用下面命令之前,需要确保 istio-system 下 pod 都已经是 Running 状态
kubectl create -f istio-sidecar-injector.yaml
    1 年 后
    2 个月 后
    8 个月 后
    2 个月 后

    如何完全删除呢,现在把istio停用了,我就没法创建其他pod

      16 天 后

      nightthief 你肯定没有按照 上面的步骤来啊,你执行下下面的命令,看下 sidecar-injector 还在么,在的话删除下

       kubectl get mutatingwebhookconfigurations.admissionregistration.k8s.io 
        19 天 后

        Jeff 看到了,名字变了,istio-sidecar-injector-1-6-10,把这个删了就好了