原本我的kubenetes中已经安装了istio,但是由于前期准备工作没有做好,所以就把istio删除了,但是删除后已经入侵的job在发布的时候会提示“Internal error occurred: failed calling webhook "sidecar-injector.istio.io": Post "https://istiod-1-6-10.istio-system.svc:443/inject?timeout=30s": service "istiod-1-6-10" not found; Deployment does not have minimum availability.”。首先,确认一下,这个问题是因为istio没有完全删除,在master分支里还有istio的信息。我们要操作的顺序如下,首先把istio的模版导出来方便以后重新使用。
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是否还存在
kubectl get mutatingwebhookconfigurations.admissionregistration.k8s.io
停用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
以上就是针对Istio的卸载和停用方法,没有了在看些其他的吧。。。。
2022年1月25日 16:29 沙发
66时
2022年1月29日 17:05 1层
@23 嘿嘿