问题描述
我已经在 k8 集群中成功安装了 Istio。
-
Istio 版本为 1.9.1
-
使用的 Kubernetes CNI 插件:Calico 3.18 版(Calico POD 已启动并运行)
kubectl get pod -A
istio-system istio-egressgateway-bd477794-8rnr6 1/1 Running 0 124m
istio-system istio-ingressgateway-79df7c789f-fjwf8 1/1 Running 0 124m
istio-system istiod-6dc55bbdd-89mlv 1/1 Running 0 124
Failed calling webhook sidecar-injector.istio.io context deadline exceeded
Post "https://istiod.istio-system.svc:443/inject?timeout=30s":
context deadline exceeded
当我禁用自动代理 sidecar 注入时,pod 的部署没有任何错误。
kubectl label namespace default istio-injection-
解决方法
在这种情况下,将 hostNetwork:true
下的 spec.template.spec
添加到 istiod
部署可能会有所帮助。
使用 Calico CNI 进行 pod 网络时,这似乎是一种解决方法(请参阅:failed calling webhook "sidecar-injector.istio.io)
正如我们在 Kubernetes Host namespaces documentation 中所见:
HostNetwork - 控制 pod 是否可以使用节点网络命名空间。这样做可以让 pod 访问环回设备、侦听本地主机上的服务,并可用于窥探同一节点上其他 pod 的网络活动。