允许使用Istio CNI插件从init容器请求Kubernetes API
我已经配置了istio,但没有启用CNI插件 当时,我有一个init容器,其中包含一个服务帐户,该帐户将调用Kubernetes API来验证几件事情(通过kubectl) 由于我启用了CNI加载项,此初始化容器失败,并显示以下消息: 与服务器10.23.64.1:443的连接被拒绝-是否指定了正确的主机或端口 我试图删除我的所有网络策略,看看这是否是问题所在,但结果相同。 我还提供了服务帐户,该pods使用集群管理员角色,但它没有做到这一点 我用Istio的1.6和1.7分支进行了测试允许使用Istio CNI插件从init容器请求Kubernetes API,kubernetes,istio,cni,Kubernetes,Istio,Cni,我已经配置了istio,但没有启用CNI插件 当时,我有一个init容器,其中包含一个服务帐户,该帐户将调用Kubernetes API来验证几件事情(通过kubectl) 由于我启用了CNI加载项,此初始化容器失败,并显示以下消息: 与服务器10.23.64.1:443的连接被拒绝-是否指定了正确的主机或端口 我试图删除我的所有网络策略,看看这是否是问题所在,但结果相同。 我还提供了服务帐户,该pods使用集群管理员角色,但它没有做到这一点 我用Istio的1.6和1.7分支进行了测试 这里的
这里的问题是什么?没有此init容器的其他POD可以正常工作。要启用istio cni的init容器网络连接,请遵循istio的解决方法指南: 与应用程序初始化容器的兼容性 Istio CNI插件可能会导致任何应用程序的网络连接问题
initContainers
。使用Istio CNI时,kubelet
通过以下步骤启动注入吊舱:
- 设置
注释以禁用将流量重定向到init容器与之通信的任何CIDRtraffic.sidecar.istio.io/excludeOutboundIPRanges
- 设置
注释以禁用将流量重定向到init容器使用的特定出站端口traffic.sidecar.istio.io/excludeOutboundPorts