我想通过向我的 DNS 服务器添加一个存根区域来从 Kubernetes 集群外部解析 kube-dns 名称。这需要将 cluster.local 域更改为适合我的 DNS 命名空间的内容。
集群 DNS 与 cluster.local 一起工作正常。要更改域,我已将 /etc/systemd/system/kubelet.service.d/10-kubeadm.conf 上的 KUBELET_DNS_ARGS 行修改为:
Environment="KUBELET_DNS_ARGS=--cluster-dns=x.y.z --cluster-domain=cluster.mydomain.local --resolv-conf=/etc/resolv.conf.kubernetes"
重启 kubelet 后,外部名称是可解析的,但 kubernetes 名称解析失败。
我可以看到 kube-dns 仍在运行:
/kube-dns --domain=cluster.local. --dns-port=10053 --config-dir=/kube-dns-config --v=2
我唯一能找到 cluster.local 的地方是在 pods yaml 配置中,内容如下:
containers:
- args:
- --domain=cluster.local.
- --dns-port=10053
- --config-dir=/kube-dns-config
- --v=2
修改 yaml 并使用重新创建 pod 后
kubectl replace --force -f kube-dns.yaml
我仍然看到 kube-dns 从 --domain=cluster.local 开始。
我错过了什么?