【发布时间】:2020-01-30 17:40:17
【问题描述】:
是否可以在 Kubernetes 中使用私有 DNS?例如,应用程序需要通过其主机名连接到外部数据库。解析 IP 的 DNS 条目存放在私有 DNS 中。
我的 AKS(Azure Kubernetes 服务)在 1.17 版上运行,该版本已使用新的 coreDNS。
我的第一次尝试是通过配置 pod 的 /etc/resolve.conf 文件,在 VM 上使用私有 DNS:
dnsPolicy: "None"
dnsConfig:
nameservers:
- 10.76.xxx.xxx
- 10.76.xxx.xxx
searches:
- az-q.example.com
options:
- name: ndots
value: "2"
然后我尝试使用configmap来调整coreDNS:
apiVersion: v1
kind: ConfigMap
metadata:
name: kube-dns
namespace: kube-system
data:
upstreamNameservers: |
["10.76.xxx.xxx", "10.76.xxx.xxx"]
但我的 pod 每次在部署时都会出错:
$ sudo kubectl logs app-homepage-backend-xxxxx -n ingress-nginx
events.js:174
throw er; // Unhandled 'error' event
^
Error: getaddrinfo ENOTFOUND az-q.example.com az-q.example.com:636
at GetAddrInfoReqWrap.onlookup [as oncomplete] (dns.js:56:26)
我错过了什么?
【问题讨论】:
标签: kubernetes coredns