我按照本教程安装了 kubernetes 。
我的一个容器尝试从外部域(例如 google.com)获取资源。但它失败了,因为 kubernetes dns 不使用外部名称解析。
如何使用 dns 8.8.8.8 配置 kubernetes?
我们也在研究这个怪癖。silverfox 已经提到了“dnsPolicy”——默认情况下,pod 配置为从托管节点继承 dns 配置。
我还没有尝试过(我们通过 api 控制我们的 pod 规范),但显然您可以通过在 pod yaml 中将 Pods dnsPolicy 指定为“None”来覆盖它。您需要使用 dnsConfig 自定义 pod 的配置。
在 yml 中:
spec:
dnsPolicy: None
dnsConfig:
nameservers:
- 1.1.1.1
- 8.8.8.8
该文档写得很好:https ://kubernetes.io/docs/concepts/services-networking/dns-pod-service/