当我运行 nslookup
在我的 docker 容器上,我收到此错误
nslookup 10.0.96.xx
nslookup: can't resolve '(null)': Name does not resolve
Name: 10.0.96.xx
Address 1: 10.0.96.xx
我已经读到问题来自 docker,它在
resolv.conf
上注入(inject)了这个。 :nameserver 10.109.0.xx
nameserver 10.96.0.xx
search devlan.xxx.corp poc.svc.cluster.local svc.cluster.local cluster.local
options ndots:2 edns0
使用 kubernetes,我尝试在我的
PodConfFile.yaml
上使用以下参数覆盖它.spec:
dnsPolicy: "None"
# dnsPolicy: ClusterFirst
dnsConfig:
nameservers:
- 10.109.0.xx
- 10.96.0.xx
searches:
- devlan.xxx.corp
- poc.svc.cluster.local
- svc.cluster.local
- cluster.local
options:
- name: ndots
value: "2"
- name: edns0
你对解决这个问题有什么建议吗?
最佳答案
我找到了解决这个问题的方法。在您的 Pod 上删除此参数
nameserver options searches
并添加一个
spec:
dnsPolicy: Default
它将直接继承 DNS 配置。
您将能够 ping 外部服务。
关于kubernetes - 名称在 Kubernetes 中无法使用 docker 解析,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51138175/