微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

调用 webhook 失败“namespace.sidecar-injector.istio.io”

如何解决调用 webhook 失败“namespace.sidecar-injector.istio.io”

我之前已经使用 istio ingressgateway 进行了部署。我不知道 istio 或 k8s 方面有任何变化。

当我尝试部署时,我在副本集端看到一个错误,这就是它无法创建新 Pod 的原因。

创建错误:发生内部错误调用 webhook 失败 “namespace.sidecar-injector.istio.io”:发布 “https://istiod.istio-system.svc:443/inject?timeout=10s”:拨tcp 10.104.136.116:443:连接:没有到主机的路由

当我尝试进入 api-server 并 ping 10.104.136.116(istiod 服务 IP)时,它只是挂起。

到目前为止我尝试过的:

  • 删除了所有的 coredns pod
  • 删除了所有 istiod pod
  • 删除了所有编织豆荚
  • 通过 istioctl x uninstall --purge 重新安装 istio
  • 开启所有虚拟机防火墙
  • sudo iptables -P 输入接受 sudo iptables -P 转发接受 sudo iptables -P 输出接受 须藤 iptables -F
  • 重启所有节点
  • 手动 istio pod 注入

设置

  • k8s 版本:1.21.2
  • istio:1.10.3
  • HA 设置
  • CNI:编织
  • CRI:容器

解决方法

对于为什么会发生这种情况,我没有明确的答案。但是kube-apiserver不能通过服务IP访问istiod,我用的是istiod pod IP可以连接。

因为我无法控制 VM 和较低的网络层,并且不确定它们是否已更改某些内容(因为它之前可以正常工作)。

我通过将 CNI 从编织改为法兰绒来完成这项工作

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。