为什么容器无法连接互联网?
当容器无法连接互联网时,首先需要排查容器所在节点能否连接互联网。其次,需要查看容器的网络配置是否正确,例如DNS配置是否可以正常解析域名。
排查项一:节点能否连接互联网
- 登录ECS控制台。
- 查看节点对应的弹性云服务器是否已绑定弹性IP或者配置NAT网关。
如图1,若弹性IP一栏有IP地址,表示已绑定弹性IP;若没有,请为弹性云服务器绑定弹性IP。
排查项二:节点是否配置网络ACL
- 登录VPC控制台。
- 单击左侧导航栏的“访问控制 > 网络ACL”。
- 排查节点所在集群的子网是否配置了网络ACL,并限制了外部访问。
排查项三:检查容器DNS配置
在容器中执行cat /etc/resolv.conf命令,查看DNS配置。示例如下:
nameserver 10.247.x.x search default.svc.cluster.local svc.cluster.local cluster.local options ndots:5
若nameserver设置为10.247.x.x说明DNS对接到集群的CoreDNS,需要确保集群CoreDNS工作负载运行正常。如果是其他IP地址,则表示采用云上DNS或者用户自建的DNS,请您自行确保解析正常。
更多域名解析异常的排查思路,请参见CCE集群中域名解析失败。