DNS-поиск в Kubernetes

ΠŸΡ€ΠΈΠΌ. ΠΏΠ΅Ρ€Π΅Π².: ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΠ° DNS Π² Kubernetes, Π° Ρ‚ΠΎΡ‡Π½Π΅Π΅ β€” настройки ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° ndots, β€” Π½Π° ΡƒΠ΄ΠΈΠ²Π»Π΅Π½ΠΈΠ΅ популярна, ΠΏΡ€ΠΈΡ‡Ρ‘ΠΌ ΡƒΠΆΠ΅ Π½Π΅ ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ Π³ΠΎΠ΄. Π’ ΠΎΡ‡Π΅Ρ€Π΅Π΄Π½ΠΎΠΉ Π·Π°ΠΌΠ΅Ρ‚ΠΊΠ΅ ΠΏΠΎ этой Ρ‚Π΅ΠΌΠ΅ Π΅Ρ‘ Π°Π²Ρ‚ΠΎΡ€ β€” DevOps-ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€ ΠΈΠ· ΠΊΡ€ΡƒΠΏΠ½ΠΎΠΉ брокСрской ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ Π² Индии β€” Π² вСсьма простой ΠΈ Π»Π°ΠΊΠΎΠ½ΠΈΡ‡Π½ΠΎΠΉ ΠΌΠ°Π½Π΅Ρ€Π΅ рассказываСт, ΠΎ Ρ‡Ρ‘ΠΌ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ Π·Π½Π°Ρ‚ΡŒ ΠΊΠΎΠ»Π»Π΅Π³Π°ΠΌ, ΡΠΊΡΠΏΠ»ΡƒΠ°Ρ‚ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠΌ Kubernetes.

DNS-поиск в Kubernetes

Одно ΠΈΠ· Π³Π»Π°Π²Π½Ρ‹Ρ… прСимущСств развёртывания ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π² Kubernetes β€” бСспроблСмноС ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠ΅Π½ΠΈΠ΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. ВнутрикластСрноС взаимодСйствиС сильно упрощаСтся благодаря ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΠΈ сСрвиса (Service), которая прСдставляСт собой Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΉ IP, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‰ΠΈΠΉ Π½Π°Π±ΠΎΡ€ IP-адрСсов pod’ΠΎΠ². НапримСр, Ссли сСрвис vanilla ΠΆΠ΅Π»Π°Π΅Ρ‚ ΡΠ²ΡΠ·Π°Ρ‚ΡŒΡΡ с сСрвисом chocolate, ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚ΡŒΡΡ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ ΠΊ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΌΡƒ IP для chocolate. Π’ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ вопрос: ΠΊΡ‚ΠΎ Π² Π΄Π°Π½Π½ΠΎΠΌ случаС Ρ€Π°Π·Ρ€Π΅ΡˆΠΈΡ‚ DNS-запрос ΠΊ chocolate ΠΈ ΠΊΠ°ΠΊ?

Π Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ ΠΈΠΌΠ΅Π½ DNS настраиваСтся Π² кластСрС Kubernetes с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ CoreDNS. Kubelet прописываСт pod с CoreDNS Π² качСствС сСрвСра ΠΈΠΌΠ΅Π½ Π² Ρ„Π°ΠΉΠ»Π°Ρ… /etc/resolv.conf всСх pod’ΠΎΠ². Если ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Π½Π° содСрТимоС /etc/resolv.conf любого pod’Π°, ΠΎΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

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

Π­Ρ‚Π° конфигурация ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ DNS-ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°ΠΌΠΈ для пСрСнаправлСния запросов Π½Π° DNS-сСрвСр. Π’ Ρ„Π°ΠΉΠ»Π΅ resolv.conf содСрТится ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π°Ρ информация:

  • nameserver: cΠ΅Ρ€Π²Π΅Ρ€, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±ΡƒΠ΄ΡƒΡ‚ Π½Π°ΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒΡΡ DNS-запросы. Π’ нашСм случаС это адрСс сСрвиса CoreDNS;
  • search: опрСдСляСт ΠΏΡƒΡ‚ΡŒ поиска ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ Π΄ΠΎΠΌΠ΅Π½Π°. Π›ΡŽΠ±ΠΎΠΏΡ‹Ρ‚Π½ΠΎ, Ρ‡Ρ‚ΠΎ google.com ΠΈΠ»ΠΈ mrkaran.dev Π½Π΅ ΡΠ²Π»ΡΡŽΡ‚ΡΡ FQDN (ΠΏΠΎΠ»Π½Ρ‹ΠΌΠΈ Π΄ΠΎΠΌΠ΅Π½Π½Ρ‹ΠΌΠΈ ΠΈΠΌΠ΅Π½Π°ΠΌΠΈ). Богласно стандартному соглашСнию, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌΡƒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‚ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ resolver’ΠΎΠ² DNS, ΠΏΠΎΠ»Π½Ρ‹ΠΌΠΈ (FDQN) Π΄ΠΎΠΌΠ΅Π½Π°ΠΌΠΈ ΡΡ‡ΠΈΡ‚Π°ΡŽΡ‚ΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‚Π΅, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π·Π°ΠΊΠ°Π½Ρ‡ΠΈΠ²Π°ΡŽΡ‚ΡΡ Ρ‚ΠΎΡ‡ΠΊΠΎΠΉ Β«.Β», ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‰Π΅ΠΉ ΠΊΠΎΡ€Π½Π΅Π²ΡƒΡŽ Π·ΠΎΠ½Ρƒ. НСкоторыС resolver’Ρ‹ ΡƒΠΌΠ΅ΡŽΡ‚ Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ Ρ‚ΠΎΡ‡ΠΊΡƒ ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, mrkaran.dev. β€” ΠΏΠΎΠ»Π½ΠΎΠ΅ Π΄ΠΎΠΌΠ΅Π½Π½ΠΎΠ΅ имя (FQDN), Π° mrkaran.dev β€” Π½Π΅Ρ‚;
  • ndots: Π‘Π°ΠΌΡ‹ΠΉ интСрСсный ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ (эта ΡΡ‚Π°Ρ‚ΡŒΡ ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΎ Π½Π΅ΠΌ). ndots Π·Π°Π΄Π°Π΅Ρ‚ ΠΏΠΎΡ€ΠΎΠ³ΠΎΠ²ΠΎΠ΅ число Ρ‚ΠΎΡ‡Π΅ΠΊ Π² ΠΈΠΌΠ΅Π½ΠΈ запроса, ΠΏΡ€ΠΈ достиТСнии ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ ΠΎΠ½ΠΎ рассматриваСтся ΠΊΠ°ΠΊ Β«ΠΏΠΎΠ»Π½ΠΎΠ΅Β» Π΄ΠΎΠΌΠ΅Π½Π½ΠΎΠ΅ имя. ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅ ΠΎΠ± этом ΠΌΡ‹ ΠΏΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΈΠΌ ΠΏΠΎΠ·ΠΆΠ΅, ΠΊΠΎΠ³Π΄Π° Π±ΡƒΠ΄Π΅ΠΌ Π°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ DNS-поиска.

DNS-поиск в Kubernetes

Π”Π°Π²Π°ΠΉΡ‚Π΅ посмотрим, Ρ‡Ρ‚ΠΎ происходит, ΠΊΠΎΠ³Π΄Π° ΠΌΡ‹ Π·Π°ΠΏΡ€Π°ΡˆΠΈΠ²Π°Π΅ΠΌ 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 (Ρ‡Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚ Π΅Π³ΠΎ вСсьма многословным). ΠŸΠΎΡΠΌΠΎΡ‚Ρ€ΠΈΠΌ Π½Π° Π»ΠΎΠ³ΠΈ pod’Π° 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), resolver смотрит Π½Π° поисковый ΠΏΡƒΡ‚ΡŒ ΠΈ опрСдСляСт порядок запросов;
  • Записи А ΠΈ АААА ΠΏΠΎΡΡ‚ΡƒΠΏΠ°ΡŽΡ‚ ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½ΠΎ. Π”Π΅Π»ΠΎ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Ρ€Π°Π·ΠΎΠ²Ρ‹Π΅ запросы Π² /etc/resolv.conf ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ настроСны Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Ρ‡Ρ‚ΠΎ производится ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½Ρ‹ΠΉ поиск ΠΏΠΎ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π°ΠΌ IPv4 ΠΈ IPv6. ΠžΡ‚ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠ΅ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ½ΠΎ, Π΄ΠΎΠ±Π°Π²ΠΈΠ² ΠΎΠΏΡ†ΠΈΡŽ single-request Π² resolv.conf.

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅: glibc ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π½Π° ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΡƒΡŽ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΡƒ этих запросов, Π° musl β€” Π½Π΅Ρ‚, Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌ Alpine слСдуСт ΠΏΡ€ΠΈΠ½ΡΡ‚ΡŒ это ΠΊ свСдСнию.

ЭкспСримСнтируСм с 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.

ΠŸΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π² production

Если ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ выполняСт мноТСство Π²Π½Π΅ΡˆΠ½ΠΈΡ… сСтСвых Π²Ρ‹Π·ΠΎΠ²ΠΎΠ², DNS ΠΌΠΎΠΆΠ΅Ρ‚ ΡΡ‚Π°Ρ‚ΡŒ ΡƒΠ·ΠΊΠΈΠΌ мСстом Π² случаС Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠ³ΠΎ Ρ‚Ρ€Π°Ρ„ΠΈΠΊΠ°, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΏΡ€ΠΈ Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΈ ΠΈΠΌΠ΅Π½ΠΈ выполняСтся мноТСство Π»ΠΈΡˆΠ½ΠΈΡ… запросов (ΠΏΡ€Π΅ΠΆΠ΄Π΅ Ρ‡Π΅ΠΌ систСма добСрСтся Π΄ΠΎ Π½ΡƒΠΆΠ½ΠΎΠ³ΠΎ). ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Π½Π΅ Π΄ΠΎΠ±Π°Π²Π»ΡΡŽΡ‚ ΠΊΠΎΡ€Π½Π΅Π²ΡƒΡŽ Π·ΠΎΠ½Ρƒ ΠΊ Π΄ΠΎΠΌΠ΅Π½Π½Ρ‹ΠΌ ΠΈΠΌΠ΅Π½Π°ΠΌ, ΠΎΠ΄Π½Π°ΠΊΠΎ это Π²ΠΏΠΎΠ»Π½Π΅ тянСт Π½Π° Ρ…Π°ΠΊ. Π’ΠΎ Π΅ΡΡ‚ΡŒ вмСсто Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π·Π°ΠΏΡ€Π°ΡˆΠΈΠ²Π°Ρ‚ΡŒ api.twitter.com, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π·Π°’hardcode’ΠΈΡ‚ΡŒ api.twitter.com. (с Ρ‚ΠΎΡ‡ΠΊΠΎΠΉ) Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ, Ρ‡Ρ‚ΠΎ ΠΏΠΎΠ±ΡƒΠ΄ΠΈΡ‚ DNS-ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠ² Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ Π°Π²Ρ‚ΠΎΡ€ΠΈΡ‚Π΅Ρ‚Π½Ρ‹ΠΉ поиск сразу Π² Π°Π±ΡΠΎΠ»ΡŽΡ‚Π½ΠΎΠΌ Π΄ΠΎΠΌΠ΅Π½Π΅.

ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, начиная с вСрсии Kubernetes 1.14, Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ dnsConfig ΠΈ dnsPolicy ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΈ статус ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½Ρ‹Ρ…. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, ΠΏΡ€ΠΈ Ρ€Π°Π·Π²Π΅Ρ€Ρ‚Ρ‹Π²Π°Π½ΠΈΠΈ pod’Π° ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠΌΠ΅Π½ΡŒΡˆΠΈΡ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ndots, скаТСм, Π΄ΠΎ 3 (ΠΈ Π΄Π°ΠΆΠ΅ Π΄ΠΎ 1!). Из-Π·Π° этого ΠΊΠ°ΠΆΠ΄ΠΎΠ΅ сообщСниС Π²Π½ΡƒΡ‚Ρ€ΠΈ ΡƒΠ·Π»Π° Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Π²ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ ΠΏΠΎΠ»Π½Ρ‹ΠΉ Π΄ΠΎΠΌΠ΅Π½. Π­Ρ‚ΠΎ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· классичСских компромиссов, ΠΊΠΎΠ³Π΄Π° приходится Π²Ρ‹Π±ΠΈΡ€Π°Ρ‚ΡŒ ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒΡŽ ΠΈ ΠΏΠ΅Ρ€Π΅Π½ΠΎΡΠΈΠΌΠΎΡΡ‚ΡŒΡŽ. МнС каТСтся, Ρ‡Ρ‚ΠΎ ΠΏΠ΅Ρ€Π΅ΠΆΠΈΠ²Π°Ρ‚ΡŒ ΠΎΠ± этом стоит Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² случаС, Ссли свСрхнизкиС Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠΈ ΠΆΠΈΠ·Π½Π΅Π½Π½ΠΎ Π²Π°ΠΆΠ½Ρ‹ для вашСго прилоТСния, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ DNS Ρ‚Π°ΠΊΠΆΠ΅ ΠΊΡΡˆΠΈΡ€ΡƒΡŽΡ‚ΡΡ Π²Π½ΡƒΡ‚Ρ€ΠΈ.

Бсылки

Π’ΠΏΠ΅Ρ€Π²Ρ‹Π΅ ΠΎΠ± этой особСнности я ΡƒΠ·Π½Π°Π» Π½Π° K8s-meetup’Π΅, ΠΏΡ€ΠΎΡˆΠ΅Π΄ΡˆΠ΅ΠΌ 25 января. Π’Π°ΠΌ шла Ρ€Π΅Ρ‡ΡŒ, Π² Ρ‚ΠΎΠΌ числС, ΠΈ ΠΎΠ± этой ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ΅.

Π’ΠΎΡ‚ нСсколько ссылок для дальнСйшСго изучСния:

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅: Π― ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡Π΅Π» Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ dig Π² этой ΡΡ‚Π°Ρ‚ΡŒΠ΅. dig автоматичСски добавляСт Ρ‚ΠΎΡ‡ΠΊΡƒ (ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ ΠΊΠΎΡ€Π½Π΅Π²ΠΎΠΉ Π·ΠΎΠ½Ρ‹), дСлая Π΄ΠΎΠΌΠ΅Π½ Β«ΠΏΠΎΠ»Π½Ρ‹ΠΌΒ» (FQDN), Π½Π΅ прогоняя Π΅Π³ΠΎ ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Ρ‡Π΅Ρ€Π΅Π· список поиска. Писал ΠΎΠ± этом Π² ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΡ… ΠΏΡƒΠ±Π»ΠΈΠΊΠ°Ρ†ΠΈΠΉ. Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, довольно ΡƒΠ΄ΠΈΠ²ΠΈΡ‚Π΅Π»Π΅Π½ Ρ‚ΠΎΡ‚ Ρ„Π°ΠΊΡ‚, Ρ‡Ρ‚ΠΎ, Π² ΠΎΠ±Ρ‰Π΅ΠΌ-Ρ‚ΠΎ, для стандартного повСдСния приходится Π·Π°Π΄Π°Π²Π°Ρ‚ΡŒ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΉ Ρ„Π»Π°Π³.

Π₯ΠΎΡ€ΠΎΡˆΠ΅Π³ΠΎ DNS’ΠΈΠ½Π³Π°! Π”ΠΎ скорого!

P.S. ΠΎΡ‚ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄Ρ‡ΠΈΠΊΠ°

Π§ΠΈΡ‚Π°ΠΉΡ‚Π΅ Ρ‚Π°ΠΊΠΆΠ΅ Π² нашСм Π±Π»ΠΎΠ³Π΅:

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: habr.com

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ