更新时间:2024-01-04 GMT+08:00

为什么容器无法连接互联网?

当容器无法连接互联网时,首先需要排查容器所在节点能否连接互联网。其次,需要查看容器的网络配置是否正确,例如DNS配置是否可以正常解析域名。

排查项一:节点能否连接互联网

  1. 登录ECS控制台。
  2. 查看节点对应的弹性云服务器是否已绑定弹性IP或者配置NAT网关。

    如下图,若弹性IP一栏有IP地址,表示已绑定弹性IP;若没有,请为弹性云服务器绑定弹性IP。

    图1 节点是否已绑定弹性IP

排查项二:节点是否配置网络ACL

  1. 登录VPC控制台。
  2. 单击左侧导航栏的“访问控制 > 网络ACL”。
  3. 排查节点所在集群的子网是否配置了网络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,请您自行确保解析正常。