You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

MicroK8s环境下Pod无法通过DNS域名访问外网但IP访问正常的问题求助

MicroK8s环境下Pod无法通过DNS域名访问外网但IP访问正常的问题求助

大家好,我刚接触Kubernetes,学了大概几周时间,目前用的是MicroK8s默认安装,只启用了dns和metallb这两个插件,还跑了一个装了curl的Alpine Pod用来做测试。

目前大部分功能都正常:部署、节点状态没问题,同命名空间和跨命名空间的Pod之间通信也都正常。但遇到一个头疼的问题——Pod里没法通过DNS域名访问外网,具体现象如下:

  • 用域名访问时直接失败:
    curl google.com -> curl: (7) Failed to connect to google.com port 80 after 14 ms: Couldn't connect to server
    
  • 但直接用IP访问就完全正常:
    curl 142.250.184.78 -> OK
    

更奇怪的是ping命令的表现:用域名ping的时候,解析出来的是127.0.0.1:

ping google.com -> 64 bytes from 127.0.0.1: seq=0 ttl=64 time=0.030 ms

而直接pingIP就正常返回外网节点的响应:

ping 142.250.184.78 -> 64 bytes from 142.250.184.78: seq=0 ttl=114 time=8.997 ms

我自己试着去查Calico相关的配置,但实在摸不着头绪,有没有大佬能给点方向或者解决方案?万分感谢!

我的环境信息:

  • 硬件:家用网络里的一台Ubuntu 22.04.1专用机器
  • Kubernetes:默认安装的MicroK8s,仅启用dns、metallb插件
  • 测试容器:装有curl包的Alpine镜像

备注:内容来源于stack exchange,提问作者Hero Kato

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.23 12:47:33