áážááşááťááşá ááŹááŹááźááş: Kubernetes áážá DNS ááźáżááŹá áááŻáˇáááŻááş áááŻáááŻááááťá
á˝áŹá áááˇáşáááşáááşáááşááťáŹá¸ ndotsáĄáśáˇááźá
ááŹááąáŹááşá¸ááąáŹááşáĄáąáŹááş ááŹáááşááźáŽá¸ááąááźáŽá¸á . á¤áĄááźáąáŹááşá¸áĄááŹáážááˇáşá
ááşááťááşá¸áááˇáş áĄááźáŹá¸áážááşá
áŻáá˝ááşá áĄááášááááážá áá˝á˛á
áŹá¸ááŻáášáááŽááźáŽá¸áá
áşááŻááž DevOps áĄááşááťááşááŽááŹáá
áşáŚá¸ááźá
áşááąáŹ áááşá¸áá
áŹááąá¸áá°áááş Kubernetes áááşáááşááąááąáŹ ááŻááşááąáŹáşáááŻááşáááşááťáŹá¸áĄáá˝ááş áĄááŻáśá¸áááşááąáŹáĄááŹááťáŹá¸áĄááźáąáŹááşá¸ áĄáá˝ááşáááŻá¸áážááşá¸ááźáŽá¸ áááŻáááŻááŻááşááŻááşááźááˇáş ááźáąáŹáááŻááŹá¸áááşá

Kubernetes áá˝ááş áĄáááŽááąá¸áážááşá¸ááťáŹá¸ ááźááˇáşááťááşáĄááŻáśá¸ááźáŻááźááşá¸á áĄááááĄááťááŻá¸ááťáąá¸áá°á¸ááťáŹá¸áá˛áážáá
áşááŻáážáŹ ááťáąáŹáá˝áąáˇáážáŻááážáááąáŹ áĄáááŽááąá¸áážááşá¸áážáŹáá˝áąáá˝áąáˇáážáááźááşá¸ááźá
áşáááşá áááşááąáŹááşáážáŻáááąáŹáááŹá¸ááźáąáŹááˇáş áĄá
áŻáĄááąá¸áĄáá˝ááşá¸ áĄááźááşáĄáážááşáááşáá˝ááşáážáŻááᯠáĄáá˝ááşáááŻá¸áážááşá¸á
áąáááş () áááş pod IP ááááşá
áŹáĄá
áŻáśááᯠááśáˇáááŻá¸ááąá¸ááąáŹ virtual IP áá
áşááŻááźá
áşáááşá áĽáááŹááąá¸ááááş áááşááąáŹááşáážáŻááąá¸áááşá vanilla áááşááąáŹááşáážáŻááᯠáááşáá˝ááşáááŻááŤáááşá chocolateáááşá¸áááş virtual IP ááᯠââáááŻááşáááŻááşáááşááąáŹááşáááŻááşáááşá chocolate. ááąá¸áá˝ááşá¸ááąáŤáşááŹáááş- á¤ááá
ášá
áá˝ááş áááşáá°á DNS ááąáŹááşá¸áááŻáážáŻááᯠááźáąáážááşá¸áááşáááşá¸á chocolate ááźáŽá¸ááąáŹáˇ áááşáááŻáá˛?
DNS áĄáááş ááźááşáááşááźááşááŹá¸áážáŻááᯠKubernetes áĄá
áŻáĄááąá¸áá˝ááş áĄááŻáśá¸ááźáŻá ááźááşáááşáááşáážááşááŹá¸áááşá . Kubelet áááş áááŻááşááťáŹá¸áá˝ááş nameserver áĄááźá
áş CoreDNS ááźááˇáş pod áá
áşááŻááᯠáážááşááŻáśáááşáááşá /etc/resolv.conf pods áĄáŹá¸ááŻáśá¸ áĄááźáąáŹááşá¸áĄááŹááᯠááąáˇááŹááźááˇáşáááş /etc/resolv.conf áááşáááˇáş pod ááááŻá áááşá¸áááşá¤áá˛áˇáááŻáˇááąáŹááŻáśááááş-
search hello.svc.cluster.local svc.cluster.local cluster.local
nameserver 10.152.183.10
options ndots:5 ááąáŹááşá¸áááŻááťááşááťáŹá¸ááᯠDNS ááŹááŹáááŻáˇ ááąá¸áááŻáˇáááş á¤áá˝á˛áˇá
ááşá¸ááŻáśááᯠDNS client ááťáŹá¸á áĄááŻáśá¸ááźáŻááŤáááşá áááŻááşáá˛áážáŹ resolv.conf áĄáąáŹááşááŤáĄááťááşáĄáááşááťáŹá¸ááŤáážááááş-
- nameserver: DNS ááąáŹááşá¸áááŻáážáŻááťáŹá¸ááᯠááąá¸áááŻáˇáááˇáş ááŹááŹá ááťá˝ááşáŻááşáááŻáˇáááá ášá áá˝ááşá á¤áááşáážáŹ CoreDNS áááşááąáŹááşáážáŻáááááşá áŹááźá áşáááşá
- áážáŹáážáą: ááŽá¸ááźáŹá¸áááŻááááşá¸áá
áşááŻáĄáá˝ááş áážáŹáá˝áąáážáŻáááşá¸ááźáąáŹááşá¸ááᯠáááşáážááşáááşá á
áááşáááşá
áŹá¸áááŻáˇááąáŹááşá¸áááşá
google.comáááŻáˇáááŻááşmrkaran.devFQDN áááŻááşááŤáá°á¸ () DNS ááźáąáážááşá¸áá°áĄááťáŹá¸á áŻáááŻááşááŹáááˇáşá áśáážáŻááşá¸áĄáá áĄááźá áşááŻááşáááŻáááŻááşá áŹá¸ááźáŻáááˇáş dot "." áážááˇáşáĄááŻáśá¸áááşááąáŹáá°ááťáŹá¸áááŻáᏠáĄáááşáĄááťááşá¸ááźááˇáşááŽááąáŹ (FDQN) áááŻááááşá¸ááťáŹá¸áĄááźá áş áááşáážááşáááşá áĄááťááŻáˇááźáąáážááşá¸áá°ááťáŹá¸áááş áááşá¸áááŻáˇáááŻááşáááŻááş áĄáážááşáááˇáşáááŻááşáááşá áááŻáˇááźáąáŹááşáˇ,mrkaran.dev.áĄáááşáĄááťááşá¸ááźááˇáşááŽááąáŹ áááŻááááşá¸áĄáááş (FQDN) áážááˇáşmrkaran.dev- áááŻááşáá°á¸; - ndots: á
áááşáááşá
áŹá¸á
ááŹáĄááąáŹááşá¸ááŻáśá¸ áááˇáşáááşááťááş (á¤ááąáŹááşá¸ááŤá¸áááş áááşá¸áĄááźáąáŹááşá¸ááźá
áşáááş)á
ndotsáááşá¸ááᯠ"áĄáááşáĄááťááşá¸ááźááˇáşááŽááąáŹ" áááŻááááşá¸áĄáááşáᯠááá°ááᎠááąáŹááşá¸áááŻáážáŻáĄáááşáá áşááŻáážá áĄá ááşááťáŹá¸á ááśááŤá¸ááŻáśááśááŤááşááᯠáááşáážááşááąá¸áááşá DNS áážáŹáá˝áąáážáŻ áĄá áŽáĄá áĽáşááᯠáá˝á˛ááźááşá¸á áááşááźáŹááąáŹáĄááŤáá˝ááş áááşá¸áĄááźáąáŹááşá¸ ááąáŹááşáááşááźáąáŹááŤáááşá

ááąá¸áá˛áˇáĄá፠ááŹááźá
áşáá˝áŹá¸áᲠááźááˇáşááĄáąáŹááş mrkaran.dev pod áá˛áá˝ááş-
$ nslookup mrkaran.dev
Server: 10.152.183.10
Address: 10.152.183.10#53
Non-authoritative answer:
Name: mrkaran.dev
Address: 157.230.35.153
Name: mrkaran.dev
Address: 2400:6180:0:d1::519:6001 á¤á
ááşá¸áááşááťááşáĄáá˝ááşá ááťá˝ááşáŻááşáááş CoreDNS áážááşáááşá¸áĄáááˇáşááᯠáááşáážááşááŹá¸áááşá all (áĄá˛ááŤá ááąáŹáşááąáŹáşááᯠá
ááŹá¸áĄááźáąáŹáĄáááŻ)á á
ááŤá¸áááşáá˝áąáá˛áˇ áážááşáááşá¸áá˝áąááᯠááźááˇáşááĄáąáŹááş coredns:
[INFO] 10.1.28.1:35998 - 11131 "A IN mrkaran.dev.hello.svc.cluster.local. udp 53 false 512" NXDOMAIN qr,aa,rd 146 0.000263728s
[INFO] 10.1.28.1:34040 - 36853 "A IN mrkaran.dev.svc.cluster.local. udp 47 false 512" NXDOMAIN qr,aa,rd 140 0.000214201s
[INFO] 10.1.28.1:33468 - 29482 "A IN mrkaran.dev.cluster.local. udp 43 false 512" NXDOMAIN qr,aa,rd 136 0.000156107s
[INFO] 10.1.28.1:58471 - 45814 "A IN mrkaran.dev. udp 29 false 512" NOERROR qr,rd,ra 56 0.110263459s
[INFO] 10.1.28.1:54800 - 2463 "AAAA IN mrkaran.dev. udp 29 false 512" NOERROR qr,rd,ra 68 0.145091744sáážá°á¸á á¤ááąááŹáá˝ááş áááˇáşáĄáŹááŻáśááᯠáááşá¸á áŹá¸áááŻááşááąáŹ áĄááŹáážá áşááŻ-
- ááąáŹááşá¸áááŻááťááşáááş ááŻáśáˇááźááşáážáŻáá˝ááş ááŻááşáááŤáááşáááťááşá¸ áážáŹáá˝áąáážáŻáĄáááˇáşáĄáŹá¸ááŻáśá¸ááᯠááźááşáááşá¸áá˝áŹá¸áááşááźá
áşáááşá
NOERROR(DNS ááąáŹááşáááşááťáŹá¸á áááşá¸ááᯠááŹá¸áááşááźáŽá¸ ááááşáĄááźá áş ááááşá¸áááşá¸ááŹá¸áááşáNXDOMAINááąá¸ááŹá¸ááąáŹ áááŻááááşá¸áĄáááşáĄáá˝ááş áážááşáááşá¸ááá˝áąáˇáážááááźáąáŹááşá¸ áááŻáááŻáááşá áĄááźáąáŹááşá¸áážáŹámrkaran.devFQDN áĄáááş áááŻááşááŤá (áĄáááŻáĄáándots=5) ááźáąáážááşá¸áá°áááş áážáŹáá˝áąááąá¸áááşá¸ááźáąáŹááşá¸ááᯠááźááˇáşáážáŻááźáŽá¸ ááąáŹááşá¸áááŻáážáŻáĄá áŽáĄá áĽáşááᯠááŻáśá¸ááźááşáááşá - áááŻáˇá
áşááťáŹá¸
ĐиĐĐĐĐááźááŻááşáá° ááąáŹááşáážáááŹáááşá áĄáážááşáážáŹ áá áşááźáááşáááşá¸ ááąáŹááşá¸áááŻááźááşá¸ ááźá áşáááşá/etc/resolv.confááŻáśááąáĄáŹá¸ááźááˇáşá áááşá¸áááŻáˇááᯠIPv4 áážááˇáş IPv6 ááááŻáááŻááąáŹááťáŹá¸ááᯠáĄááŻáśá¸ááźáŻá áĄááźááŻááşáážáŹáá˝áąáážáŻááťáŹá¸ááᯠááŻááşááąáŹááşáááˇáşááŻáśá áśááźááˇáş áááşá¸áááŻáˇááᯠconfigure ááŻááşááŹá¸áááşá áá˝áąá¸ááťááşáá˝ááˇáşááᯠáááˇáşáá˝ááşá¸ááźááşá¸ááźááˇáş áááşáááş á¤áĄááźáŻáĄáá°ááᯠáááşááťááşáááŻááşáááşásingle-requestвresolv.conf.
áážááşááťááş: glibc á¤ááąáŹááşá¸áááŻááťááşááťáŹá¸ááᯠáááşáááŻááşááąá¸áááŻáˇáááşá áážááˇáş musl - áááŻááşááŤá áááŻáˇááźáąáŹááˇáş Alpine áĄááŻáśá¸ááźáŻáá°ááťáŹá¸ áááááźáŻáááˇáşáááşá
ndots ááťáŹá¸ááźááˇáş á ááşá¸áááşááąáááşá
áááşá¸áááşá¸áááşááźáŽá¸ á
ááşá¸áááşááźááˇáşááĄáąáŹááş ndots ááźáŽá¸ááąáŹáˇ áᎠparameter á áááşááᯠááźáŻáá°ááąáᲠááźááˇáşááĄáąáŹááşá á
áááşáá°á¸á áááŻá¸áážááşá¸ááŤáááş ndots DNS ááąáŹááşáááşáááş áááŻááááşá¸áĄáŹá¸ áĄááźá˝ááşá¸áá˛áˇ áááŻáˇáááŻááş áá˝áąááťááŻá¸áĄááźá
áş áááşááśáááşááŹá¸ ááŻáśá¸ááźááşáááşá áĽáááŹáĄáŹá¸ááźááˇáşá áááŻá¸áážááşá¸ááąáŹ google DNS ááááŻááşá¸áááˇáşááá
ášá
áá˝ááşá á¤áááŻááááşá¸áááş áĄááźá˝ááşá¸áá˛áˇááźá
áşáááźá
áş áááşáááŻáˇáááááŻááşááááşá¸á áááşáážááşáááş ndots 1 áážááˇáş ááŽááťážáááşá ááąáŹááşáááşá "áĄááŻá¸á áĄáá˛áážáŹ google áá
áşááŻáááşá¸ááąáŹáĄááťááşááážáááŤá áážáŹáá˝áąáážáŻá
áŹáááşá¸áá
áşááŻááŻáśá¸ááᯠááźááşáá˝áŹá¸áááşáááşáááşá" áááŻáˇááąáŹáş ááąá¸ááťážááş google.comááąáŹááşá¸áááŻááŹá¸ááąáŹáĄáááşáááş áááşáážááşááťááşáážááˇáşáááŻááşááŽááąáŹááźáąáŹááˇáş ááąáŹááşáááşáá˝á˛ááťáŹá¸á
áŹáááşá¸ááᯠááŻáśá¸áááťá
áşááťá°áážáŻáááş ndots (áĄáááşá¸ááŻáśá¸ áĄááťááşáá
áşááŻááąáŹáˇ áážáááŤáááş)á
ááŤááᯠááąááťáŹááźááˇáşááĄáąáŹááşá
$ cat /etc/resolv.conf
options ndots:1
$ nslookup mrkaran
Server: 10.152.183.10
Address: 10.152.183.10#53
** server can't find mrkaran: NXDOMAINCoreDNS áážááşáááşá¸ááťáŹá¸-
[INFO] 10.1.28.1:52495 - 2606 "A IN mrkaran.hello.svc.cluster.local. udp 49 false 512" NXDOMAIN qr,aa,rd 142 0.000524939s
[INFO] 10.1.28.1:59287 - 57522 "A IN mrkaran.svc.cluster.local. udp 43 false 512" NXDOMAIN qr,aa,rd 136 0.000368277s
[INFO] 10.1.28.1:53086 - 4863 "A IN mrkaran.cluster.local. udp 39 false 512" NXDOMAIN qr,aa,rd 132 0.000355344s
[INFO] 10.1.28.1:56863 - 41678 "A IN mrkaran. udp 25 false 512" NXDOMAIN qr,rd,ra 100 0.034629206s áááááşá¸á mrkaran áá
áşááŻáááşá¸ááąáŹáĄááťááşáááŻááşááŤá áĄááŻáśá¸áááşá
áŹáááşá¸áá
áşááŻááŻáśá¸áááŻáážáŹáá˝áąáážáŻááźáŻááŻááşáá˛áˇáááşá
áážááşááťááş- áááşáá˝áąáˇáá˝ááş áĄááźááˇáşááŻáśá¸áááşáááŻá¸ ndots 15 áááˇáşáááş; Kubernetes áá˝ááş áá°áááşá¸áĄáŹá¸ááźááˇáş áááşá¸áááş 5 ááźá
áşáááşá
ááŻááşááŻááşáážáŻáá˝ááşááťážáąáŹááşáá˝ážáŹ
áĄáááŽááąá¸áážááşá¸áá
áşááŻáááş ááźááşááá˝ááşáááşááŻááşá¸ááąáŤáşáááŻáážáŻááťáŹá¸á
á˝áŹááźáŻááŻááşááŤáá áĄáááşááźáąáážááşá¸áážáŻáá˝ááş ááááŻáĄááşááąáŹááąá¸áá˝ááşá¸ááťáŹá¸á
á˝áŹááᯠááźáŻááŻááşááąá¸ááąáŹááźáąáŹááˇáş DNS áááş áááşááźá˝ááąáŹáááşá¸ááźáąáŹááşá¸áá˝ááş ááááşáááŻáˇáážáŻááźá
áşááŹáááŻááşáááşá áĄáááŽááąá¸áážááşá¸ááťáŹá¸áááş áĄááťáŹá¸áĄáŹá¸ááźááˇáş áááŻááááşá¸áĄáááşááťáŹá¸áááŻáˇ áĄááźá
áşááŻááşááᯠááááˇáşáááşááąáŹáşáááşá¸ áááşá¸áááş áááşááşáá
áşááŻááᯠááźá
áşááąáááşá áĄá˛ááŤááąá¸áááˇáşáĄá
áŹá¸ api.twitter.comáĄá˛ááŤááᯠ'ááŹáˇááşááŻááş' ááŻááşáááŻáˇááááşá api.twitter.com. áĄáááŽááąá¸áážááşá¸áážá (áĄá
ááşáá
áşááŻáážááˇáş)á áááşá¸áááş DNS ááąáŹááşáááşááťáŹá¸áĄáŹá¸ absolute domain áá˝ááş áááŹá¸áááşáážáŹáá˝áąáážáŻááťáŹá¸ááᯠáááŻááşáááŻááşááŻááşááąáŹááşáááş áážáŻáśáˇááąáŹáşááąá¸áááşááźá
áşáááşá
áááŻáˇáĄááźááş Kubernetes ááŹá¸áážááşá¸ 1.14 áážá
áááşá áááŻá¸ááťá˛áˇáážáŻááťáŹá¸ dnsConfig и dnsPolicy áááşááźáááşááąáŹ áĄááąáĄááŹá¸ááᯠááážááá˛áˇáááşá áááŻáˇááźáąáŹááˇáş pod áááŻáĄááŻáśá¸ááźáŻááąáŹáĄááŤá áááşáááşáááşáááŻá¸áááŻááťážáąáŹáˇááťáááŻááşáááşá ndots3 áĄáá (áážááˇáş 1 áĄáááááş!) á áááŻáˇáĄáá˝ááşááźáąáŹááˇáş node áá
áşááŻáĄáá˝ááşá¸áážá áááşááąáˇááťáşáááŻááşá¸áá˝ááş domain áĄááźááˇáşáĄá
áŻáśááŤáááşáááŤáááşá á
á˝ááşá¸ááąáŹááşáááşáážááˇáş áááşááąáŹááşááá˝ááşáá°ááźááşá¸ááźáŹá¸áá˝ááş áá˝áąá¸ááťááşááááˇáşáĄá፠áááşá¸áááş ááášááááşáĄááąá¸áĄáá°ááťáŹá¸áá˛ááž áá
áşááŻááźá
áşáááşá DNS ááááşááťáŹá¸ááᯠáĄáá˝ááşá¸áááŻááşá¸á ááááşá¸áááşá¸ááŹá¸ááąáŹááźáąáŹááˇáş áááˇáşáĄáááŽááąá¸áážááşá¸áĄáá˝ááş áĄáá˝ááşááááˇáşááąáŹ latency áááş áĄááąá¸ááźáŽá¸ááŤá áááşá¸áĄáá˝ááşáᏠá
áááşáá°áááˇáşáááşáᯠááťá˝ááşáŻááşáááşááŤáááşá
áááŻá¸ááŹá¸
áᎠFeature áĄááźáąáŹááşá¸ááᯠá á ááťááşá¸ ááááŹááááşá áááşáááŤáᎠáá áááşá ááťááşá¸ááá˛áˇáááşá ááŽááźáżááŹáá˛áˇ áááşáááşááźáŽá¸ áá˝áąá¸áá˝áąá¸áážáŻáá˝áąáááşá¸ áážááá˛áˇááŤáááşá
á¤áááşáážáŹ ááąáŹááşáááşáážáŹáá˝áąáááş áááˇáşááşáĄááťááŻáˇááźá áşáááşá
- Kubernetes áá˝ááş áĄáááşááźáąáŹááˇáş ndots=5 á
- ndots ááťáŹá¸ááźáąáŹááşá¸áá˛ááźááşá¸áááş áĄááşááşááŽááąá¸áážááşá¸á á˝ááşá¸ááąáŹááşáááşáĄááąáŤáş áááşáá˛áˇáááŻáˇáĄááťááŻá¸áááşááąáŹááşáááşá
- musl áážááˇáş glibc ááźáąáážááşá¸áá°ááťáŹá¸áĄááźáŹá¸á
áážááşááťááş- ááťá˝ááşááąáŹáş áĄááŻáśá¸áááźáŻáááş áá˝áąá¸ááťááşáá˛áˇáááşá dig á¤ááąáŹááşá¸ááŤá¸áá˝ááşááŤá dig áááŻááááşá¸ááᯠ"áĄááźááˇáşáĄááĄáááşáĄááťááşá¸ááźááˇáşááŽááąáŹ" (FQDN) ááźá
áşáĄáąáŹááş áĄá
ááş (root zone identifier) ââáĄáááŻáĄááťáąáŹááşáááˇáşáááşá áááŻááş áážáŹáá˝áąáážáŻá
áŹáááşá¸áážááááˇáş áááşá¸ááᯠáŚá¸á
á˝áŹááŻááşááąáŹááşááŤá ááŽáĄááźáąáŹááşá¸ááᯠááąá¸ááŹá¸ááŤáááşá . áááŻáˇááąáŹáşá ááąááŻááťáĄáŹá¸ááźááˇáş á
áśáĄááźáŻáĄáá°áĄáá˝ááş ááŽá¸ááźáŹá¸áĄááśááᯠáááşáážááşááąá¸ááááşáážáŹ áĄáśáˇááźá
ááŹááąáŹááşá¸áááşá
ááťáąáŹáşáá˝ážááşá á˝áŹ DNSing ááŻááşááŤá ááąáŹááşáážáá˝áąáˇáááş!
PS ááŹááŹááźááşááž
ááťá˝ááşáŻááşáááŻáˇááááąáŹáˇááşáá˝ááşáááşá¸áááşááŤ
- ÂŤ";
- ÂŤ";
- " Kubernetes áá˝ááş áá˝ááşáááşááťáááşáááşááźááşá¸áááŻááşáᏠááŻááşááźáááşá¸áá˝ážááş"- , .
source: www.habr.com
