1.要修改 CoreDNS ConfigMap 并添加条件转发服务器配置
强制所有非集群 DNS 查找通过特定的域名服务器(位于172.16.0.1),将 proxy 和 forward 指向域名服务器,而不是 /etc/resolv.conf。
如果集群的 Consul 域服务器位于 10.150.0.1,并且所有 Consul 名称都带有后缀.consul.local
$ kubectl -n kube-system edit configmap coredns
输出内容如下:
apiVersion: v1kind: ConfigMapmetadata: annotations: labels: eks.amazonaws.com/component: coredns k8s-app: kube-dns name: coredns namespace: kube-systemdata: Corefile: | .:53 { errors health kubernetes cluster.local in-addr.arpa ip6.arpa { pods insecure upstream 172.16.0.1 fallthrough in-addr.arpa ip6.arpa } prometheus :9153 proxy . 172.16.0.1 cache 30 loop reload loadbalance } domain-name:53 { errors cache 30 forward . custom-dns-server reload } consul.local:53 { errors cache 30 proxy . 10.150.0.1 }
注意:将域名替换为您的域名。将 custom-dns-server 替换为您的自定义 DNS 服务器 IP 地址。
$ kubectl run busybox --restart=Never --image=busybox -- sleep 3600$ kubectl exec busybox -- nslookup domain-name