my-svc.my-namespace.svc.cluster.local
,解析 IP 分为两种情况_my-port-name._my-port-protocol.my-svc.my-namespace.svc.cluster.local
pod-ip-address.my-namespace.pod.cluster.local
hostname.custom-subdomain.default.svc.cluster.local
,如下所示/etc/kubernetes/addons
目录中。当然也可以手动部署:cmd/<cmd-name>/main.go
开始,并分别调用 pkg/dns
、pkg/dnsmasq
和 pkg/sidecar
完成相应的功能。而最核心的 DNS 解析则是直接引用了 github.com/skynetservices/skydns/server
的代码,具体实现见 skynetservices/skydns。nameserver 127.0.0.53
。由于这是一个本地地址,从而会导致 CoreDNS 或者 kube-dns 无法解析外网地址。