【问题标题】:Failed calling webhook "namespace.sidecar-injector.istio.io"调用 webhook 失败“namespace.sidecar-injector.istio.io”
【发布时间】:2021-10-06 20:32:15
【问题描述】:

我之前已经使用 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 输出接受 sudo iptables -F
  • 重启所有节点
  • 手动 istio pod 注入

设置

  • k8s 版本:1.21.2
  • istio:1.10.3
  • 高可用性设置
  • CNI:编织
  • CRI:容器化

【问题讨论】:

  • 你看到this question了吗?你的 api-server 和 sidecar-injector 之间有连接吗?
  • 是的,端口已打开,但仍无法连接。
  • 你是如何检查连接的?
  • 来自 kube-apiserver pod。试图连接到 10.104.136.116:443 但它不能。但是当我使用 istiod(sidecar-injector) pod 的 IP 时它可以连接。
  • 我对虚拟机没有可见性和控制权,网络级别较低。我不确定是否发生了变化,我测试过这是否有效。我已经通过将我的 CNI 从编织改为法兰绒来完成这项工作。 k8s 版本 1.21.3,containerd 1.3.7

标签: kubernetes istio


【解决方案1】:

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

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

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

【讨论】:

  • 好吧,我也有同样的问题。 stackoverflow.com/questions/69985819/… 有什么建议吗?
  • 您好,请您尝试进入kube-api服务器,然后尝试是否可以通过服务IP和pod IP连接到istiod?如果是这样,我们有同样的问题
  • @letthefirefileslive 好吧,pingtelnetcurlapi-server 中不可用。您是如何检查连接性的?
猜你喜欢
  • 2021-04-12
  • 2020-05-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-12-09
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多