TKE容器内部无法通过内网访问CVM里面的服务

2023年11月14日19:16:06 发表评论 796 ℃

最近发现k8s容器内无法访问内网的负载均衡,直接访问后端CVM也不行。

使用的是腾讯云的TKE和clb,clb后端负载了三个CVM服务器。

其他集群容器内部都可以通过内网访问这个clb和cvm。

在排查了所有的安全组,防火墙限制,以及容器节点组件问题以后给腾讯云提交了一个工单。

最终原因是因为TKE容器的网段和CVM里面的docker网段冲突了导致无法访问。

TKE的GlobalRouter网络插件是让容器内网络和VPC在同一个层面,这就导致了网络并不是独立的,所以和CVM里面的docker网段冲突了。

GlobalRouter 网络模式是容器服务 TKE 基于底层私有网络 VPC 的全局路由能力,实现了容器网络和 VPC 互访的路由策略。该网络模式特征包含以下几点:

容器路由直接通过 VPC。

容器与节点分布在同一网络平面。

容器网段分配灵活,容器 IP 段不占用 VPC 的其他网段。

我也看了下关于GlobalRouter的限制:

TKE容器内部无法通过内网访问CVM里面的服务

我在使用阿里云ACK的Terway网络插件也是遇到过类似的问题,所以使用GlobalRouter、Terway这种类似插件尽量还是单独用一个网段,不要使用172.16网段。

我的解决方案是配置CVM的公网IP进行访问或者更改docker容器网段。

【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: