ΠΠ΅ΠΎΠ΄Π°ΠΌΠ½Π° Π³ΠΎ Π»Π°Π½ΡΠΈΡΠ°Π²ΠΌΠ΅ Kubernetes 1.9 Π½Π° AWS ΠΊΠΎΡΠΈΡΡΠ΅ΡΡΠΈ Kops. ΠΡΠ΅ΡΠ°, Π΄ΠΎΠ΄Π΅ΠΊΠ° Π½Π΅ΠΏΡΠ΅ΡΠ΅Π½ΠΎ Π²ΠΎΠ²Π΅Π΄ΡΠ²Π°Π² Π½ΠΎΠ² ΡΠΎΠΎΠ±ΡΠ°ΡΠ°Ρ Π΄ΠΎ Π½Π°ΡΠ³ΠΎΠ»Π΅ΠΌΠΈΡΠ΅ Π½Π°ΡΠΈ ΠΊΠ»Π°ΡΡΠ΅ΡΠΈ Π½Π° Kubernetes, ΠΏΠΎΡΠ½Π°Π² Π΄Π° Π·Π°Π±Π΅Π»Π΅ΠΆΡΠ²Π°ΠΌ Π½Π΅Π²ΠΎΠΎΠ±ΠΈΡΠ°Π΅Π½ΠΈ Π³ΡΠ΅ΡΠΊΠΈ Π²ΠΎ ΡΠ΅Π·ΠΎΠ»ΡΡΠΈΡΠ°ΡΠ° Π½Π° ΠΈΠΌΠΈΡΠ°ΡΠ° Π½Π° DNS ΠΏΡΠΈΡΠ°Π²Π΅Π½ΠΈ ΠΎΠ΄ Π½Π°ΡΠ°ΡΠ° Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡΠ°.
ΠΠΌΠ° Π΄ΠΎΡΡΠ° Π·Π° ΠΎΠ²Π° Π½Π° GitHub kube-dns
ΠΈ dnsmasq
. ΠΠ°ΡΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½Π° ΠΈ Π½ΠΎΠ²Π° ΡΠ°Π±ΠΎΡΠ° Π·Π° ΠΌΠ΅Π½Π΅ Π±Π΅ΡΠ΅ ΡΠ°ΠΌΠ°ΡΠ° ΠΏΡΠΈΡΠΈΠ½Π° Π·Π° Π·Π½Π°ΡΠΈΡΠ΅Π»Π½ΠΎΡΠΎ Π·Π³ΠΎΠ»Π΅ΠΌΡΠ²Π°ΡΠ΅ Π½Π° ΡΠΎΠΎΠ±ΡΠ°ΡΠ°ΡΠΎΡ Π½Π° Π±Π°ΡΠ°ΡΠ° Π·Π° DNS. ΠΠΎΡΠΎΡ ΠΏΠΎΡΡ Π΅ Π·Π° ΠΎΠ²Π° ΠΈ ΡΡΠΎ Π΄Π° ΠΏΡΠ°Π²Π°ΠΌ Π²ΠΎ Π²ΡΡΠΊΠ° ΡΠΎ ΡΠΎΠ°.
Π Π΅Π·ΠΎΠ»ΡΡΠΈΡΠ°ΡΠ° Π½Π° DNS Π²Π½Π°ΡΡΠ΅ Π²ΠΎ ΠΊΠΎΠ½ΡΠ΅ΡΠ½Π΅ΡΠΎΡ - ΠΊΠ°ΠΊΠΎ ΠΈ Π²ΠΎ ΡΠ΅ΠΊΠΎΡ Linux ΡΠΈΡΡΠ΅ΠΌ - ΡΠ΅ ΠΎΠ΄ΡΠ΅Π΄ΡΠ²Π° ΡΠΎ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡΠΊΠ°ΡΠ° Π΄Π°ΡΠΎΡΠ΅ΠΊΠ° /etc/resolv.conf
. Π‘ΡΠ°Π½Π΄Π°ΡΠ΄Π΅Π½ Kubernetes dnsPolicy
ΠΎΠ²ΠΎΡ ClusterFirst
, ΡΡΠΎ Π·Π½Π°ΡΠΈ Π΄Π΅ΠΊΠ° ΡΠ΅ΠΊΠΎΠ΅ Π±Π°ΡΠ°ΡΠ΅ Π·Π° DNS ΡΠ΅ Π±ΠΈΠ΄Π΅ ΠΏΡΠΎΡΠ»Π΅Π΄Π΅Π½ΠΎ Π΄ΠΎ dnsmasq
, ΡΡΡΠ°ΡΠ΅ Π²ΠΎ ΠΌΠ΅ΡΡΠ½ΠΊΠ° kube-dns
Π²Π½Π°ΡΡΠ΅ Π²ΠΎ ΠΊΠ»Π°ΡΡΠ΅ΡΠΎΡ, ΠΊΠΎΡ ΠΏΠ°ΠΊ ΡΠ΅ Π³ΠΎ ΠΏΡΠΎΡΠ»Π΅Π΄ΠΈ Π±Π°ΡΠ°ΡΠ΅ΡΠΎ Π΄ΠΎ Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡΠ°ΡΠ° kube-dns
, Π°ΠΊΠΎ ΠΈΠΌΠ΅ΡΠΎ Π·Π°Π²ΡΡΡΠ²Π° ΡΠΎ Π½Π°ΡΡΠ°Π²ΠΊΠ° Π½Π° ΠΊΠ»Π°ΡΡΠ΅Ρ ΠΈΠ»ΠΈ, Π²ΠΎ ΡΠΏΡΠΎΡΠΈΠ²Π½ΠΎ, Π½Π° DNS ΡΠ΅ΡΠ²Π΅Ρ ΠΎΠ΄ ΠΏΠΎΠ²ΠΈΡΠΎΠΊΠΎ Π½ΠΈΠ²ΠΎ.
Π΄Π°ΡΠΎΡΠ΅ΠΊΠ° /etc/resolv.conf
Π²ΠΎ ΡΠ΅ΠΊΠΎΡ ΠΊΠΎΠ½ΡΠ΅ΡΠ½Π΅Ρ ΡΡΠ°Π½Π΄Π°ΡΠ΄Π½ΠΎΡΠΎ ΡΠ΅ ΠΈΠ·Π³Π»Π΅Π΄Π° Π²Π°ΠΊΠ°:
nameserver 100.64.0.10
search namespace.svc.cluster.local svc.cluster.local cluster.local
eu-west-1.compute.internal
options ndots:5
ΠΠ°ΠΊΠΎ ΡΡΠΎ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° Π²ΠΈΠ΄ΠΈΡΠ΅, ΠΏΠΎΡΡΠΎΡΠ°Ρ ΡΡΠΈ Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²ΠΈ:
- Π‘Π΅ΡΠ²Π΅ΡΠΎΡ Π·Π° ΠΈΠΌΠΈΡΠ° Π΅ IP Π½Π° ΡΡΠ»ΡΠ³Π°ΡΠ°
kube-dns
- ΠΠ°Π²Π΅Π΄Π΅Π½ΠΈ 4 Π»ΠΎΠΊΠ°Π»Π½ΠΈ Π΄ΠΎΠΌΠ΅Π½ΠΈ Π·Π° ΠΏΡΠ΅Π±Π°ΡΡΠ²Π°ΡΠ΅
search
- ΠΠΎΡΡΠΎΠΈ ΠΎΠΏΡΠΈΡΠ°
ndots:5
ΠΠ½ΡΠ΅ΡΠ΅ΡΠ΅Π½ Π΄Π΅Π» ΠΎΠ΄ ΠΎΠ²Π°Π° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡΠ° Π΅ ΠΊΠ°ΠΊΠΎ Π»ΠΎΠΊΠ°Π»Π½ΠΎΡΠΎ ΠΏΡΠ΅Π±Π°ΡΡΠ²Π°ΡΠ΅ Π½Π° Π΄ΠΎΠΌΠ΅Π½ΠΈ ΠΈ ΠΏΠΎΡΡΠ°Π²ΠΊΠΈ ndots:5
ΡΠ΅ Π·Π°Π΅Π΄Π½ΠΎ Π·Π°Π΅Π΄Π½ΠΎ. ΠΠ° Π΄Π° Π³ΠΎ ΡΠ°Π·Π±Π΅ΡΠ΅ΡΠ΅ ΠΎΠ²Π°, ΡΡΠ΅Π±Π° Π΄Π° ΡΠ°Π·Π±Π΅ΡΠ΅ΡΠ΅ ΠΊΠ°ΠΊΠΎ ΡΡΠ½ΠΊΡΠΈΠΎΠ½ΠΈΡΠ° ΡΠ΅Π·ΠΎΠ»ΡΡΠΈΡΠ°ΡΠ° Π½Π° DNS Π·Π° Π½Π΅ΠΊΠ²Π°Π»ΠΈΡΠΈΠΊΡΠ²Π°Π½ΠΈ ΠΈΠΌΠΈΡΠ°.
Π¨ΡΠΎ Π΅ ΠΏΠΎΠ»Π½ΠΎ ΠΈΠΌΠ΅?
Π¦Π΅Π»ΠΎΡΠ½ΠΎ ΠΊΠ²Π°Π»ΠΈΡΠΈΠΊΡΠ²Π°Π½ΠΎ ΠΈΠΌΠ΅ Π΅ ΠΈΠΌΠ΅ Π·Π° ΠΊΠΎΠ΅ Π½Π΅ΠΌΠ° Π΄Π° ΡΠ΅ Π²ΡΡΠΈ Π»ΠΎΠΊΠ°Π»Π½ΠΎ ΠΏΡΠ΅Π±Π°ΡΡΠ²Π°ΡΠ΅ ΠΈ ΠΈΠΌΠ΅ΡΠΎ ΡΠ΅ ΡΠ΅ ΡΠΌΠ΅ΡΠ° Π·Π° Π°ΠΏΡΠΎΠ»ΡΡΠ½ΠΎ ΠΏΡΠΈ ΡΠ΅ΡΠ°Π²Π°ΡΠ΅ Π½Π° ΠΈΠΌΠ΅ΡΠΎ. Π‘ΠΏΠΎΡΠ΅Π΄ ΠΊΠΎΠ½Π²Π΅Π½ΡΠΈΡΠ°ΡΠ°, ΡΠΎΡΡΠ²Π΅ΡΠΎΡ DNS ΡΠΌΠ΅ΡΠ° Π΄Π΅ΠΊΠ° ΠΈΠΌΠ΅ΡΠΎ Π΅ ΡΠ΅Π»ΠΎΡΠ½ΠΎ ΠΊΠ²Π°Π»ΠΈΡΠΈΠΊΡΠ²Π°Π½ΠΎ Π°ΠΊΠΎ Π·Π°Π²ΡΡΡΠ²Π° ΡΠΎ ΡΠΎΡΠΊΠ° (.), Π° ΠΏΠΎΠΈΠ½Π°ΠΊΡ Π½Π΅ Π΅ ΡΠ΅Π»ΠΎΡΠ½ΠΎ ΠΊΠ²Π°Π»ΠΈΡΠΈΠΊΡΠ²Π°Π½ΠΎ. Π’ΠΎΠ° Π΅ google.com.
ΡΠ΅Π»ΠΎΡΠ½ΠΎ Π΄Π΅ΡΠΈΠ½ΠΈΡΠ°Π½ΠΈ ΠΈ google.com
- ΠΠ΅.
ΠΠ°ΠΊΠΎ ΡΠ΅ ΠΏΠΎΡΡΠ°ΠΏΡΠ²Π° ΡΠΎ Π½Π΅ΠΊΠ²Π°Π»ΠΈΡΠΈΠΊΡΠ²Π°Π½ΠΎ ΠΈΠΌΠ΅?
ΠΠΎΠ³Π° Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡΠ°ΡΠ° ΡΠ΅ ΠΏΠΎΠ²ΡΠ·ΡΠ²Π° ΡΠΎ Π΄Π°Π»Π΅ΡΠΈΠ½ΡΠΊΠΈΠΎΡ Ρ
ΠΎΡΡ Π½Π°Π²Π΅Π΄Π΅Π½ Π²ΠΎ ΠΈΠΌΠ΅ΡΠΎ, ΡΠ΅Π·ΠΎΠ»ΡΡΠΈΡΠ°ΡΠ° Π½Π° ΠΈΠΌΠ΅ΡΠΎ Π½Π° DNS ΠΎΠ±ΠΈΡΠ½ΠΎ ΡΠ΅ ΠΏΡΠ°Π²ΠΈ ΡΠΎ ΠΏΠΎΠΌΠΎΡ Π½Π° ΡΠΈΡΡΠ΅ΠΌΡΠΊΠΈ ΠΏΠΎΠ²ΠΈΠΊ, Π½Π° ΠΏΡ. getaddrinfo()
. ΠΠΎ, Π°ΠΊΠΎ ΠΈΠΌΠ΅ΡΠΎ Π΅ Π½Π΅ΠΊΠ²Π°Π»ΠΈΡΠΈΠΊΡΠ²Π°Π½ΠΎ (Π½Π΅ Π·Π°Π²ΡΡΡΠ²Π° ΡΠΎ .), ΡΠ΅ ΠΏΡΠ°ΡΡΠ²Π°ΠΌ Π΄Π°Π»ΠΈ ΡΠΈΡΡΠ΅ΠΌΡΠΊΠΈΠΎΡ ΠΏΠΎΠ²ΠΈΠΊ ΡΠ΅ ΡΠ΅ ΠΎΠ±ΠΈΠ΄Π΅ ΠΏΡΠ²ΠΎ Π΄Π° Π³ΠΎ ΡΠ΅ΡΠΈ ΠΈΠΌΠ΅ΡΠΎ ΠΊΠ°ΠΊΠΎ Π°ΠΏΡΠΎΠ»ΡΡΠ½ΠΎ ΠΈΠΌΠ΅ ΠΈΠ»ΠΈ ΠΏΡΠ²ΠΎ Π΄Π° ΠΏΠΎΠΌΠΈΠ½Π΅ Π½ΠΈΠ· Π΄ΠΎΠΌΠ΅Π½ΠΈ Π·Π° Π»ΠΎΠΊΠ°Π»Π½ΠΎ ΠΏΡΠ΅Π±Π°ΡΡΠ²Π°ΡΠ΅? ΠΠ°Π²ΠΈΡΠΈ ΠΎΠ΄ ΠΎΠΏΡΠΈΡΠ°ΡΠ° ndots
.
ΠΠ΄ ΠΏΡΠΈΡΠ°ΡΠ½ΠΈΠΊΠΎΡ resolv.conf
:
ndots:n
ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ ΠΏΠΎΡΠΎΠ³ Π΄Π»Ρ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π° ΡΠΎΡΠ΅ΠΊ, ΠΊΠΎΡΠΎΡΡΠ΅ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΏΠΎΡΠ²ΠΈΡΡΡΡ Π² ΠΈΠΌΠ΅Π½ΠΈ, ΠΏΡΠ΅ΠΆΠ΄Π΅ ΡΠ΅ΠΌ Π±ΡΠ΄Π΅Ρ ΡΠ΄Π΅Π»Π°Π½ Π½Π°ΡΠ°Π»ΡΠ½ΡΠΉ Π°Π±ΡΠΎΠ»ΡΡΠ½ΡΠΉ Π·Π°ΠΏΡΠΎΡ. ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π΄Π»Ρ n ΡΠ°Π²Π½ΠΎ 1, ΡΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ Π΅ΡΠ»ΠΈ Π² ΠΈΠΌΠ΅Π½ΠΈ Π΅ΡΡΡ ΠΊΠ°ΠΊΠΈΠ΅-Π»ΠΈΠ±ΠΎ ΡΠΎΡΠΊΠΈ, ΠΈΠΌΡ Π±ΡΠ΄Π΅Ρ ΡΠ½Π°ΡΠ°Π»Π° ΠΎΠΏΡΠΎΠ±ΠΎΠ²Π°Π½ΠΎ ΠΊΠ°ΠΊ Π°Π±ΡΠΎΠ»ΡΡΠ½ΠΎΠ΅ ΠΈΠΌΡ, ΠΏΡΠ΅ΠΆΠ΄Π΅ ΡΠ΅ΠΌ ΠΊ Π½Π΅ΠΌΡ Π±ΡΠ΄ΡΡ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ ΠΊΠ°ΠΊΠΈΠ΅-Π»ΠΈΠ±ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΡΠΏΠΈΡΠΊΠ° ΠΏΠΎΠΈΡΠΊΠ°.
Π’ΠΎΠ° Π·Π½Π°ΡΠΈ Π΄Π΅ΠΊΠ° Π°ΠΊΠΎ Π·Π° ndots
ΡΠΎ ΠΎΠ³Π»Π΅Π΄ Π½Π° Π²ΡΠ΅Π΄Π½ΠΎΡΡΠ° 5 ΠΈ ΠΈΠΌΠ΅ΡΠΎ ΡΠΎΠ΄ΡΠΆΠΈ ΠΏΠΎΠΌΠ°Π»ΠΊΡ ΠΎΠ΄ 5 ΡΠΎΡΠΊΠΈ, ΡΠΈΡΡΠ΅ΠΌΡΠΊΠΈΠΎΡ ΠΏΠΎΠ²ΠΈΠΊ ΡΠ΅ ΡΠ΅ ΠΎΠ±ΠΈΠ΄Π΅ Π΄Π° Π³ΠΎ ΡΠ΅ΡΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»Π½ΠΎ, ΠΏΡΠ²ΠΎ ΠΏΠΎΠΌΠΈΠ½ΡΠ²Π°ΡΡΠΈ Π³ΠΈ ΡΠΈΡΠ΅ Π»ΠΎΠΊΠ°Π»Π½ΠΈ Π΄ΠΎΠΌΠ΅Π½ΠΈ Π·Π° ΠΏΡΠ΅Π±Π°ΡΡΠ²Π°ΡΠ΅ ΠΈ, Π΄ΠΎΠΊΠΎΠ»ΠΊΡ Π½Π΅ ΡΡΠΏΠ΅Π΅, Π½Π° ΠΊΡΠ°ΡΠΎΡ ΡΠ΅ Π³ΠΎ ΡΠ΅ΡΠΈ ΠΊΠ°ΠΊΠΎ Π°ΠΏΡΠΎΠ»ΡΡΠ½ΠΎ ΠΈΠΌΠ΅.
ΠΠΎΡΡΠΎ ΡΠ°ΠΊΠ° ndots:5
Π΄Π°Π»ΠΈ ΠΌΠΎΠΆΠ΅ Π½Π΅Π³Π°ΡΠΈΠ²Π½ΠΎ Π΄Π° Π²Π»ΠΈΡΠ°Π΅ Π½Π° ΠΏΠ΅ΡΡΠΎΡΠΌΠ°Π½ΡΠΈΡΠ΅ Π½Π° Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡΠ°ΡΠ°?
ΠΠ°ΠΊΠΎ ΡΡΠΎ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° Π·Π°ΠΌΠΈΡΠ»ΠΈΡΠ΅, Π°ΠΊΠΎ Π²Π°ΡΠ°ΡΠ° Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡΠ° ΠΊΠΎΡΠΈΡΡΠΈ ΠΌΠ½ΠΎΠ³Ρ Π½Π°Π΄Π²ΠΎΡΠ΅ΡΠ΅Π½ ΡΠΎΠΎΠ±ΡΠ°ΡΠ°Ρ, Π·Π° ΡΠ΅ΠΊΠΎΡΠ° Π²ΠΎΡΠΏΠΎΡΡΠ°Π²Π΅Π½Π° TCP ΠΊΠΎΠ½Π΅ΠΊΡΠΈΡΠ° (ΠΈΠ»ΠΈ ΠΏΠΎΠΏΡΠ΅ΡΠΈΠ·Π½ΠΎ, Π·Π° ΡΠ΅ΠΊΠΎΠ΅ ΡΠ΅ΡΠ΅Π½ΠΎ ΠΈΠΌΠ΅), ΡΠ΅ ΠΈΠ·Π΄Π°Π΄Π΅ 5 DNS Π±Π°ΡΠ°ΡΠ° ΠΏΡΠ΅Π΄ ΠΈΠΌΠ΅ΡΠΎ Π΄Π° ΡΠ΅ ΡΠ΅ΡΠΈ ΠΏΡΠ°Π²ΠΈΠ»Π½ΠΎ, Π±ΠΈΠ΄Π΅ΡΡΠΈ ΠΏΡΠ²ΠΎ ΡΠ΅ ΠΏΠΎΠΌΠΈΠ½Π΅ Π½ΠΈΠ· 4 Π»ΠΎΠΊΠ°Π»Π΅Π½ Π΄ΠΎΠΌΠ΅Π½ Π·Π° ΠΏΡΠ΅Π±Π°ΡΡΠ²Π°ΡΠ΅, ΠΈ Π½Π° ΠΊΡΠ°ΡΠΎΡ ΡΠ΅ ΠΈΠ·Π΄Π°Π΄Π΅ Π°ΠΏΡΠΎΠ»ΡΡΠ½ΠΎ Π±Π°ΡΠ°ΡΠ΅ Π·Π° ΡΠ΅ΡΠ°Π²Π°ΡΠ΅ Π½Π° ΠΈΠΌΠ΅ΡΠΎ.
Π‘Π»Π΅Π΄Π½ΠΈΠΎΡ Π³ΡΠ°ΡΠΈΠΊΠΎΠ½ Π³ΠΎ ΠΏΡΠΈΠΊΠ°ΠΆΡΠ²Π° Π²ΠΊΡΠΏΠ½ΠΈΠΎΡ ΡΠΎΠΎΠ±ΡΠ°ΡΠ°Ρ Π½Π° Π½Π°ΡΠΈΡΠ΅ 3 kube-dns ΠΌΠΎΠ΄ΡΠ»ΠΈ ΠΏΡΠ΅Π΄ ΠΈ ΠΎΡΠΊΠ°ΠΊΠΎ Π³ΠΈ ΠΏΡΠ΅ΡΡΠ»ΠΈΠ²ΠΌΠ΅ Π½Π΅ΠΊΠΎΠ»ΠΊΡΡΠ΅ ΠΈΠΌΠΈΡΠ° Π½Π° Π΄ΠΎΠΌΠ°ΡΠΈΠ½ΠΈ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠ°Π½ΠΈ Π²ΠΎ Π½Π°ΡΠ°ΡΠ° Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡΠ° Π½Π° ΡΠ΅Π»ΠΎΡΠ½ΠΎ ΠΊΠ²Π°Π»ΠΈΡΠΈΠΊΡΠ²Π°Π½ΠΈ.
Π‘Π»Π΅Π΄Π½ΠΈΠΎΡ Π΄ΠΈΡΠ°Π³ΡΠ°ΠΌ ΡΠ° ΠΏΡΠΈΠΊΠ°ΠΆΡΠ²Π° Π΄ΠΎΡΠ½Π΅ΡΠ΅ΡΠΎ Π½Π° Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡΠ°ΡΠ° ΠΏΡΠ΅Π΄ ΠΈ ΠΎΡΠΊΠ°ΠΊΠΎ ΡΠΌΠ΅Π½ΠΈΠ»Π΅ Π½Π΅ΠΊΠΎΠ»ΠΊΡ ΠΈΠΌΠΈΡΠ° Π½Π° Π΄ΠΎΠΌΠ°ΡΠΈΠ½ΠΈ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠ°Π½ΠΈ Π²ΠΎ Π½Π°ΡΠ°ΡΠ° Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡΠ° Π½Π° ΡΠ΅Π»ΠΎΡΠ½ΠΈ ΠΈΠΌΠΈΡΠ° (Π²Π΅ΡΡΠΈΠΊΠ°Π»Π½Π°ΡΠ° ΡΠΈΠ½Π° Π»ΠΈΠ½ΠΈΡΠ° Π΅ ΡΠ°ΡΠΏΠΎΡΠ΅Π΄ΡΠ²Π°ΡΠ΅ΡΠΎ):
Π Π΅ΡΠ΅Π½ΠΈΠ΅ # 1 - ΠΠΎΡΠΈΡΡΠ΅ΡΠ΅ ΡΠ΅Π»ΠΎΡΠ½ΠΎ ΠΊΠ²Π°Π»ΠΈΡΠΈΠΊΡΠ²Π°Π½ΠΈ ΠΈΠΌΠΈΡΠ°
ΠΠΊΠΎ ΠΈΠΌΠ°ΡΠ΅ Π½Π΅ΠΊΠΎΠ»ΠΊΡ ΡΡΠ°ΡΠΈΡΠ½ΠΈ Π½Π°Π΄Π²ΠΎΡΠ΅ΡΠ½ΠΈ ΠΈΠΌΠΈΡΠ° (Ρ.Π΅. Π΄Π΅ΡΠΈΠ½ΠΈΡΠ°Π½ΠΈ Π²ΠΎ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡΠ°ΡΠ° Π½Π° Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡΠ°ΡΠ°) Π½Π° ΠΊΠΎΠΈ ΡΠΎΠ·Π΄Π°Π²Π°ΡΠ΅ Π³ΠΎΠ»Π΅ΠΌ Π±ΡΠΎΡ Π²ΡΡΠΊΠΈ, ΠΌΠΎΠΆΠ΅Π±ΠΈ Π½Π°ΡΠ΅Π΄Π½ΠΎΡΡΠ°Π²Π½ΠΎΡΠΎ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Π΅ Π΄Π° Π³ΠΈ ΠΏΡΠ΅ΡΡΠ»ΠΈΡΠ΅ Π½Π° ΡΠ΅Π»ΠΎΡΠ½ΠΎ ΠΊΠ²Π°Π»ΠΈΡΠΈΠΊΡΠ²Π°Π½ΠΈ ΡΠΎ Π΅Π΄Π½ΠΎΡΡΠ°Π²Π½ΠΎ Π΄ΠΎΠ΄Π°Π²Π°ΡΠ΅. Π½Π° ΠΊΡΠ°Ρ.
ΠΠ²Π° Π½Π΅ Π΅ ΠΊΠΎΠ½Π΅ΡΠ½ΠΎ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅, Π½ΠΎ ΠΏΠΎΠΌΠ°Π³Π° Π±ΡΠ·ΠΎ, ΠΈΠ°ΠΊΠΎ Π½Π΅ ΡΠΈΡΡΠΎ, Π΄Π° ΡΠ΅ ΠΏΠΎΠ΄ΠΎΠ±ΡΠΈ ΡΠΈΡΡΠ°ΡΠΈΡΠ°ΡΠ°. ΠΠ° ΠΏΡΠΈΠΌΠ΅Π½ΠΈΠ²ΠΌΠ΅ ΠΎΠ²Π°Π° Π·Π°ΠΊΡΠΏΠ° Π·Π° Π΄Π° Π³ΠΎ ΡΠ΅ΡΠΈΠΌΠ΅ Π½Π°ΡΠΈΠΎΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌ, ΡΠΈΠΈ ΡΠ΅Π·ΡΠ»ΡΠ°ΡΠΈ Π±Π΅Π° ΠΏΡΠΈΠΊΠ°ΠΆΠ°Π½ΠΈ Π½Π° ΡΠ»ΠΈΠΊΠΈΡΠ΅ ΠΎΠ΄ Π΅ΠΊΡΠ°Π½ΠΎΡ ΠΏΠΎΠ³ΠΎΡΠ΅.
Π Π΅ΡΠ΅Π½ΠΈΠ΅ # 2 - ΠΏΡΠΈΠ»Π°Π³ΠΎΠ΄ΡΠ²Π°ΡΠ΅ ndots
Π² dnsConfig
ΠΠΎ Kubernetes 1.9, ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π½ΠΎΡΡΠ° ΡΠ΅ ΠΏΠΎΡΠ°Π²ΠΈ Π²ΠΎ Π°Π»ΡΠ°-ΡΠ΅ΠΆΠΈΠΌ (Π±Π΅ΡΠ° Π²Π΅ΡΠ·ΠΈΡΠ° v1.10), ΡΡΠΎ Π²ΠΈ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΡΠ²Π° ΠΏΠΎΠ΄ΠΎΠ±ΡΠΎ Π΄Π° Π³ΠΈ ΠΊΠΎΠ½ΡΡΠΎΠ»ΠΈΡΠ°ΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΈΡΠ΅ Π½Π° DNS ΠΏΡΠ΅ΠΊΡ ΡΠ²ΠΎΡΡΡΠ²ΠΎΡΠΎ pod Π²ΠΎ dnsConfig
. ΠΠ΅ΡΡ Π΄ΡΡΠ³ΠΎΡΠΎ, Π²ΠΈ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΡΠ²Π° Π΄Π° ΡΠ° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠ°ΡΠ΅ Π²ΡΠ΅Π΄Π½ΠΎΡΡΠ° ndots
Π·Π° ΠΎΠ΄ΡΠ΅Π΄Π΅Π½Π° ΠΌΠ΅ΡΡΠ½ΠΊΠ°, Ρ.Π΅.
apiVersion: v1
kind: Pod
metadata:
namespace: default
name: dns-example
spec:
containers:
- name: test
image: nginx
dnsConfig:
options:
- name: ndots
value: "1"
ΠΠ·Π²ΠΎΡΠΈ
Π¨ΡΠΎ Π΅ ΠΊΠ²Π°Π»ΠΈΡΠΈΠΊΠ°ΡΠΈΡΠ° Π·Π° ΠΈΠΌΠ΅ΡΠΎ Π½Π° DNS Kubernetes: DNS Π·Π° ΡΡΠ»ΡΠ³ΠΈ ΠΈ ΠΏΠΎΠ΄Π»ΠΎΠ³ΠΈ
ΠΡΠΎΡΠΈΡΠ°ΡΡΠ΅ ΠΈ Π΄ΡΡΠ³ΠΈ Π½Π°ΠΏΠΈΡΠΈ Π½Π° Π½Π°ΡΠΈΠΎΡ Π±Π»ΠΎΠ³:
Π Π°Π·Π±ΠΈΡΠ°ΡΠ΅ Π½Π° ΠΠΎΠ½ΡΠ΅ΠΊΡΡ ΠΏΠ°ΠΊΠ΅ΡΠΎΡ Π²ΠΎ ΠΠΎΠ»Π°Π½Π³ Π’ΡΠΈ Π»Π΅ΡΠ½ΠΈ ΡΡΠΈΠΊΠΎΠ²ΠΈ Π·Π° Π½Π°ΠΌΠ°Π»ΡΠ²Π°ΡΠ΅ Π½Π° ΡΠ»ΠΈΠΊΠΈΡΠ΅ Π½Π° Docker ΠΡΠΆΠ°Π²Π½ΠΈ ΡΠ΅Π·Π΅ΡΠ²Π½ΠΈ ΠΊΠΎΠΏΠΈΠΈ Π²ΠΎ ΠΡΠ±Π΅ΡΠ½Π΅ΡΠ΅Ρ ΠΠ΅ΠΊΠ°ΠΏ Π½Π° Π³ΠΎΠ»Π΅ΠΌ Π±ΡΠΎΡ Ρ Π΅ΡΠ΅ΡΠΎΠ³Π΅Π½ΠΈ Π²Π΅Π±-ΠΏΡΠΎΠ΅ΠΊΡΠΈ Π’Π΅Π»Π΅Π³ΡΠ°ΠΌΠ° Π±ΠΎΡ Π·Π° Redmine. ΠΠ°ΠΊΠΎ Π΄Π° Π³ΠΎ ΠΏΠΎΠ΅Π΄Π½ΠΎΡΡΠ°Π²ΠΈΡΠ΅ ΠΆΠΈΠ²ΠΎΡΠΎΡ Π·Π° ΡΠ΅Π±Π΅ ΠΈ Π·Π° Π΄ΡΡΠ³ΠΈΡΠ΅
ΠΠ·Π²ΠΎΡ: www.habr.com