ΠΠ΅ ΡΠ°ΠΊ Π΄Π°Π²Π½ΠΎ ΠΌΡ Π·Π°ΠΏΡΡΡΠΈΠ»ΠΈ 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 ΡΠ΅ΡΠ΅Π· ΡΠ²ΠΎΠΉΡΡΠ²ΠΎ ΠΏΠΎΠ΄Π° Π² dnsConfig
. Π‘ΡΠ΅Π΄ΠΈ ΠΏΡΠΎΡΠ΅Π³ΠΎ, ΠΎΠ½ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π½Π°ΡΡΡΠΎΠΈΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ndots
Π΄Π»Ρ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ΄Π°, Ρ.Π΅.
apiVersion: v1
kind: Pod
metadata:
namespace: default
name: dns-example
spec:
containers:
- name: test
image: nginx
dnsConfig:
options:
- name: ndots
value: "1"
ΠΡΡΠΎΡΠ½ΠΈΠΊΠΈ
Π’Π°ΠΊΠΆΠ΅ ΡΠΈΡΠ°ΠΉΡΠ΅ Π΄ΡΡΠ³ΠΈΠ΅ ΡΡΠ°ΡΡΠΈ Π² Π½Π°ΡΠ΅ΠΌ Π±Π»ΠΎΠ³Π΅:
Π Π°Π·Π±ΠΈΡΠ°Π΅ΠΌΡΡ Ρ ΠΏΠ°ΠΊΠ΅ΡΠΎΠΌ Context Π² Golang Π’ΡΠΈ ΠΏΡΠΎΡΡΡΡ ΠΏΡΠΈΠ΅ΠΌΠ° Π΄Π»Ρ ΡΠΌΠ΅Π½ΡΡΠ΅Π½ΠΈΡ Docker-ΠΎΠ±ΡΠ°Π·ΠΎΠ² ΠΡΠΊΠ°ΠΏΡ Stateful Π² Kubernetes Π Π΅Π·Π΅ΡΠ²Π½ΠΎΠ΅ ΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π±ΠΎΠ»ΡΡΠΎΠ³ΠΎ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π° ΡΠ°Π·Π½ΠΎΡΠΎΠ΄Π½ΡΡ web-ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ² Telegram-Π±ΠΎΡ Π΄Π»Ρ Redmine. ΠΠ°ΠΊ ΡΠΏΡΠΎΡΡΠΈΡΡ ΠΆΠΈΠ·Π½Ρ ΡΠ΅Π±Π΅ ΠΈ Π»ΡΠ΄ΡΠΌ
ΠΡΡΠΎΡΠ½ΠΈΠΊ: habr.com