KubeSphere 2.1 之前会默认安装 istio,如果不需要这个功能,该如何停用呢?
此教程同样适用于 KubeSphere 3.0版本
停用istio
保存 mutatingwebhook 配置文件 由于KubeSphere采用的是自动注入sidecar的形式,会创建 admission webhook 来实现自动注入的功能,需要先保存下webhook配置文件,以便后面需要重新启用。
kubectl get mutatingwebhookconfigurations.admissionregistration.k8s.io istio-sidecar-injector -o yaml > istio-sidecar-injector.yaml
删除istio的webhook
kubectl delete mutatingwebhookconfigurations.admissionregistration.k8s.io istio-sidecar-injector
停用istio 停用istio很简单,只需要将 istio-system 下的所有工作负载的副本 scale 到 0 即可。
kubectl -n istio-system scale deployment --all --replicas=0
重新启用 Istio
- 启用istio工作负载 工作负载scale到1即可,因为控制平面设置了HPA,可以自动根据负载调整副本大小,不用担心1个副本导致性能问题。
kubectl -n istio-system scale deployment --all --replicas=1
- 创建mutatingwebhook 将之前保存的配置文件应用一下即可,应用下面命令之前,需要确保
istio-system
下 pod 都已经是 Running
状态
kubectl create -f istio-sidecar-injector.yaml