Kubernetes рдордзреНрдпреЗ DNS рд▓реБрдХрдЕрдк

рдиреЛрдВрдж. рдЕрдиреБрд╡рд╛рдж: Kubernetes рдордзреНрдпреЗ DNS рд╕рдорд╕реНрдпрд╛, рдХрд┐рдВрд╡рд╛ рдЕрдзрд┐рдХ рдЕрдЪреВрдХрдкрдгреЗ, рдкреЕрд░рд╛рдореАрдЯрд░ рд╕реЗрдЯрд┐рдВрдЧреНрдЬ ndots, рдЖрд╢реНрдЪрд░реНрдпрдХрд╛рд░рдХрдкрдгреЗ рд▓реЛрдХрдкреНрд░рд┐рдп рдЖрд╣реЗ, рдЖрдгрд┐ рдЖрдзреАрдЪ рдкреНрд░рдердо рдирд╛рд╣реА рдЧреЛрдж. рдпрд╛ рд╡рд┐рд╖рдпрд╛рд╡рд░реАрд▓ рджреБрд╕рд░реНтАНрдпрд╛ рдЯреАрдкрдордзреНрдпреЗ, рддреНрдпрд╛рдЪреЗ рд▓реЗрдЦрдХ, рднрд╛рд░рддрд╛рддреАрд▓ рдПрдХрд╛ рдореЛрдареНрдпрд╛ рдмреНрд░реЛрдХрд░реЗрдЬ рдХрдВрдкрдиреАрддреАрд▓ DevOps рдЕрднрд┐рдпрдВрддрд╛, рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдСрдкрд░реЗрдЯ рдХрд░рдгрд╛рд░реНтАНрдпрд╛ рд╕рд╣рдХрд╛рд░реНтАНрдпрд╛рдВрдирд╛ рдЬрд╛рдгреВрди рдШреЗрдгреНрдпрд╛рд╕рд╛рдареА рдХрд╛рдп рдЙрдкрдпреБрдХреНрдд рдЖрд╣реЗ рдпрд╛рдмрджреНрджрд▓ рдЕрддрд┐рд╢рдп рд╕реЛрдкреНрдпрд╛ рдЖрдгрд┐ рд╕рдВрдХреНрд╖рд┐рдкреНрдд рдкрджреНрдзрддреАрдиреЗ рдмреЛрд▓рддрд╛рдд.

Kubernetes рдордзреНрдпреЗ DNS рд▓реБрдХрдЕрдк

Kubernetes рд╡рд░ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдЙрдкрдпреЛрдЬрд┐рдд рдХрд░рдгреНрдпрд╛рдЪрд╛ рдПрдХ рдореБрдЦреНрдп рдлрд╛рдпрджрд╛ рдореНрд╣рдгрдЬреЗ рдЕрдЦрдВрдб рдЕрдиреБрдкреНрд░рдпреЛрдЧ рд╢реЛрдз. рд╕реЗрд╡рд╛ рд╕рдВрдХрд▓реНрдкрдиреЗрдореБрд│реЗ рдЗрдВрдЯреНрд░рд╛-рдХреНрд▓рд╕реНрдЯрд░ рдкрд░рд╕реНрдкрд░рд╕рдВрд╡рд╛рдж рдореЛрдареНрдпрд╛ рдкреНрд░рдорд╛рдгрд╛рдд рд╕рд░рд▓реАрдХреГрдд рдЖрд╣реЗ (рд╕реЗрд╡рд╛), рдЬреЗ рдкреЙрдб рдЖрдпрдкреА рдкрддреНрддреНрдпрд╛рдВрдЪреНрдпрд╛ рд╕рдВрдЪрд╛рд▓рд╛ рд╕рдорд░реНрдерди рджреЗрдгрд╛рд░рд╛ рдЖрднрд╛рд╕реА IP рдЖрд╣реЗ. рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, рдЬрд░ рд╕реЗрд╡рд╛ vanilla рд╕реЗрд╡реЗрд╢реА рд╕рдВрдкрд░реНрдХ рд╕рд╛рдзрдгреНрдпрд╛рдЪреА рдЗрдЪреНрдЫрд╛ рдЖрд╣реЗ chocolate, рддреЗ рдереЗрдЯ рд╡реНрд╣рд░реНрдЪреНрдпреБрдЕрд▓ IP рдордзреНрдпреЗ рдкреНрд░рд╡реЗрд╢ рдХрд░реВ рд╢рдХрддреЗ chocolate. рдкреНрд░рд╢реНрди рдЙрджреНрднрд╡рддреЛ: рдпрд╛ рдкреНрд░рдХрд░рдгрд╛рдд DNS рд╡рд┐рдирдВрддреАрдЪреЗ рдирд┐рд░рд╛рдХрд░рдг рдХреЛрдг рдХрд░реЗрд▓ chocolate рдЖрдгрд┐ рдХрд╕реЗ?

DNS рдирд╛рд╡ рд░рд┐рдЭреЛрд▓реНрдпреВрд╢рди рдХреБрдмрд░реНрдиреЗрдЯреНрд╕ рдХреНрд▓рд╕реНрдЯрд░рд╡рд░ рд╡рд╛рдкрд░реВрди рдХреЙрдиреНрдлрд┐рдЧрд░ рдХреЗрд▓реЗ рдЖрд╣реЗ CoreDNS. рдХреБрдмреЗрд▓реЗрдЯ рдлрд╛рдИрд▓реНрд╕рдордзреНрдпреЗ рдиреЗрдорд╕рд░реНрд╡реНрд╣рд░ рдореНрд╣рдгреВрди CoreDNS рд╕рд╣ рдкреЙрдбрдЪреА рдиреЛрдВрджрдгреА рдХрд░рддреЗ /etc/resolv.conf рд╕рд░реНрд╡ рд╢реЗрдВрдЧрд╛. рдЬрд░ рдЖрдкрдг рд╕рд╛рдордЧреНрд░реА рдкрд╣рд╛ /etc/resolv.conf рдХреЛрдгрддреЗрд╣реА рдкреЙрдб, рддреЗ рдЕрд╕реЗ рдХрд╛рд╣реАрддрд░реА рджрд┐рд╕реЗрд▓:

search hello.svc.cluster.local svc.cluster.local cluster.local
nameserver 10.152.183.10
options ndots:5

рд╣реЗ рдХреЙрдиреНрдлрд┐рдЧрд░реЗрд╢рди рдбреАрдПрдирдПрд╕ рдХреНрд▓рд╛рдпрдВрдЯрджреНрд╡рд╛рд░реЗ рдбреАрдПрдирдПрд╕ рд╕рд░реНрд╡реНрд╣рд░рд╡рд░ рд╡рд┐рдирдВрддреНрдпрд╛ рдЕрдЧреНрд░реЗрд╖рд┐рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рд╡рд╛рдкрд░рд▓реЗ рдЬрд╛рддреЗ. рдлрд╛рдИрд▓рдордзреНрдпреЗ resolv.conf рдЦрд╛рд▓реАрд▓ рдорд╛рд╣рд┐рддреА рд╕рдорд╛рд╡рд┐рд╖реНрдЯреАрдд рдЖрд╣реЗ:

  • рдиреЗрдорд╕рд░реНрд╡реНрд╣рд░: рд╕рд░реНрд╡реНрд╣рд░ рдЬреНрдпрд╛рд╡рд░ DNS рд╡рд┐рдирдВрддреНрдпрд╛ рдкрд╛рдард╡рд▓реНрдпрд╛ рдЬрд╛рддреАрд▓. рдЖрдордЪреНрдпрд╛ рдмрд╛рдмрддреАрдд, рд╣рд╛ CoreDNS рд╕реЗрд╡реЗрдЪрд╛ рдкрддреНрддрд╛ рдЖрд╣реЗ;
  • рд╢реЛрдз: рд╡рд┐рд╢рд┐рд╖реНрдЯ рдбреЛрдореЗрдирд╕рд╛рдареА рд╢реЛрдз рдорд╛рд░реНрдЧ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддреЗ. рд╣реЗ рдордиреЛрд░рдВрдЬрдХ рдЖрд╣реЗ google.com рдХрд┐рдВрд╡рд╛ mrkaran.dev FQDN рдирд╛рд╣реАрдд (рдкреВрд░реНрдгрдкрдгреЗ рдкрд╛рддреНрд░ рдбреЛрдореЗрди рдирд╛рд╡реЗ). рдмрд╣реБрддреЗрдХ DNS рд░рд┐рдЭреЛрд▓реНрд╡реНрд╣рд░реНрд╕ рдлреЙрд▓реЛ рдХрд░рдд рдЕрд╕рд▓реЗрд▓реНрдпрд╛ рдорд╛рдирдХ рдирд┐рдпрдорд╛рдиреБрд╕рд╛рд░, рдлрдХреНрдд тАЬтАЭ рдмрд┐рдВрджреВрдиреЗ рд╕рдорд╛рдкреНрдд рд╣реЛрдгрд╛рд░реЗ, рд░реВрдЯ рдЭреЛрдирдЪреЗ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд░рдгрд╛рд░реЗ, рдкреВрд░реНрдг рдкрд╛рддреНрд░ (FDQN) рдбреЛрдореЗрди рдорд╛рдирд▓реЗ рдЬрд╛рддрд╛рдд. рдХрд╛рд╣реА рдирд┐рд░рд╛рдХрд░рдгрдХрд░реНрддреЗ рд╕реНрд╡рддрдГ рдПрдХ рдмрд┐рдВрджреВ рдЬреЛрдбреВ рд╢рдХрддрд╛рдд. рдЕрд╢рд╛ рдкреНрд░рдХрд╛рд░реЗ, mrkaran.dev. рдкреВрд░реНрдг рдкрд╛рддреНрд░ рдбреЛрдореЗрди рдирд╛рд╡ рдЖрд╣реЗ (FQDN), рдЖрдгрд┐ mrkaran.dev - рдирд╛рд╣реА;
  • ndots: рд╕рд░реНрд╡рд╛рдд рдордиреЛрд░рдВрдЬрдХ рдкреЕрд░рд╛рдореАрдЯрд░ (рд╣рд╛ рд▓реЗрдЦ рддреНрдпрд╛рдмрджреНрджрд▓ рдЖрд╣реЗ). ndots рд╡рд┐рдирдВрддреА рдирд╛рд╡рд╛рд▓рд╛ тАЬрдкреВрд░реНрдгрдкрдгреЗ рдкрд╛рддреНрд░тАЭ рдбреЛрдореЗрди рдирд╛рд╡ рд╕рдордЬрд▓реЗ рдЬрд╛рдгреНрдпрд╛рдкреВрд░реНрд╡реА рдмрд┐рдВрджреВрдВрдЪреА рдереНрд░реЗрд╢реЛрд▓реНрдб рд╕рдВрдЦреНрдпрд╛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рддреЗ. рдЬреЗрд╡реНрд╣рд╛ рдЖрдореНрд╣реА DNS рд▓реБрдХрдЕрдк рдХреНрд░рдорд╛рдЪреЗ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░рддреЛ рддреЗрд╡реНрд╣рд╛ рдЖрдореНрд╣реА рдпрд╛рдмрджреНрджрд▓ рдЕрдзрд┐рдХ рдмреЛрд▓реВ.

Kubernetes рдордзреНрдпреЗ DNS рд▓реБрдХрдЕрдк

рдЖрдкрдг рд╡рд┐рдЪрд╛рд░рд▓реНрдпрд╛рд╡рд░ рдХрд╛рдп рд╣реЛрддреЗ рддреЗ рдкрд╛рд╣реВрдпрд╛ mrkaran.dev рдкреЙрдб рдордзреНрдпреЗ:

$ 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.dev FQDN рдирд╛рд╡ рдирд╛рд╣реА (рддреНрдпрд╛рдиреБрд╕рд╛рд░ ndots=5), рдирд┐рд░рд╛рдХрд░рдгрдХрд░реНрддрд╛ рд╢реЛрдз рдорд╛рд░реНрдЧ рдкрд╛рд╣рддреЛ рдЖрдгрд┐ рд╡рд┐рдирдВрддреНрдпрд╛рдВрдЪрд╛ рдХреНрд░рдо рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рддреЛ;
  • ╨Ч╨░╨┐╨╕╤Б╨╕ ╨Р ╨╕ ╨Р╨Р╨Р╨Р рд╕рдорд╛рдВрддрд░ рдпреЗрдгреЗ. рд╡рд╕реНрддреБрд╕реНрдерд┐рддреА рдЕрд╢реА рдЖрд╣реЗ рдХреА рдордзреНрдпреЗ рдПрдХ-рд╡реЗрд│ рд╡рд┐рдирдВрддреНрдпрд╛ рдХреЗрд▓реНрдпрд╛ рдЬрд╛рддрд╛рдд /etc/resolv.conf рдбреАрдлреЙрд▓реНрдЯрдиреБрд╕рд╛рд░, рддреЗ рдЕрд╢рд╛ рдкреНрд░рдХрд╛рд░реЗ рдХреЙрдиреНрдлрд┐рдЧрд░ рдХреЗрд▓реЗ рдЬрд╛рддрд╛рдд рдХреА рд╕рдорд╛рдВрддрд░ рд╢реЛрдз IPv4 рдЖрдгрд┐ IPv6 рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рд╡рд╛рдкрд░реВрди рдХреЗрд▓реЗ рдЬрд╛рддрд╛рдд. рддреБрдореНрд╣реА рдкрд░реНрдпрд╛рдп рдЬреЛрдбреВрди рд╣реЗ рд╡рд░реНрддрди рд░рджреНрдж рдХрд░реВ рд╢рдХрддрд╛ single-request ╨▓ resolv.conf.

рдЯреАрдк: glibc рдпрд╛ рд╡рд┐рдирдВрддреНрдпрд╛ рдХреНрд░рдорд╢рдГ рдкрд╛рдард╡рдгреНрдпрд╛рд╕рд╛рдареА рдХреЙрдиреНрдлрд┐рдЧрд░ рдХреЗрд▓реЗ рдЬрд╛рдК рд╢рдХрддрд╛рдд, рдЖрдгрд┐ musl - рдирд╛рд╣реА, рдореНрд╣рдгреВрди рдЕрд▓реНрдкрд╛рдЗрди рд╡рд╛рдкрд░рдХрд░реНрддреНрдпрд╛рдВрдиреА рдиреЛрдВрдж рдШреНрдпрд╛рд╡реА.

ndots рд╕рд╣ рдкреНрд░рдпреЛрдЧ рдХрд░рдд рдЖрд╣реЗ

рдЪрд▓рд╛ рдереЛрдбреЗ рдЕрдзрд┐рдХ рдкреНрд░рдпреЛрдЧ рдХрд░реВрдпрд╛ ndots рдЖрдгрд┐ рд╣реЗ рдкреЕрд░рд╛рдореАрдЯрд░ рдХрд╕реЗ рд╡рд╛рдЧрддреЗ рддреЗ рдкрд╛рд╣реВ. рдХрд▓реНрдкрдирд╛ рд╕реЛрдкреА рдЖрд╣реЗ: 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: NXDOMAIN

CoreDNS рд▓реЙрдЧ:

[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 рдХреНрд▓рд╛рдпрдВрдЯрдирд╛ рдирд┐рд░рдкреЗрдХреНрд╖ рдбреЛрдореЗрдирд╡рд░ рдереЗрдЯ рдЕрдзрд┐рдХреГрдд рд▓реБрдХрдЕрдк рдХрд░рдгреНрдпрд╛рд╕ рдкреНрд░рд╡реГрддреНрдд рдХрд░реЗрд▓.

рдпрд╛рд╡реНрдпрддрд┐рд░рд┐рдХреНрдд, Kubernetes рдЖрд╡реГрддреНрддреА 1.14 рд╕рд╣ рдкреНрд░рд╛рд░рдВрдн рдХрд░реВрди, рд╡рд┐рд╕реНрддрд╛рд░ dnsConfig ╨╕ dnsPolicy рд╕реНрдерд┐рд░ рд╕реНрдерд┐рддреА рдкреНрд░рд╛рдкреНрдд рдЭрд╛рд▓реА. рдЕрд╢рд╛ рдкреНрд░рдХрд╛рд░реЗ, рдкреЙрдб рддреИрдирд╛рдд рдХрд░рддрд╛рдирд╛, рдЖрдкрдг рдореВрд▓реНрдп рдХрдореА рдХрд░реВ рд╢рдХрддрд╛ ndots, рдореНрд╣рдгрд╛, 3 рдкрд░реНрдпрдВрдд (рдЖрдгрд┐ рдЕрдЧрджреА 1 рдкрд░реНрдпрдВрдд!). рдпрд╛рдореБрд│реЗ, рдиреЛрдбрдордзреАрд▓ рдкреНрд░рддреНрдпреЗрдХ рд╕рдВрджреЗрд╢рд╛рдордзреНрдпреЗ рд╕рдВрдкреВрд░реНрдг рдбреЛрдореЗрди рд╕рдорд╛рд╡рд┐рд╖реНрдЯ рдХрд░рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ. рдЬреЗрд╡реНрд╣рд╛ рддреБрдореНрд╣рд╛рд▓рд╛ рдкрд░рдлреЙрд░реНрдордиреНрд╕ рдЖрдгрд┐ рдкреЛрд░реНрдЯреЗрдмрд┐рд▓рд┐рдЯреА рдпрд╛рдкреИрдХреА рдПрдХ рдирд┐рд╡рдбрд╛рдпрдЪреА рдЕрд╕рддреЗ рддреЗрд╡реНрд╣рд╛ рд╣реЗ рдХреНрд▓рд╛рд╕рд┐рдХ рдЯреНрд░реЗрдб-рдСрдлрдкреИрдХреА рдПрдХ рдЖрд╣реЗ. рдорд▓рд╛ рдЕрд╕реЗ рд╡рд╛рдЯрддреЗ рдХреА рддреБрдордЪреНрдпрд╛ рдЕрдиреБрдкреНрд░рдпреЛрдЧрд╛рд╕рд╛рдареА рдЕрддрд┐-рдХрдореА рд╡рд┐рд▓рдВрдмрддрд╛ рдорд╣рддреНрд╡рд╛рдЪреА рдЕрд╕реЗрд▓ рддрд░рдЪ рддреБрдореНрд╣реА рдпрд╛рдЪреА рдХрд╛рд│рдЬреА рдХрд░рд╛рд╡реА, рдХрд╛рд░рдг DNS рдкрд░рд┐рдгрд╛рдо рджреЗрдЦреАрд▓ рдЖрдВрддрд░рд┐рдХрд░рд┐рддреНрдпрд╛ рдХреЕрд╢ рдХреЗрд▓реЗрд▓реЗ рдЖрд╣реЗрдд.

рд╕рдВрджрд░реНрдн

рдореА рдкреНрд░рдердо рдпрд╛ рд╡реИрд╢рд┐рд╖реНрдЯреНрдпрд╛рдмрджреНрджрд▓ рд╢рд┐рдХрд▓реЛ K8s-рдмреИрдардХ25 рдЬрд╛рдиреЗрд╡рд╛рд░реА рд░реЛрдЬреА рдЖрдпреЛрдЬрд┐рдд рдХрд░рдгреНрдпрд╛рдд рдЖрд▓рд╛ рдЖрд╣реЗ. рдЗрддрд░ рдЧреЛрд╖реНрдЯреАрдВрд╕рд╣ рдпрд╛ рд╕рдорд╕реНрдпреЗрд╡рд░ рдЪрд░реНрдЪрд╛ рдЭрд╛рд▓реА.

рдкреБрдвреАрд▓ рдЕрдиреНрд╡реЗрд╖рдгрд╛рд╕рд╛рдареА рдпреЗрдереЗ рдХрд╛рд╣реА рджреБрд╡реЗ рдЖрд╣реЗрдд:

рдЯреАрдк: рдореА рди рд╡рд╛рдкрд░рдгреЗ рдирд┐рд╡рдбрд▓реЗ dig рдпрд╛ рд▓реЗрдЦрд╛рдд. dig рдбреЛрдореЗрдирд▓рд╛ "рдкреВрд░реНрдгрдкрдгреЗ рдкрд╛рддреНрд░" (FQDN) рдмрдирд╡реВрди рдЖрдкреЛрдЖрдк рдбреЙрдЯ (рд░реВрдЯ рдЭреЛрди рдЖрдпрдбреЗрдВрдЯрд┐рдлрд╛рдпрд░) рдЬреЛрдбрддреЛ, рдирд╛рд╣реА рдкреНрд░рдердо рд╢реЛрдз рд╕реВрдЪреАрджреНрд╡рд╛рд░реЗ рдЪрд╛рд▓рд╡реВрди. рдордзреНрдпреЗ рдпрд╛рдмрджреНрджрд▓ рд▓рд┐рд╣рд┐рд▓реЗ рдорд╛рдЧреАрд▓ рдкреНрд░рдХрд╛рд╢рдирд╛рдВрдкреИрдХреА рдПрдХ. рддрдерд╛рдкрд┐, рд╣реЗ рдЖрд╢реНрдЪрд░реНрдпрдХрд╛рд░рдХ рдЖрд╣реЗ рдХреА, рд╕рд░реНрд╡рд╕рд╛рдзрд╛рд░рдгрдкрдгреЗ, рдорд╛рдирдХ рд╡рд░реНрддрдирд╛рд╕рд╛рдареА рд╕реНрд╡рддрдВрддреНрд░ рдзреНрд╡рдЬ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ.

рдЖрдирдВрджреА DNSing! рдкреБрдиреНрд╣рд╛ рднреЗрдЯреВ!

рдЕрдиреБрд╡рд╛рджрдХрд╛рдХрдбреВрди рдкреБрдирд╢реНрдЪ

рдЖрдордЪреНрдпрд╛ рдмреНрд▓реЙрдЧрд╡рд░ рджреЗрдЦреАрд▓ рд╡рд╛рдЪрд╛:

рд╕реНрддреНрд░реЛрдд: www.habr.com

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдЬреЛрдбрд╛