kubernetes ΡΡΠΎ ΡΡΠΎ ΡΠ°ΠΊΠΎΠ΅
Kubernetes ΠΈΠ»ΠΈ Ρ ΡΠ΅Π³ΠΎ Π½Π°ΡΠ°ΡΡ, ΡΡΠΎΠ±Ρ ΠΏΠΎΠ½ΡΡΡ ΡΡΠΎ ΡΡΠΎ ΠΈ Π·Π°ΡΠ΅ΠΌ ΠΎΠ½ Π½ΡΠΆΠ΅Π½
ΠΠ°Π½Π½Π°Ρ ΡΡΠ°ΡΡΡ ΡΠ°ΡΡΡΠΈΡΠ°Π½Π° Π½Π° Π½ΠΎΠ²ΠΈΡΠΊΠΎΠ². ΠΡΠ»ΠΈ Π²Ρ ΠΎΠΏΡΡΠ½ΡΠΉ Π½ΠΈΠ½Π΄Π·Ρ, ΠΏΡΠΎΡΡΠΎ Π²ΡΠΏΠΎΠΌΠ½ΠΈΡΠ΅ ΠΎ ΡΠΎΠΌ, ΠΊΠ°ΠΊ ΠΊΠΎΠ³Π΄Π°-ΡΠΎ ΠΏΠΎΠ΄ΠΎΠ±Π½Π°Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΌΠΎΠ³Π»Π° Π±ΡΡΡ ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠΉ ΠΈ Π΄Π»Ρ Π²Π°Ρ.
Kubernetes Π±ΡΠ» ΡΠΎΠ·Π΄Π°Π½ Google Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎΠ³ΠΎ ΠΎΠΏΡΡΠ° ΡΠ°Π±ΠΎΡΡ Ρ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ°ΠΌΠΈ Π² ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΠ²Π΅Π½Π½ΠΎΠΉ ΡΡΠ΅Π΄Π΅, ΠΈ ΡΠ²ΠΎΠΈΠΌ ΡΡΠΏΠ΅Ρ ΠΎΠΌ ΠΎΠ½ Π²ΠΎ ΠΌΠ½ΠΎΠ³ΠΎΠΌ ΠΎΠ±ΡΠ·Π°Π½ ΠΈΠΌΠ΅Π½Π½ΠΎ Google.
Π’Π°ΠΊ ΡΡΠΎ ΠΆΠ΅ ΡΠ°ΠΊΠΎΠ΅ Kubernetes ΠΈ Π΄Π»Ρ ΡΠ΅Π³ΠΎ ΠΌΡ Π² ΠΏΡΠΈΠ½ΡΠΈΠΏΠ΅ Ρ ΠΎΡΠΈΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΈΠΌΠ΅Π½Π½ΠΎ Π΅Π³ΠΎ, Π° Π½Π΅ ΠΎΠ±ΡΡΠ½ΡΠ΅ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ Docker.
ΠΠ°Π²Π°ΠΉΡΠ΅ Π²ΡΠΏΠΎΠΌΠ½ΠΈΠΌ ΡΡΠΎ ΡΠ°ΠΊΠΎΠ΅ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΡ.
ΠΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΡ ΡΠΏΠ°ΠΊΠΎΠ²ΡΠ²Π°ΡΡ ΡΠ΅ΡΠ²ΠΈΡΡ, ΡΠΎΡΡΠ°Π²Π»ΡΡΡΠΈΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΠΈ Π΄Π΅Π»Π°ΡΡ ΠΈΡ ΠΏΠ΅ΡΠ΅Π½ΠΎΡΠΈΠΌΡΠΌΠΈ Π² ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ Π²ΡΡΠΈΡΠ»ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΡΠ΅Π΄Ρ ΠΊΠ°ΠΊ Π΄Π»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΈ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΡΠ°ΠΊ ΠΈ Π΄Π»Ρ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΠ²Π΅Π½Π½ΠΎΠ³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ. Π‘ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΎΠ² Π»Π΅Π³ΠΊΠΎ Π±ΡΡΡΡΠΎ Π½Π°ΡΠ°ΡΠΈΠ²Π°ΡΡ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠΎΠ² ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, ΡΡΠΎΠ±Ρ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΎΠ²Π°ΡΡ ΠΏΠΈΠΊΠΎΠ²ΠΎΠΌΡ ΡΠΏΡΠΎΡΡ. Π ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ ΡΠ΅ΡΡΡΡΡ ΠΠ‘ Ρ ΠΎΡΡΠ°, ΠΎΠ½ΠΈ Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ Π»Π΅Π³ΡΠ΅ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΡΡ ΠΌΠ°ΡΠΈΠ½. ΠΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΡ ΠΎΡΠ΅Π½Ρ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ Π±Π°Π·ΠΎΠ²ΡΡ ΡΠ΅ΡΠ²Π΅ΡΠ½ΡΡ ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΡ.
ΠΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ°ΠΌ Π½Π°Π΄ΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°ΡΡΡΡ ΠΊ Π²Π½Π΅ΡΠ½Π΅ΠΌΡ ΠΌΠΈΡΡ ΠΈ Π±ΡΡΡ ΡΠΏΡΠ°Π²Π»ΡΠ΅ΠΌΡΠΌΠΈ Π΄Π»Ρ Π±Π°Π»Π°Π½ΡΠΈΡΠΎΠ²ΠΊΠΈ Π½Π°Π³ΡΡΠ·ΠΊΠΈ, ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΈ ΠΏΠ»Π°Π½ΠΈΡΠΎΠ²Π°Π½ΠΈΡ.
ΠΠΎΡ Π΄Π»Ρ ΡΠ°ΠΊΠΎΠ³ΠΎ ΠΈ Π½ΡΠΆΠ΅Π½ Kubernetes.
Kubernetes ΠΏΠΎ ΡΡΡΠΈ ΡΠ²Π»ΡΠ΅ΡΡΡ Π½Π΅ ΠΏΡΠΎΡΡΠΎ ΡΠΈΡΡΠ΅ΠΌΠΎΠΉ ΠΎΡΠΊΠ΅ΡΡΡΠ°ΡΠΈΠΈ. Π’Π΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠΈ ΠΎΡΠΊΠ΅ΡΡΡΠ°ΡΠΈΡ ΡΡΠΎ ΠΏΡΠΎ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΡΠ°Π±ΠΎΡΠ΅Π³ΠΎ ΠΏΡΠΎΡΠ΅ΡΡΠ°: ΡΠ½Π°ΡΠ°Π»Π° ΡΠ΄Π΅Π»Π°ΠΉ A, Π·Π°ΡΠ΅ΠΌ B, Π·Π°ΡΠ΅ΠΌ C.
Kubernetes ΠΆΠ΅ ΡΡΡΡΠ°Π½ΡΠ΅Ρ ΠΏΡΡΠΌΡΡ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎΡΡΡ Π² ΡΡΠΎΠΌ. Π Π½Π΅ΠΌ Π΅ΡΡΡ ΠΏΡΠΎΡΠ΅ΡΡΡ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ, ΡΡΠΎ ΠΏΠΎ ΡΠ°ΠΊΡΡ Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΡ ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½ΡΠ΅ΠΌΡ. ΠΠ»Π°Π²Π½Π°Ρ Π·Π°Π΄Π°ΡΠ° ΠΏΡΠΎΡΠ΅ΡΡΠΎΠ² ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΏΠ΅ΡΠ΅Π²Π΅ΡΡΠΈ ΡΠ΅ΠΊΡΡΠ΅Π΅ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ ΠΊ Π½ΡΠΆΠ½ΠΎΠΌΡ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ. Π’Π΅ΠΏΠ΅ΡΡ Π½Π°ΠΌ Π½Π΅Π²Π°ΠΆΠ½ΠΎ ΠΊΠ°ΠΊΠΎΠΉ Π±ΡΠ΄Π΅Ρ ΠΌΠ°ΡΡΡΡΡ ΠΎΡ Π Π΄ΠΎ Π‘, ΡΡΠΎ ΠΈΡΠΊΠ»ΡΡΠ°Π΅Ρ ΡΠ΅Π½ΡΡΠ°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΡΠΉ ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ.
ΠΠ»Π°Π³ΠΎΠ΄Π°ΡΡ ΡΡΠΎΠΌΡ ΡΠΈΡΡΠ΅ΠΌΠ° ΡΠ΅ΠΏΠ΅ΡΡ Π±ΠΎΠ»Π΅Π΅ ΠΏΡΠΎΡΡΠ° Π² ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ, ΠΌΠΎΡΠ½Π°Ρ, Π½Π°Π΄Π΅ΠΆΠ½Π°Ρ, Π° ΡΠ°ΠΊΠΆΠ΅ ΡΡΡΠΎΠΉΡΠΈΠ²Π°Ρ ΠΈ ΡΠ°ΡΡΠΈΡΡΠ΅ΠΌΠ°Ρ.
ΠΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΡ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ ΠΏΠΎΠ΄Π΅Π»ΠΈΡΡ ΡΡΠΎΠ±Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π±ΡΠ»ΠΈ ΠΏΠΎΠ΄Π΅Π»Π΅Π½Ρ Π½Π° Π±ΠΎΠ»Π΅Π΅ ΠΌΠ΅Π»ΠΊΠΈΠ΅ ΡΠ°ΡΡΠΈ Ρ ΡΠ΅ΡΠΊΠΈΠΌ ΡΠ°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅ΠΌ Π·Π°Π΄Π°Ρ. Π£ΡΠΎΠ²Π΅Π½Ρ Π°Π±ΡΡΡΠ°ΠΊΡΠΈΠΈ, ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅ΠΌΡΠΉ Π΄Π»Ρ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎΠ³ΠΎ ΠΎΠ±ΡΠ°Π·Π° ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ°, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π½Π°ΠΌ ΠΏΠΎΠ½ΡΡΡ ΠΊΠ°ΠΊ ΡΡΡΠΎΡΡΡΡ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. Π’Π°ΠΊΠΎΠΉ ΠΌΠΎΠ΄ΡΠ»ΡΠ½ΡΠΉ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ Π΄Π°Π΅Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π±ΠΎΠ»Π΅Π΅ Π±ΡΡΡΡΠΎ ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π½Π΅Π±ΠΎΠ»ΡΡΠΈΡ ΠΈ Π±ΠΎΠ»Π΅Π΅ ΡΠ΅Π»Π΅Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½Π½ΡΡ Π³ΡΡΠΏΠΏ, ΠΊΠ°ΠΆΠ΄Π°Ρ ΠΈΠ· ΠΊΠΎΡΠΎΡΡΡ ΠΎΡΠ²Π΅ΡΠ°Π΅Ρ Π·Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠ΅ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΡ. ΠΡΠΎ ΡΠ°ΠΊΠΆΠ΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π½Π°ΠΌ ΠΈΠ·ΠΎΠ»ΠΈΡΠΎΠ²Π°ΡΡ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΈ Π±ΠΎΠ»Π΅Π΅ ΡΠΈΡΠΎΠΊΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ ΠΌΠ΅Π½ΡΡΠ΅Π³ΠΎ ΡΠ°Π·ΠΌΠ΅ΡΠ°.
Π‘Π΄Π΅Π»Π°ΡΡ ΡΡΠΎ ΡΠΎΠ»ΡΠΊΠΎ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΎΠ² Π½Π΅ ΠΏΠΎΠ»ΡΡΠΈΡΡΡ. Π Π²ΠΎΡ Π² Kubernetes ΡΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΡΡΠΈΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Pods (ΠΏΠΎΠ΄ΠΎΠ²).
ΠΠΎΠ½ΡΠ΅ΠΏΡΠΈΡ Service (Π‘Π΅ΡΠ²ΠΈΡΡ) Π² Kubernetes ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ Π³ΡΡΠΏΠΏΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΠΏΠΎΠ΄ΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΡΠ΅ ΠΆΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ. Π‘Π΅ΡΠ²ΠΈΡΡ Π»Π΅Π³ΠΊΠΎ Π½Π°ΡΡΡΠ°ΠΈΠ²Π°ΡΡΡΡ Π΄Π»Ρ ΡΠ°ΠΊΠΈΡ ΡΠ΅Π»Π΅ΠΉ ΠΊΠ°ΠΊ ΠΎΠ±Π½Π°ΡΡΠΆΠ΅Π½ΠΈΠ΅, Π³ΠΎΡΠΈΠ·ΠΎΠ½ΡΠ°Π»ΡΠ½ΠΎΠ΅ ΠΌΠ°ΡΡΡΠ°Π±ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ Π±Π°Π»Π°Π½ΡΠΈΡΠΎΠ²ΠΊΠ° Π½Π°Π³ΡΡΠ·ΠΊΠΈ.
Kubernetes, ΡΠΎΠ³Π»Π°ΡΠ½ΠΎ ΠΎΡΠΈΡΠΈΠ°Π»ΡΠ½ΠΎΠΉ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ, ΡΠ°ΠΊ ΠΆΠ΅ ΡΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΠΈΡΡ Π²Π°ΠΌ:
ΠΡΠΏΠΎΠ»ΡΠ·ΡΡ ΠΈΠΌΡ DNS ΠΈΠ»ΠΈ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠΉ IP-Π°Π΄ΡΠ΅Ρ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³ ΡΠ΅ΡΠ²ΠΈΡΠΎΠ² ΠΈ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π½Π°Π³ΡΡΠ·ΠΊΠΈ Kubernetes ΠΌΠΎΠΆΠ΅Ρ ΠΎΠ±Π½Π°ΡΡΠΆΠΈΡΡ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ. ΠΡΠΈ Π²ΡΡΠΎΠΊΠΎΠΌ ΡΡΠ°ΡΠΈΠΊΠ΅ Π² Π½Π΅ΠΌ Kubernetes ΡΠ±Π°Π»Π°Π½ΡΠΈΡΡΠ΅Ρ Π½Π°Π³ΡΡΠ·ΠΊΡ ΠΈ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ ΡΠ΅ΡΠ΅Π²ΠΎΠΉ ΡΡΠ°ΡΠΈΠΊ ΡΠ°ΠΊ, ΡΡΠΎ ΡΠ°Π·Π²Π΅ΡΡΡΠ²Π°Π½ΠΈΠ΅ Π±ΡΠ΄Π΅Ρ ΡΡΠ°Π±ΠΈΠ»ΡΠ½ΡΠΌ.
Π‘ΠΈΡΡΠ΅ΠΌΠ° Ρ ΡΠ°Π½Π΅Π½ΠΈΡ ΠΏΠΎ Π²Π°ΡΠ΅ΠΌΡ Π²ΡΠ±ΠΎΡΡ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠ΅ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅, ΠΏΡΠΎΠ²Π°ΠΉΠ΄Π΅ΡΡ ΠΎΠ±ΡΠ΅Π΄ΠΎΡΡΡΠΏΠ½ΠΎΠ³ΠΎ ΠΎΠ±Π»Π°ΠΊΠ° ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠ΅ Π΄ΡΡΠ³ΠΎΠ΅) ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΡΠΌΠΎΠ½ΡΠΈΡΠΎΠ²Π°Π½Π° Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΎΡΠΊΠ΅ΡΡΡΠ°ΡΠΈΠΈ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ° Kubernetes.
ΠΠ²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΡΠ°Π·Π²Π΅ΡΡΡΠ²Π°Π½ΠΈΠ΅ ΠΈ ΠΎΡΠΊΠ°ΡΡ.
Kubernetes ΡΠ΅ΡΠ΅Π· ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΆΠ΅Π»Π°Π΅ΠΌΠΎΠ³ΠΎ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ ΡΠ°Π·Π²Π΅ΡΠ½ΡΡΡΡ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΎΠ² (ΠΌΠ°Π½ΠΈΡΠ΅ΡΡΡ, ΠΏΠΈΡΡΡΡΡ Π½Π° yaml) ΠΌΠΎΠΆΠ΅Ρ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ Π½Π° ΠΆΠ΅Π»Π°Π΅ΠΌΠΎΠ΅. Π’ΠΎ Π΅ΡΡΡ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π½ΠΎΠ²ΡΡ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΎΠ² Π΄Π»Ρ ΡΠ°Π·Π²Π΅ΡΡΡΠ²Π°Π½ΠΈΡ, ΡΠ΄Π°Π»Π΅Π½ΠΈΡ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΡ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΎΠ² ΠΈ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ Π²ΡΠ΅Ρ ΠΈΡ ΡΠ΅ΡΡΡΡΠΎΠ² Π² Π½ΠΎΠ²ΡΠΉ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ Π² Kubernetes ΠΌΠΎΠΆΠ½ΠΎ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ.
ΠΠ²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π½Π°Π³ΡΡΠ·ΠΊΠΈ.
Kubernetes ΡΠ°ΠΌ ΡΠ°Π·ΠΌΠ΅ΡΠ°Π΅Ρ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΡ Π½Π° Π²Π°ΡΠΈΡ ΡΠ·Π»Π°Ρ ΡΠ°ΠΊ, ΡΡΠΎΠ±Ρ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ΅ΡΡΡΡΡ. ΠΠ°ΠΌ ΠΎΡΡΠ°Π΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΡΠΊΠ°Π·Π°ΡΡ ΡΠΊΠΎΠ»ΡΠΊΠΎ Π¦Π, ΠΠΠ£ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΡ ΠΈ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΠΈΡΡ ΠΊΠ»Π°ΡΡΠ΅Ρ ΡΠ·Π»ΠΎΠ², Π³Π΄Π΅ Π±ΡΠ΄ΡΡ Π·Π°ΠΏΡΡΠ΅Π½Ρ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΡ.
Π‘Π°ΠΌΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Ρ.
ΠΡΠ»ΠΈ Π² ΡΠ°Π±ΠΎΡΠ΅ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΎΠ² ΡΡΠΎ-ΡΠΎ ΠΏΠΎΡΠ»ΠΎ Π½Π΅ ΡΠ°ΠΊ, ΡΠΎ Kubernetes ΡΠ°ΠΌ ΠΏΠ΅ΡΠ΅Π·Π°ΠΏΡΡΠΊΠ°Π΅Ρ, Π·Π°ΠΌΠ΅Π½ΡΠ΅Ρ ΠΈ Π·Π°Π²Π΅ΡΡΠ°Π΅Ρ ΡΠ°Π±ΠΎΡΡ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π΅ ΠΏΡΠΎΡ ΠΎΠ΄ΡΡ ΠΏΡΠΎΠ²Π΅ΡΠΊΡ ΡΠ°Π±ΠΎΡΠΎΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡΠΈ.
Π£ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ½ΡΠΈΠ΄Π΅Π½ΡΠΈΠ°Π»ΡΠ½ΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠ΅ΠΉ ΠΈ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠ΅ΠΉ.
ΠΠ°ΡΠΎΠ»ΠΈ, OAuth-ΡΠΎΠΊΠ΅Π½Ρ ΠΈ ΠΊΠ»ΡΡΠΈ SSH ΠΌΠΎΠ³ΡΡ Ρ
ΡΠ°Π½ΠΈΡΡΡΡ ΠΈ ΡΠΏΡΠ°Π²Π»ΡΡΡΡΡ Kubernetes Π±Π΅Π· ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΎΠ±ΡΠ°Π·ΠΎΠ² ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΎΠ² ΠΈ Π½Π΅ ΡΠ°ΡΠΊΡΡΠ²Π°Ρ ΠΊΠΎΠ½ΡΠΈΠ΄Π΅Π½ΡΠΈΠ°Π»ΡΠ½ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π² ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ ΡΡΠ΅ΠΊΠ°.
ΠΠ°ΠΊ Π²ΠΈΠ΄ΠΈΠΌ Π½Π° ΡΠΈΡΡΠ½ΠΊΠ΅, ΡΡΠΎ Π½Π°Π³Π»ΡΠ΄Π½Π°Ρ Π΄Π΅ΠΌΠΎΠ½ΡΡΡΠ°ΡΠΈΡ ΡΠΎΠ³ΠΎ ΡΡΠΎ Π΅ΡΡΡ Π²Π½ΡΡΡΠΈ Kubernetes Π½Π° ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΎΠ΄Π½ΠΎΠΉ ΠΌΠ°ΡΡΠ΅Ρ Π½ΠΎΠ΄Ρ (Master node) ΠΈ ΠΎΠ΄Π½ΠΎΠΉ Π²ΠΎΡΠΊΠ΅Ρ Π½ΠΎΠ΄Ρ (Worker node).
ΠΠ° Master node Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Kubernetes Control Plane (kube-scheduler, kube-controller-manager, kube-apiserver, etcd), Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π²ΡΠ΅ΠΌ ΠΊΠ»Π°ΡΡΠ΅ΡΠΎΠΌ Kubernetes.
ΠΠ° Worker node Π½Π°Ρ ΠΎΠ΄ΡΡΡΡ container runtime (ΡΡΠ΅Π΄Π° Π·Π°ΠΏΡΡΠΊΠ° ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ°), kubelet ΠΈ kube-proxy.
Π‘ontainer runtime ΡΡΠΎ ΡΠΎ Π½Π° ΡΠ΅ΠΌ Π±ΡΠ΄Π΅Ρ Π·Π°ΠΏΡΡΠ΅Π½ Π²Π°Ρ ΠΠΎΠ΄ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ Docker, Container D, Rocket ΠΈ Ρ.Π΄.).
Kubelet ΡΡΠΎ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ Β«Π°Π³Π΅Π½Ρ ΡΠ·Π»Π°Β», ΠΊΠΎΡΠΎΡΡΠΉ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Π½ΠΎΠ΄Π΅. ΠΠ°ΡΠ°Π½ΡΠΈΡΡΠ΅Ρ, ΡΡΠΎ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΡ Π² Pod(ΠΏΠΎΠ΄Π΅)ΡΠ°Π±ΠΎΡΠ°ΡΡ ΠΈ ΠΈΡΠΏΡΠ°Π²Π½Ρ. ΠΠ΅ ΡΠΏΡΠ°Π²Π»ΡΠ΅Ρ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ°ΠΌΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π΅ Π±ΡΠ»ΠΈ ΡΠΎΠ·Π΄Π°Π½Ρ Kubernetes.
Kube-proxy ΡΡΠΎ Π΄Π΅ΠΌΠΎΠ½ Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Π½ΠΎΠ΄Π΅, ΡΠΏΡΠ°Π²Π»ΡΠ΅Ρ ΠΏΡΠ°Π²ΠΈΠ»Π°ΠΌΠΈ iptable Π½Π° Ρ ΠΎΡΡΠ΅ Π΄Π»Ρ Π΄ΠΎΡΡΠΈΠΆΠ΅Π½ΠΈΡ Π±Π°Π»Π°Π½ΡΠΈΡΠΎΠ²ΠΊΠΈ Π½Π°Π³ΡΡΠ·ΠΊΠΈ ΡΠ»ΡΠΆΠ±Ρ (ΠΎΠ΄Π½Π° ΠΈΠ· ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΉ) ΠΈ ΡΠ»Π΅Π΄ΠΈΡ Π·Π° ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡΠΌΠΈ Service ΠΈ Endpoint.
ΠΠΎΠ»Π΅Π΅ Π΄Π΅ΡΠ°Π»ΡΠ½ΠΎΠ΅ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π½ΠΈΠ΅ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΡ, ΠΎΡΠ½ΠΎΠ²Π½ΡΡ ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΠΉ Kubernetes Π² ΡΠ΅ΠΎΡΠΈΠΈ ΠΈ Π³Π»Π°Π²Π½ΠΎΠ΅ Π½Π° ΠΏΡΠ°ΠΊΡΠΈΠΊΠ΅, Π½Π°ΡΠ°Π²Π½Π΅ Ρ ΡΠ°ΠΊΠΈΠΌΠΈ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΡΠΌΠΈ ΡΠ΅ΠΌΠ°ΠΌΠΈ ΠΊΠ°ΠΊ ΠΊΠ»Π°ΡΡΠ΅ΡΠΈΠ·Π°ΡΠΈΡ, highload web, Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π‘Π£ΠΠ, Π²ΠΈΡΡΡΠ°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΈ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΈΠ·Π°ΡΠΈΡ, ΠΎΡΠΊΠ΅ΡΡΡΠ°ΡΠΈΡ Π²Ρ ΡΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΠ·ΡΡΠΈΡΡ Π½Π° ΠΊΡΡΡΠ΅ Administrator Linux. Advanced.
Π’Π°ΠΊΠΆΠ΅ Π²Ρ ΡΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΎΡΠ²Π΅ΡΡ Π½Π° ΡΠ°ΠΊΠΈΠ΅ Π²ΠΎΠΏΡΠΎΡΡ ΠΊΠ°ΠΊ ΠΎΡΠ³Π°Π½ΠΈΠ·ΠΎΠ²Π°Π½ΠΎ ΡΠ΅ΡΠ΅Π²ΠΎΠ΅ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ Π² Kubernetes, ΠΊΠ°ΠΊ ΠΎΠΏΡΠ±Π»ΠΈΠΊΠΎΠ²Π°ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΈ ΠΊΠ°ΠΊ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ DNS Π² Kubernetes.
ΠΡ ΠΈ ΠΊΠ°ΠΊ ΠΆΠ΅ Π±Π΅Π· ΡΠ°ΠΊΠΎΠ³ΠΎ Π²Π°ΠΆΠ½ΠΎΠ³ΠΎ Π²ΠΎΠΏΡΠΎΡΠ° ΠΊΠ°ΠΊ Ρ ΡΠ°Π½Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½ΡΡ , ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³ ΠΈ Kubernetes secrets Hashicorp Vault.
Π ΡΠ΅Ρ , ΠΊΡΠΎ Π΄Π°Π²Π½ΠΎ Π·Π½Π°ΠΊΠΎΠΌ Ρ ΡΠ΅ΠΌ, ΡΡΠΎ ΡΠ°ΡΡΠΊΠ°Π·Π°Π½ΠΎ Π² ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅ ΠΈ Ρ ΠΎΡΠ΅Ρ ΡΠ΅Π³ΠΎ-ΡΠΎ ΠΏΠΎΡ Π°ΡΠ΄ΠΊΠΎΡΠ½Π΅Π΅, ΠΏΡΠΈΠ³Π»Π°ΡΠ°Π΅ΠΌ Π½Π° Π±Π΅ΡΠΏΠ»Π°ΡΠ½ΡΠΉ Π΄Π΅ΠΌΠΎ-ΡΡΠΎΠΊ ΠΏΠΎ ΡΠ΅ΠΌΠ΅ «Β«ΠΠ»Π°ΡΡΠ΅ΡΠ½Π°Ρ ΡΠ°ΠΉΠ»ΠΎΠ²Π°Ρ ΡΠΈΡΡΠ΅ΠΌΠ° LustreΒ»». Π ΡΠ°ΠΌΠΊΠ°Ρ ΡΡΠΎΠΊΠ° ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΡ ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ ΡΠ°ΠΉΠ»ΠΎΠ²ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ Lustre. Π Π°Π·Π±Π΅ΡΠ΅ΠΌ ΠΎΠ±Π»Π°ΡΡΠΈ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΠ°ΠΉΠ»ΠΎΠ²ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ ΠΈ Π΅Π΅ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠΈ. ΠΡΠ²Π΅ΡΠΈΠΌ Π½Π° Π²ΠΎΠΏΡΠΎΡΡ ΠΊΠ°ΠΊ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ file striping ΠΈ ΡΡΠΎ ΡΠ°ΠΊΠΎΠ΅ ΡΠ΅ΡΠ΅Π²ΠΎΠΉ ΡΡΠ°Π½ΡΠΏΠΎΡΡΠ½ΡΠΉ ΡΡΠΎΠ²Π΅Π½Ρ LNET. ΠΠ° ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΡΠ°ΡΡΠΈ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΠΌ ΠΈ ΡΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΡΠ΅ΠΌ ΡΠ°ΠΉΠ»ΠΎΠ²ΡΡ ΡΠΈΡΡΠ΅ΠΌΡ Π²ΡΡΡΠ½ΡΡ. ΠΠΎΡΠΌΠΎΡΡΠΈΠΌ ΠΏΡΠΈΠΌΠ΅Ρ ΡΠ°Π±ΠΎΡΡ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° Integrated Manager for Lustre (IML)
ΠΠ±Π·ΠΎΡ
ΠΡΠ° ΡΡΡΠ°Π½ΠΈΡΠ° ΠΏΠΎΡΠ²ΡΡΠ΅Π½Π° ΠΊΡΠ°ΡΠΊΠΎΠΌΡ ΠΎΠ±Π·ΠΎΡΡ Kubernetes.
Kubernetes β ΡΡΠΎ ΠΏΠΎΡΡΠ°ΡΠΈΠ²Π½Π°Ρ ΡΠ°ΡΡΠΈΡΡΠ΅ΠΌΠ°Ρ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ° Ρ ΠΎΡΠΊΡΡΡΡΠΌ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΌ ΠΊΠΎΠ΄ΠΎΠΌ Π΄Π»Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΈΠ·ΠΎΠ²Π°Π½Π½ΡΠΌΠΈ ΡΠ°Π±ΠΎΡΠΈΠΌΠΈ Π½Π°Π³ΡΡΠ·ΠΊΠ°ΠΌΠΈ ΠΈ ΡΠ΅ΡΠ²ΠΈΡΠ°ΠΌΠΈ, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΎΠ±Π»Π΅Π³ΡΠ°Π΅Ρ ΠΊΠ°ΠΊ Π΄Π΅ΠΊΠ»Π°ΡΠ°ΡΠΈΠ²Π½ΡΡ Π½Π°ΡΡΡΠΎΠΉΠΊΡ, ΡΠ°ΠΊ ΠΈ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·Π°ΡΠΈΡ. Π£ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ Π΅ΡΡΡ Π±ΠΎΠ»ΡΡΠ°Ρ, Π±ΡΡΡΡΠΎ ΡΠ°ΡΡΡΡΠ°Ρ ΡΠΊΠΎΡΠΈΡΡΠ΅ΠΌΠ°. Π‘Π΅ΡΠ²ΠΈΡΡ, ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΠΈ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ Kubernetes ΡΠΈΡΠΎΠΊΠΎ Π΄ΠΎΡΡΡΠΏΠ½Ρ.
ΠΠ°Π·Π²Π°Π½ΠΈΠ΅ Kubernetes ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ ΠΎΡ Π³ΡΠ΅ΡΠ΅ΡΠΊΠΎΠ³ΠΎ, ΡΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ ΡΡΠ»Π΅Π²ΠΎΠΉ ΠΈΠ»ΠΈ ΡΡΡΡΠΌΠ°Π½. Google ΠΎΡΠΊΡΡΠ» ΠΈΡΡ ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄ Kubernetes Π² 2014 Π³ΠΎΠ΄Ρ. Kubernetes ΠΎΡΠ½ΠΎΠ²ΡΠ²Π°Π΅ΡΡΡ Π½Π° Π΄Π΅ΡΡΡΠΈΠ»Π΅ΡΠ½Π΅ΠΌ ΠΎΠΏΡΡΠ΅ ΡΠ°Π±ΠΎΡΠ΅ Google Ρ ΠΌΠ°ΡΡΡΠ°Π±Π½ΡΠΌΠΈ ΡΠ°Π±ΠΎΡΠΈΠΌΠΈ Π½Π°Π³ΡΡΠ·ΠΊΠ°ΠΌΠΈ, Π² ΡΠΎΡΠ΅ΡΠ°Π½ΠΈΠΈ Ρ Π»ΡΡΡΠΈΠΌΠΈ Π² ΡΠ²ΠΎΠ΅ΠΌ ΠΊΠ»Π°ΡΡΠ΅ ΠΈΠ΄Π΅ΡΠΌΠΈ ΠΈ ΠΏΡΠ°ΠΊΡΠΈΠΊΠ°ΠΌΠΈ ΡΠΎΠΎΠ±ΡΠ΅ΡΡΠ²Π°.
ΠΡΡΠΎΡΠΈΡ
ΠΠ°Π²Π°ΠΉΡΠ΅ Π²Π΅ΡΠ½Π΅ΠΌΡΡ Π½Π°Π·Π°Π΄ ΠΈ ΠΏΠΎΡΠΌΠΎΡΡΠΈΠΌ, ΠΏΠΎΡΠ΅ΠΌΡ Kubernetes ΡΠ°ΠΊ ΠΏΠΎΠ»Π΅Π·Π΅Π½.
Π’ΡΠ°Π΄ΠΈΡΠΈΠΎΠ½Π½Π°Ρ ΡΡΠ° ΡΠ°Π·Π²Π΅ΡΡΡΠ²Π°Π½ΠΈΡ: Π Π°Π½Π΅Π΅ ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΠΈ Π·Π°ΠΏΡΡΠΊΠ°Π»ΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π½Π° ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΈΡ ΡΠ΅ΡΠ²Π΅ΡΠ°Ρ . ΠΠ΅ Π±ΡΠ»ΠΎ Π½ΠΈΠΊΠ°ΠΊΠΎΠ³ΠΎ ΡΠΏΠΎΡΠΎΠ±Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ Π³ΡΠ°Π½ΠΈΡΡ ΡΠ΅ΡΡΡΡΠΎΠ² Π΄Π»Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π½Π° ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΎΠΌ ΡΠ΅ΡΠ²Π΅ΡΠ΅, ΠΈ ΡΡΠΎ Π²ΡΠ·Π²Π°Π»ΠΎ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ Ρ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ΠΌ ΡΠ΅ΡΡΡΡΠΎΠ². ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΅ΡΠ»ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ Π½Π° ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΎΠΌ ΡΠ΅ΡΠ²Π΅ΡΠ΅, ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΡΠ»ΡΡΠ°ΠΈ, ΠΊΠΎΠ³Π΄Π° ΠΎΠ΄Π½ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π±ΡΠ΄Π΅Ρ Π·Π°Π½ΠΈΠΌΠ°ΡΡ Π±ΠΎΠ»ΡΡΡΡ ΡΠ°ΡΡΡ ΡΠ΅ΡΡΡΡΠΎΠ², ΠΈ Π² ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ ΡΠ΅Π³ΠΎ Π΄ΡΡΠ³ΠΈΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π±ΡΠ΄ΡΡ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ ΡΠΆΠ΅. Π Π΅ΡΠ΅Π½ΠΈΠ΅ΠΌ ΡΡΠΎΠ³ΠΎ Π±ΡΠ»ΠΎ Π·Π°ΠΏΡΡΡΠΈΡΡ ΠΊΠ°ΠΆΠ΄ΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π° Π΄ΡΡΠ³ΠΎΠΌ ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΎΠΌ ΡΠ΅ΡΠ²Π΅ΡΠ΅. ΠΠΎ ΡΡΠΎ Π½Π΅ ΠΌΠ°ΡΡΡΠ°Π±ΠΈΡΠΎΠ²Π°Π»ΠΎΡΡ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΡΠ΅ΡΡΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΠΈΡΡ Π½Π΅ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ, ΠΈΠ·-Π·Π° ΡΠ΅Π³ΠΎ ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΡΠΌ Π±ΡΠ»ΠΎ Π½Π°ΠΊΠ»Π°Π΄Π½ΠΎ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΈΡ ΡΠ΅ΡΠ²Π΅ΡΠΎΠ².
ΠΡΠ° Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠ°Π·Π²Π΅ΡΡΡΠ²Π°Π½ΠΈΡ: Π ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΡΠ΅ΡΠ΅Π½ΠΈΡ Π±ΡΠ»Π° ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Π° Π²ΠΈΡΡΡΠ°Π»ΠΈΠ·Π°ΡΠΈΡ. ΠΠ½Π° ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΠ»Π° Π·Π°ΠΏΡΡΠΊΠ°ΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΡΡ ΠΌΠ°ΡΠΈΠ½ (ΠΠ) Π½Π° ΠΎΠ΄Π½ΠΎΠΌ ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΎΠΌ ΡΠ΅ΡΠ²Π΅ΡΠ΅. ΠΠΈΡΡΡΠ°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΈΠ·ΠΎΠ»ΠΈΡΡΠ΅Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΡΠΌΠΈ ΠΌΠ°ΡΠΈΠ½Π°ΠΌΠΈ ΠΈ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠΉ ΡΡΠΎΠ²Π΅Π½Ρ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΠ²ΠΎΠ±ΠΎΠ΄Π½ΠΎ Π΄ΠΎΡΡΡΠΏΠ½Π° Π΄ΡΡΠ³ΠΎΠΌΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ.
ΠΠΈΡΡΡΠ°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π»ΡΡΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ΅ΡΡΡΡΡ Π½Π° ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΎΠΌ ΡΠ΅ΡΠ²Π΅ΡΠ΅ ΠΈ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅Ρ Π»ΡΡΡΡΡ ΠΌΠ°ΡΡΡΠ°Π±ΠΈΡΡΠ΅ΠΌΠΎΡΡΡ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π»Π΅Π³ΠΊΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΠΈΠ»ΠΈ ΠΎΠ±Π½ΠΎΠ²ΠΈΡΡ, ΠΊΡΠΎΠΌΠ΅ ΡΡΠΎΠ³ΠΎ ΡΠ½ΠΈΠΆΠ°ΡΡΡΡ Π·Π°ΡΡΠ°ΡΡ Π½Π° ΠΎΠ±ΠΎΡΡΠ΄ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠ΅ Π΄ΡΡΠ³ΠΎΠ΅. Π‘ ΠΏΠΎΠΌΠΎΡΡΡ Π²ΠΈΡΡΡΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠ΅Π²ΡΠ°ΡΠΈΡΡ Π½Π°Π±ΠΎΡ ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΈΡ ΡΠ΅ΡΡΡΡΠΎΠ² Π² ΠΊΠ»Π°ΡΡΠ΅Ρ ΠΎΠ΄Π½ΠΎΡΠ°Π·ΠΎΠ²ΡΡ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΡΡ ΠΌΠ°ΡΠΈΠ½.
ΠΠ°ΠΆΠ΄Π°Ρ Π²ΠΈΡΡΡΠ°Π»ΡΠ½Π°Ρ ΠΌΠ°ΡΠΈΠ½Π° ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ ΠΏΠΎΠ»Π½ΠΎΡΠ΅Π½Π½ΡΡ ΠΌΠ°ΡΠΈΠ½Ρ, Π½Π° ΠΊΠΎΡΠΎΡΠΎΠΉ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ Π²ΡΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ, Π²ΠΊΠ»ΡΡΠ°Ρ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΡΡ ΡΠΈΡΡΠ΅ΠΌΡ, ΠΏΠΎΠ²Π΅ΡΡ Π²ΠΈΡΡΡΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΠΎΠ±ΠΎΡΡΠ΄ΠΎΠ²Π°Π½ΠΈΡ.
ΠΡΠ° ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΎΠ²: ΠΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΡ ΠΏΠΎΡ ΠΎΠΆΠΈ Π½Π° Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΡΠ΅ ΠΌΠ°ΡΠΈΠ½Ρ, Π½ΠΎ Ρ Π½ΠΈΡ Π΅ΡΡΡ ΡΠ²ΠΎΠΉΡΡΠ²Π° ΠΈΠ·ΠΎΠ»ΡΡΠΈΠΈ Π΄Π»Ρ ΡΠΎΠ²ΠΌΠ΅ΡΡΠ½ΠΎΠ³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ (ΠΠ‘) ΠΌΠ΅ΠΆΠ΄Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΠΌΠΈ. ΠΠΎΡΡΠΎΠΌΡ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΡ ΡΡΠΈΡΠ°ΡΡΡΡ Π»Π΅Π³ΠΊΠΈΠΌΠΈ. ΠΠΎΠ΄ΠΎΠ±Π½ΠΎ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΠΎΠΉ ΠΌΠ°ΡΠΈΠ½Π΅, ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ ΠΈΠΌΠ΅Π΅Ρ ΡΠ²ΠΎΡ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΡ ΡΠ°ΠΉΠ»ΠΎΠ²ΡΡ ΡΠΈΡΡΠ΅ΠΌΡ, ΠΏΡΠΎΡΠ΅ΡΡΠΎΡ, ΠΏΠ°ΠΌΡΡΡ, ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ ΠΏΡΠΎΡΠ΅ΡΡΠ° ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠ΅ Π΄ΡΡΠ³ΠΎΠ΅. ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΎΠ½ΠΈ Π½Π΅ ΡΠ²ΡΠ·Π°Π½Ρ Ρ Π±Π°Π·ΠΎΠ²ΠΎΠΉ ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠΎΠΉ, ΠΎΠ½ΠΈ ΠΏΠ΅ΡΠ΅Π½ΠΎΡΠΈΠΌΡ ΠΌΠ΅ΠΆΠ΄Ρ ΠΎΠ±Π»Π°ΠΊΠ°ΠΌΠΈ ΠΈ Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ²Π°ΠΌΠΈ ΠΠ‘.
ΠΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΡ ΡΡΠ°Π»ΠΈ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΠΌΠΈ ΠΈΠ·-Π·Π° ΡΠ°ΠΊΠΈΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ² ΠΊΠ°ΠΊ:
ΠΠ°ΡΠ΅ΠΌ Π²Π°ΠΌ Kubernetes ΠΈ ΡΡΠΎ ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ ΡΠ΄Π΅Π»Π°ΡΡ?
ΠΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΡ β ΠΎΡΠ»ΠΈΡΠ½ΡΠΉ ΡΠΏΠΎΡΠΎΠ± ΡΠ²ΡΠ·Π°ΡΡ ΠΈ Π·Π°ΠΏΡΡΡΠΈΡΡ Π²Π°ΡΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. Π ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΠ²Π΅Π½Π½ΠΎΠΉ ΡΡΠ΅Π΄Π΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΏΡΠ°Π²Π»ΡΡΡ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ°ΠΌΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ Π·Π°ΠΏΡΡΠΊΠ°ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΠΈ Π³Π°ΡΠ°Π½ΡΠΈΡΠΎΠ²Π°ΡΡ ΠΎΡΡΡΡΡΡΠ²ΠΈΠ΅ ΠΏΡΠΎΡΡΠΎΠ΅Π². ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΅ΡΠ»ΠΈ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ Π²ΡΡ ΠΎΠ΄ΠΈΡ ΠΈΠ· ΡΡΡΠΎΡ, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π·Π°ΠΏΡΡΡΠΈΡΡ Π΄ΡΡΠ³ΠΎΠΉ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ. ΠΠ΅ Π±ΡΠ»ΠΎ Π±Ρ ΠΏΡΠΎΡΠ΅, Π΅ΡΠ»ΠΈ Π±Ρ ΡΠ°ΠΊΠΎΠ΅ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°Π»ΠΎΡΡ ΡΠΈΡΡΠ΅ΠΌΠΎΠΉ?
ΠΠΎΡ ΡΡΡ Kubernetes ΠΏΡΠΈΡ ΠΎΠ΄ΠΈΡ Π½Π° ΠΏΠΎΠΌΠΎΡΡ! Kubernetes Π΄Π°Π΅Ρ Π²Π°ΠΌ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊ Π΄Π»Ρ Π³ΠΈΠ±ΠΊΠΎΠΉ ΡΠ°Π±ΠΎΡΡ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΡ ΡΠΈΡΡΠ΅ΠΌ. ΠΠ½ Π·Π°Π½ΠΈΠΌΠ°Π΅ΡΡΡ ΠΌΠ°ΡΡΡΠ°Π±ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΎΠΉ ΠΎΡΠΈΠ±ΠΎΠΊ Π² ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ, ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠ°Π±Π»ΠΎΠ½Ρ ΡΠ°Π·Π²Π΅ΡΡΡΠ²Π°Π½ΠΈΡ ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠ΅ Π΄ΡΡΠ³ΠΎΠ΅. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Kubernetes ΠΌΠΎΠΆΠ΅Ρ Π»Π΅Π³ΠΊΠΎ ΡΠΏΡΠ°Π²Π»ΡΡΡ ΠΊΠ°Π½Π°ΡΠ΅Π΅ΡΠ½ΡΠΌ ΡΠ°Π·Π²Π΅ΡΡΡΠ²Π°Π½ΠΈΠ΅ΠΌ Π²Π°ΡΠ΅ΠΉ ΡΠΈΡΡΠ΅ΠΌΡ.
Kubernetes ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ Π²Π°ΠΌ:
Π§Π΅ΠΌ Kubernetes Π½Π΅ ΡΠ²Π»ΡΠ΅ΡΡΡ
Kubernetes β ΡΡΠΎ Π½Π΅ ΡΡΠ°Π΄ΠΈΡΠΈΠΎΠ½Π½Π°Ρ ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡΠ½Π°Ρ ΡΠΈΡΡΠ΅ΠΌΠ° PaaS (ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ° ΠΊΠ°ΠΊ ΡΡΠ»ΡΠ³Π°). ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ Kubernetes ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π½Π° ΡΡΠΎΠ²Π½Π΅ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΎΠ², Π° Π½Π΅ Π½Π° ΡΡΠΎΠ²Π½Π΅ ΠΎΠ±ΠΎΡΡΠ΄ΠΎΠ²Π°Π½ΠΈΡ, Ρ Π½Π΅Π³ΠΎ ΠΈΠΌΠ΅Π΅ΡΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠ΅ ΠΎΠ±ΡΠ΅ΠΏΡΠΈΠΌΠ΅Π½ΠΈΠΌΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ, Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠ½ΡΠ΅ Π΄Π»Ρ PaaS, ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ ΡΠ°Π·Π²Π΅ΡΡΡΠ²Π°Π½ΠΈΠ΅, ΠΌΠ°ΡΡΡΠ°Π±ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅, Π±Π°Π»Π°Π½ΡΠΈΡΠΎΠ²ΠΊΠ° Π½Π°Π³ΡΡΠ·ΠΊΠΈ, Π²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΆΡΡΠ½Π°Π»ΠΎΠ² ΠΈ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³. Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, Kubernetes ΡΡΠΎ Π½Π΅ ΠΌΠΎΠ½ΠΎΠ»ΠΈΡΠ½ΠΎΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅, ΠΏΠΎΡΡΠΎΠΌΡ ΡΠΊΠ°Π·Π°Π½Π½ΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΡΠ²Π»ΡΡΡΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠΌΠΈ ΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°Π΅ΠΌΡΠΌΠΈ. Π£ Kubernetes Π΅ΡΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°, Π½ΠΎ ΠΎΠ½ ΡΠΎΡ ΡΠ°Π½ΡΠ΅Ρ ΠΏΡΠ°Π²ΠΎ Π²ΡΠ±ΠΎΡΠ° Π·Π° ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΌ ΠΈ Π³ΠΈΠ±ΠΊΠΎΡΡΡ ΡΠ°ΠΌ, Π³Π΄Π΅ ΡΡΠΎ Π²Π°ΠΆΠ½ΠΎ.
Π§ΡΠΎ Π΄Π°Π»ΡΡΠ΅
ΠΡΠΈ ΡΠ°Π·Π²ΡΡΡΡΠ²Π°Π½ΠΈΠΈ Kubernetes Π²Ρ ΠΈΠΌΠ΅Π΅ΡΠ΅ Π΄Π΅Π»ΠΎ Ρ ΠΊΠ»Π°ΡΡΠ΅ΡΠΎΠΌ.
ΠΠ»Π°ΡΡΠ΅Ρ Kubernetes cluster ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ· Π½Π°Π±ΠΎΡ ΠΌΠ°ΡΠΈΠ½, ΡΠ°ΠΊ Π½Π°Π·ΡΠ²Π°Π΅ΠΌΡΠ΅ ΡΠ·Π»Ρ, ΠΊΠΎΡΠΎΡΡΠ΅ Π·Π°ΠΏΡΡΠΊΠ°ΡΡ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. ΠΠ»Π°ΡΡΠ΅Ρ ΠΈΠΌΠ΅Π΅Ρ ΠΊΠ°ΠΊ ΠΌΠΈΠ½ΠΈΠΌΡΠΌ ΠΎΠ΄ΠΈΠ½ ΡΠ°Π±ΠΎΡΠΈΠΉ ΡΠ·Π΅Π».
Π ΡΠ°Π±ΠΎΡΠΈΡ ΡΠ·Π»Π°Ρ ΡΠ°Π·ΠΌΠ΅ΡΠ΅Π½Ρ ΠΏΠΎΠ΄Ρ, ΡΠ²Π»ΡΡΡΠΈΠ΅ΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ°ΠΌΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. ΠΠ»ΠΎΡΠΊΠΎΡΡΡ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΠΏΡΠ°Π²Π»ΡΠ΅Ρ ΡΠ°Π±ΠΎΡΠΈΠΌΠΈ ΡΠ·Π»Π°ΠΌΠΈ ΠΈ ΠΏΠΎΠ΄Π°ΠΌΠΈ Π² ΠΊΠ»Π°ΡΡΠ΅ΡΠ΅. Π ΠΏΡΠΎΠΌΡΡΠ»Π΅Π½Π½ΡΡ ΡΡΠ΅Π΄Π°Ρ ΠΏΠ»ΠΎΡΠΊΠΎΡΡΡ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΎΠ±ΡΡΠ½ΠΎ Π·Π°ΠΏΡΡΠΊΠ°Π΅ΡΡΡ Π½Π° Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ°Ρ , Π° ΠΊΠ»Π°ΡΡΠ΅Ρ, ΠΊΠ°ΠΊ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ, ΡΠ°Π·Π²ΡΡΡΡΠ²Π°Π΅ΡΡΡ Π½Π° Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΡΠ·Π»Π°Ρ , Π³Π°ΡΠ°Π½ΡΠΈΡΡΡ ΠΎΡΠΊΠ°Π·ΠΎΡΡΡΠΎΠΉΡΠΈΠ²ΠΎΡΡΡ ΠΈ Π²ΡΡΠΎΠΊΡΡ Π½Π°Π΄ΡΠΆΠ½ΠΎΡΡΡ.
ΠΠ° ΡΡΠΎΠΉ ΡΡΡΠ°Π½ΠΈΡΠ΅ Π² ΠΎΠ±ΡΠΈΡ ΡΠ΅ΡΡΠ°Ρ ΠΎΠΏΠΈΡΡΠ²Π°Π΅ΡΡΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠ΅ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ ΠΊΠ»Π°ΡΡΠ΅ΡΠ° Kubernetes.
ΠΠΈΠΆΠ΅ ΠΏΠΎΠΊΠ°Π·Π°Π½Π° Π΄ΠΈΠ°Π³ΡΠ°ΠΌΠΌΠ° ΠΊΠ»Π°ΡΡΠ΅ΡΠ° Kubernetes ΡΠΎ Π²ΡΠ΅ΠΌΠΈ ΡΠ²ΡΠ·Π°Π½Π½ΡΠΌΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ°ΠΌΠΈ.
ΠΠ»ΠΎΡΠΊΠΎΡΡΡ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ°ΠΌΠΈ
ΠΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ ΠΏΠ°Π½Π΅Π»ΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΎΡΠ²Π΅ΡΠ°ΡΡ Π·Π° ΠΎΡΠ½ΠΎΠ²Π½ΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΠΊΠ»Π°ΡΡΠ΅ΡΠ° (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΠ»Π°Π½ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅), Π° ΡΠ°ΠΊΠΆΠ΅ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ ΡΠΎΠ±ΡΡΠΈΡ ΠΊΠ»Π°ΡΡΠ΅ΡΠ° (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π·Π°ΠΏΡΡΠΊΠ°ΡΡ Π½ΠΎΠ²ΡΠΉ ΠΏΠΎΠ΄, ΠΊΠΎΠ³Π΄Π° ΠΏΠΎΠ»Π΅ replicas ΡΠ°Π·Π²Π΅ΡΡΡΠ²Π°Π½ΠΈΡ Π½Π΅ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ ΡΡΠ΅Π±ΡΠ΅ΠΌΠΎΠΌΡ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Ρ ΡΠ΅ΠΏΠ»ΠΈΠΊ).
ΠΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ ΠΏΠ°Π½Π΅Π»ΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ Π·Π°ΠΏΡΡΠ΅Π½Ρ Π½Π° Π»ΡΠ±ΠΎΠΉ ΠΌΠ°ΡΠΈΠ½Π΅ Π² ΠΊΠ»Π°ΡΡΠ΅ΡΠ΅. ΠΠ΄Π½Π°ΠΊΠΎ Π΄Π»Ρ ΠΏΡΠΎΡΡΠΎΡΡ ΡΡΠ΅Π½Π°ΡΠΈΠΈ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΠΎΠ±ΡΡΠ½ΠΎ Π·Π°ΠΏΡΡΠΊΠ°ΡΡ Π²ΡΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ ΠΏΠ°Π½Π΅Π»ΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π½Π° ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ΅ ΠΈ Π² ΡΠΎ ΠΆΠ΅ Π²ΡΠ΅ΠΌΡ Π½Π΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ Π·Π°ΠΏΡΡΠΊΠ°ΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠ΅ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΡ Π½Π° ΡΡΠΎΠΌ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ΅. Π‘ΠΌΠΎΡΡΠΈΡΠ΅ ΡΡΡΠ°Π½ΠΈΡΡ Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π²ΡΡΠΎΠΊΠΎΠ½Π°Π΄ΡΠΆΠ½ΡΡ ΠΊΠ»Π°ΡΡΠ΅ΡΠΎΠ² Π΄Π»Ρ ΠΏΡΠΈΠΌΠ΅ΡΠ° Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ Π²Π΅Π΄ΡΡΠΈΡ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΡΡ ΠΌΠ°ΡΠΈΠ½.
kube-apiserver
Π‘Π΅ΡΠ²Π΅Ρ API β ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ Kubernetes ΠΏΠ°Π½Π΅Π»ΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ API Kubernetes. API-ΡΠ΅ΡΠ²Π΅Ρ β ΡΡΠΎ ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΠ°Ρ ΡΠ°ΡΡΡ ΠΏΠ°Π½Π΅Π»ΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Kubernetes
ΠΡΠ½ΠΎΠ²Π½ΠΎΠΉ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠ΅ΠΉ API-ΡΠ΅ΡΠ²Π΅ΡΠ° Kubernetes ΡΠ²Π»ΡΠ΅ΡΡΡ kube-apiserver. kube-apiserver ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½ Π΄Π»Ρ Π³ΠΎΡΠΈΠ·ΠΎΠ½ΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΌΠ°ΡΡΡΠ°Π±ΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΡΠΎ Π΅ΡΡΡ ΡΠ°Π·Π²ΡΡΡΡΠ²Π°Π½ΠΈΠ΅ Π½Π° Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠΎΠ². ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π·Π°ΠΏΡΡΡΠΈΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠΎΠ² kube-apiserver ΠΈ ΡΠ±Π°Π»Π°Π½ΡΠΈΡΠΎΠ²Π°ΡΡ ΡΡΠ°ΡΠΈΠΊ ΠΌΠ΅ΠΆΠ΄Ρ ΡΡΠΈΠΌΠΈ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠ°ΠΌΠΈ.
Π Π°ΡΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΠΎΠ΅ ΠΈ Π²ΡΡΠΎΠΊΠΎΠ½Π°Π΄ΡΠΆΠ½ΠΎΠ΅ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅ Π΄Π°Π½Π½ΡΡ Π² ΡΠΎΡΠΌΠ°ΡΠ΅ «ΠΊΠ»ΡΡ-Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅», ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΊΠ°ΠΊ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠ΅ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅ Π²ΡΠ΅Ρ Π΄Π°Π½Π½ΡΡ ΠΊΠ»Π°ΡΡΠ΅ΡΠ° Π² Kubernetes.
ΠΡΠ»ΠΈ Π²Π°Ρ ΠΊΠ»Π°ΡΡΠ΅Ρ Kubernetes ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ etcd Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠ³ΠΎ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ°, ΡΠ±Π΅Π΄ΠΈΡΠ΅ΡΡ, ΡΡΠΎ Ρ Π²Π°Ρ Π½Π°ΡΡΡΠΎΠ΅Π½ΠΎ ΡΠ΅Π·Π΅ΡΠ²Π½ΠΎΠ΅ ΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π΄Π°Π½Π½ΡΡ .
ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π½Π°ΠΉΡΠΈ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ etcd Π² ΠΎΡΠΈΡΠΈΠ°Π»ΡΠ½ΠΎΠΉ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ.
kube-scheduler
ΠΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ ΠΏΠ»ΠΎΡΠΊΠΎΡΡΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π΅Ρ ΡΠΎΠ·Π΄Π°Π½Π½ΡΠ΅ ΠΏΠΎΠ΄Ρ Π±Π΅Π· ΠΏΡΠΈΠ²ΡΠ·Π°Π½Π½ΠΎΠ³ΠΎ ΡΠ·Π»Π° ΠΈ Π²ΡΠ±ΠΈΡΠ°Π΅Ρ ΡΠ·Π΅Π», Π½Π° ΠΊΠΎΡΠΎΡΠΎΠΌ ΠΎΠ½ΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ.
ΠΡΠΈ ΠΏΠ»Π°Π½ΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ ΡΠ°Π·Π²ΡΡΡΡΠ²Π°Π½ΠΈΡ ΠΏΠΎΠ΄ΠΎΠ² Π½Π° ΡΠ·Π»Π°Ρ ΡΡΠΈΡΡΠ²Π°ΡΡΡΡ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΡΠ°ΠΊΡΠΎΡΠΎΠ², Π²ΠΊΠ»ΡΡΠ°Ρ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡ ΠΊ ΡΠ΅ΡΡΡΡΠ°ΠΌ, ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ, ΡΠ²ΡΠ·Π°Π½Π½ΡΠ΅ Ρ Π°ΠΏΠΏΠ°ΡΠ°ΡΠ½ΡΠΌΠΈ/ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΠΌΠΈ ΠΏΠΎΠ»ΠΈΡΠΈΠΊΠ°ΠΌΠΈ, ΠΏΡΠΈΠ½Π°Π΄Π»Π΅ΠΆΠ½ΠΎΡΡΠΈ (affinity) ΠΈ Π½Π΅ΠΏΡΠΈΠ½Π°Π΄Π»Π΅ΠΆΠ½ΠΎΡΡΠΈ (anti-affinity) ΡΠ·Π»ΠΎΠ²/ΠΏΠΎΠ΄ΠΎΠ², ΠΌΠ΅ΡΡΠΎΠ½Π°Ρ ΠΎΠΆΠ΄Π΅Π½ΠΈΡ Π΄Π°Π½Π½ΡΡ , ΠΏΡΠ΅Π΄Π΅Π»ΡΠ½ΡΡ ΡΡΠΎΠΊΠΎΠ².
kube-controller-manager
ΠΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ Control Plane Π·Π°ΠΏΡΡΠΊΠ°Π΅Ρ ΠΏΡΠΎΡΠ΅ΡΡΡ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ°.
ΠΠΏΠΎΠ»Π½Π΅ Π»ΠΎΠ³ΠΈΡΠ½ΠΎ, ΡΡΠΎ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ Π² ΡΠ²ΠΎΡ ΠΎΡΠ΅ΡΠ΅Π΄Ρ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠΉ ΠΏΡΠΎΡΠ΅ΡΡ, ΠΈ Π΄Π»Ρ ΡΠΏΡΠΎΡΠ΅Π½ΠΈΡ Π²ΡΠ΅ ΡΠ°ΠΊΠΈΠ΅ ΠΏΡΠΎΡΠ΅ΡΡΡ ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°Π½Ρ Π² ΠΎΠ΄ΠΈΠ½ Π΄Π²ΠΎΠΈΡΠ½ΡΠΉ ΡΠ°ΠΉΠ» ΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΏΡΠΎΡΠ΅ΡΡΠ΅.
ΠΡΠΈ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΡ Π²ΠΊΠ»ΡΡΠ°ΡΡ:
cloud-controller-manager
cloud-controller-manager Π·Π°ΠΏΡΡΠΊΠ°Π΅Ρ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΡΡΡ Ρ ΠΎΡΠ½ΠΎΠ²Π½ΡΠΌΠΈ ΠΎΠ±Π»Π°ΡΠ½ΡΠΌΠΈ ΠΏΡΠΎΠ²Π°ΠΉΠ΄Π΅ΡΠ°ΠΌΠΈ. ΠΠ²ΠΎΠΈΡΠ½ΡΠΉ ΡΠ°ΠΉΠ» cloud-controller-manager β ΡΡΠΎ Π°Π»ΡΡΠ°-ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΡ, ΠΏΠΎΡΠ²ΠΈΠ²ΡΠΈΠ΅ΡΡ Π² Kubernetes 1.6.
Π‘ ΠΏΠΎΠΌΠΎΡΡΡ cloud-controller-manager ΠΊΠΎΠ΄ ΠΊΠ°ΠΊ ΠΎΠ±Π»Π°ΡΠ½ΡΡ ΠΏΡΠΎΠ²Π°ΠΉΠ΄Π΅ΡΠΎΠ², ΡΠ°ΠΊ ΠΈ ΡΠ°ΠΌΠΎΠ³ΠΎ Kubernetes ΠΌΠΎΠΆΠ΅Ρ ΡΠ°Π·ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡΡΡ Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎ Π΄ΡΡΠ³ ΠΎΡ Π΄ΡΡΠ³Π°. Π ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠΈΡ Π²Π΅ΡΡΠΈΡΡ ΠΊΠΎΠ΄ ΡΠ΄ΡΠ° Kubernetes Π·Π°Π²ΠΈΡΠ΅Π» ΠΎΡ ΠΊΠΎΠ΄Π°, ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Π½ΠΎΠ³ΠΎ Π΄Π»Ρ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΠΈ ΠΎΠ±Π»Π°ΡΠ½ΡΡ ΠΏΡΠΎΠ²Π°ΠΉΠ΄Π΅ΡΠΎΠ². Π Π±ΡΠ΄ΡΡΠΈΡ Π²ΡΠΏΡΡΠΊΠ°Ρ ΠΊΠΎΠ΄, ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ½ΡΠΉ Π΄Π»Ρ ΠΎΠ±Π»Π°ΡΠ½ΡΡ ΠΏΡΠΎΠ²Π°ΠΉΠ΄Π΅ΡΠΎΠ², Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΡΡ ΡΠ°ΠΌΠΈΠΌ ΠΎΠ±Π»Π°ΡΠ½ΡΠΌ ΠΏΡΠΎΠ²Π°ΠΉΠ΄Π΅ΡΠΎΠΌ ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²Π°ΡΡΡΡ Ρ cloud-controller-manager Π²ΠΎ Π²ΡΠ΅ΠΌΡ Π·Π°ΠΏΡΡΠΊΠ° Kubernetes.
Π‘Π»Π΅Π΄ΡΡΡΠΈΠ΅ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΡ Π·Π°Π²ΠΈΡΡΡ ΠΎΡ ΠΎΠ±Π»Π°ΡΠ½ΡΡ ΠΏΡΠΎΠ²Π°ΠΉΠ΄Π΅ΡΠΎΠ²:
ΠΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ ΡΠ·Π»Π°
ΠΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ ΡΠ·Π»Π° ΡΠ°Π±ΠΎΡΠ°ΡΡ Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΡΠ·Π»Π΅, ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Ρ ΡΠ°Π±ΠΎΡΡ ΠΏΠΎΠ΄ΠΎΠ² ΠΈ ΡΡΠ΅Π΄Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Kubernetes.
kubelet
ΠΠ³Π΅Π½Ρ, ΡΠ°Π±ΠΎΡΠ°ΡΡΠΈΠΉ Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΡΠ·Π»Π΅ Π² ΠΊΠ»Π°ΡΡΠ΅ΡΠ΅. ΠΠ½ ΡΠ»Π΅Π΄ΠΈΡ Π·Π° ΡΠ΅ΠΌ, ΡΡΠΎΠ±Ρ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΡ Π±ΡΠ»ΠΈ Π·Π°ΠΏΡΡΠ΅Π½Ρ Π² ΠΏΠΎΠ΄Π΅.
Π£ΡΠΈΠ»ΠΈΡΠ° kubelet ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ Π½Π°Π±ΠΎΡ PodSpecs, ΠΈ Π³Π°ΡΠ°Π½ΡΠΈΡΡΠ΅Ρ ΡΠ°Π±ΠΎΡΠΎΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡΡ ΠΈ ΠΈΡΠΏΡΠ°Π²Π½ΠΎΡΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΡΡ Π² Π½ΠΈΡ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΎΠ². ΠΠ³Π΅Π½Ρ kubelet Π½Π΅ ΠΎΡΠ²Π΅ΡΠ°Π΅Ρ Π·Π° ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΡ, Π½Π΅ ΡΠΎΠ·Π΄Π°Π½Π½ΡΠ΅ Kubernetes.
kube-proxy
kube-proxy β ΡΠ΅ΡΠ΅Π²ΠΎΠΉ ΠΏΡΠΎΠΊΡΠΈ, ΡΠ°Π±ΠΎΡΠ°ΡΡΠΈΠΉ Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΡΠ·Π»Π΅ Π² ΠΊΠ»Π°ΡΡΠ΅ΡΠ΅, ΠΈ ΡΠ΅Π°Π»ΠΈΠ·ΡΡΡΠΈΠΉ ΡΠ°ΡΡΡ ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΠΈ ΡΠ΅ΡΠ²ΠΈΡ.
kube-proxy ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΡΠ΅Ρ ΠΏΡΠ°Π²ΠΈΠ»Π° ΡΠ΅ΡΠΈ Π½Π° ΡΠ·Π»Π°Ρ . ΠΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ Π½ΠΈΡ ΡΠ°Π·ΡΠ΅ΡΠ°ΡΡΡΡ ΡΠ΅ΡΠ΅Π²ΡΠ΅ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΊ Π²Π°ΡΠΈΠΌΠΈ ΠΏΠΎΠ΄Π°ΠΌ ΠΈΠ·Π½ΡΡΡΠΈ ΠΈ ΡΠ½Π°ΡΡΠΆΠΈ ΠΊΠ»Π°ΡΡΠ΅ΡΠ°.
kube-proxy ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΡΡΠΎΠ²Π΅Π½Ρ ΡΠΈΠ»ΡΡΡΠ°ΡΠΈΠΈ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ² Π² ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ, Π΅ΡΠ»ΠΈ ΠΎΠ½ Π΄ΠΎΡΡΡΠΏΠ΅Π½. Π ΠΏΡΠΎΡΠΈΠ²Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅, kube-proxy ΡΠ°ΠΌ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°Π΅Ρ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ ΡΠ΅ΡΠ΅Π²ΠΎΠ³ΠΎ ΡΡΠ°ΡΠΈΠΊΠ°.
Π‘ΡΠ΅Π΄Π° Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ°
Π‘ΡΠ΅Π΄Π° Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ° β ΡΡΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°, ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Π½Π°Ρ Π΄Π»Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΎΠ².
Kubernetes ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΡΠ΅Π΄ Π΄Π»Ρ Π·Π°ΠΏΡΡΠΊΠ° ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΎΠ²: Docker, containerd, CRI-O, ΠΈ Π»ΡΠ±Π°Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ Kubernetes CRI (Container Runtime Interface).
ΠΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ
ΠΠ΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΠ· Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΉ ΠΎΠΏΠΈΡΠ°Π½Ρ Π½ΠΈΠΆΠ΅; Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΡΠΉ ΡΠΏΠΈΡΠΎΠΊ Π΄ΠΎΡΡΡΠΏΠ½ΡΡ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠΉ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π½Π°ΠΉΡΠΈ Π½Π° ΡΡΡΠ°Π½ΠΈΡΠ΅ ΠΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ.
Π₯ΠΎΡΡ ΠΏΡΠΎΡΠΈΠ΅ Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π½Π΅ ΡΠ²Π»ΡΡΡΡΡ ΡΡΡΠΎΠ³ΠΎ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΡΠΌΠΈ, ΠΎΠ΄Π½Π°ΠΊΠΎ ΠΏΡΠΈ ΡΡΠΎΠΌ Ρ Π²ΡΠ΅Ρ Kubernetes-ΠΊΠ»Π°ΡΡΠ΅ΡΠΎΠ² Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ ΠΊΠ»Π°ΡΡΠ΅ΡΠ½ΡΠΉ DNS, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ ΠΏΡΠΈΠΌΠ΅ΡΡ ΠΏΡΠ΅Π΄ΠΏΠΎΠ»Π°Π³Π°ΡΡ Π΅Π³ΠΎ Π½Π°Π»ΠΈΡΠΈΠ΅.
ΠΠ»Π°ΡΡΠ΅ΡΠ½ΡΠΉ DNS β ΡΡΠΎ DNS-ΡΠ΅ΡΠ²Π΅Ρ Π½Π°ΡΡΠ΄Ρ Ρ Π΄ΡΡΠ³ΠΈΠΌΠΈ DNS-ΡΠ΅ΡΠ²Π΅ΡΠ°ΠΌΠΈ Π² Π²Π°ΡΠ΅ΠΌ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΠΈ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΎΠ±Π½ΠΎΠ²Π»ΡΠ΅Ρ DNS-Π·Π°ΠΏΠΈΡΠΈ Π΄Π»Ρ ΡΠ΅ΡΠ²ΠΈΡΠΎΠ² Kubernetes.
ΠΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΡ, Π·Π°ΠΏΡΡΠ΅Π½Π½ΡΠ΅ ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²ΠΎΠΌ Kubernetes, Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ Π²ΠΊΠ»ΡΡΠ°ΡΡ ΡΡΠΎΡ DNS-ΡΠ΅ΡΠ²Π΅Ρ Π² ΡΠ²ΠΎΠΈ DNS.
ΠΠ΅Π±-ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ (Dashboard)
Dashboard β ΡΡΠΎ ΡΠ½ΠΈΠ²Π΅ΡΡΠ°Π»ΡΠ½ΡΠΉ Π²Π΅Π±-ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ Π΄Π»Ρ ΠΊΠ»Π°ΡΡΠ΅ΡΠΎΠ² Kubernetes. Π‘ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΠΎΠΉ ΠΏΠ°Π½Π΅Π»ΠΈ, ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΠΈ ΠΌΠΎΠ³ΡΡ ΡΠΏΡΠ°Π²Π»ΡΡΡ ΠΈ ΡΡΡΡΠ°Π½ΡΡΡ Π½Π΅ΠΏΠΎΠ»Π°Π΄ΠΊΠΈ ΠΊΠ»Π°ΡΡΠ΅ΡΠ° ΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, ΡΠ°Π±ΠΎΡΠ°ΡΡΠΈΡ Π² ΠΊΠ»Π°ΡΡΠ΅ΡΠ΅.
ΠΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³ ΡΠ΅ΡΡΡΡΠΎΠ² ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ°
ΠΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³ ΡΠ΅ΡΡΡΡΠΎΠ² ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ° Π·Π°ΠΏΠΈΡΡΠ²Π°Π΅Ρ ΠΎΠ±ΡΠΈΠ΅ ΠΌΠ΅ΡΡΠΈΠΊΠΈ ΠΎ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ°Ρ Π² Π²ΠΈΠ΄Π΅ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΡΡΠ΄ΠΎΠ² Π² ΡΠ΅Π½ΡΡΠ°Π»ΡΠ½ΠΎΠΉ Π±Π°Π·Π΅ Π΄Π°Π½Π½ΡΡ ΠΈ ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π΅Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ Π΄Π»Ρ ΠΏΡΠΎΡΠΌΠΎΡΡΠ° ΡΡΠΈΡ Π΄Π°Π½Π½ΡΡ .
ΠΠΎΠ³ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠ»Π°ΡΡΠ΅ΡΠ°
ΠΠ΅Ρ Π°Π½ΠΈΠ·ΠΌ Π»ΠΎΠ³ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΊΠ»Π°ΡΡΠ΅ΡΠ° ΠΎΡΠ²Π΅ΡΠ°Π΅Ρ Π·Π° ΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅ Π»ΠΎΠ³ΠΎΠ² ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ° Π² ΡΠ΅Π½ΡΡΠ°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΠΎΠΌ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅ Π»ΠΎΠ³ΠΎΠ² Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΡ ΠΈΡ ΠΏΠΎΠΈΡΠΊΠ°/ΠΏΡΠΎΡΠΌΠΎΡΡΠ°.
Π§ΡΠΎ Π΄Π°Π»ΡΡΠ΅
ΠΠ±ΡΠΈΠ΅ ΡΠΎΠ³Π»Π°ΡΠ΅Π½ΠΈΡ API ΠΎΠΏΠΈΡΠ°Π½Ρ Π½Π° ΡΡΡΠ°Π½ΠΈΡΠ΅ ΡΠΎΠ³Π»Π°ΡΠ΅Π½ΠΈΠΉ API.
ΠΠΎΠ½Π΅ΡΠ½ΡΠ΅ ΡΠΎΡΠΊΠΈ API, ΡΠΈΠΏΡ ΡΠ΅ΡΡΡΡΠΎΠ² ΠΈ ΠΏΡΠΈΠΌΠ΅ΡΡ ΠΎΠΏΠΈΡΠ°Π½Ρ Π² ΡΠΏΡΠ°Π²ΠΎΡΠ½ΠΈΠΊΠ΅ API.
Π£Π΄Π°Π»Π΅Π½Π½ΡΠΉ Π΄ΠΎΡΡΡΠΏ ΠΊ API ΠΎΠ±ΡΡΠΆΠ΄Π°Π΅ΡΡΡ Π² Controlling API Access doc.
API Kubernetes ΡΠ°ΠΊΠΆΠ΅ ΡΠ»ΡΠΆΠΈΡ ΠΎΡΠ½ΠΎΠ²ΠΎΠΉ Π΄Π΅ΠΊΠ»Π°ΡΠ°ΡΠΈΠ²Π½ΠΎΠΉ ΡΡ Π΅ΠΌΡ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ ΡΠΈΡΡΠ΅ΠΌΡ. Π‘ ΠΏΠΎΠΌΠΎΡΡΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ kubectl ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ, ΠΎΠ±Π½ΠΎΠ²Π»ΡΡΡ, ΡΠ΄Π°Π»ΡΡΡ ΠΈ ΠΏΠΎΠ»ΡΡΠ°ΡΡ API-ΠΎΠ±ΡΠ΅ΠΊΡΡ.
Kubernetes ΡΠ°ΠΊΠΆΠ΅ ΡΠΎΡ ΡΠ°Π½ΡΠ΅Ρ ΡΠ΅ΡΠΈΠ°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ (Π² Π½Π°ΡΡΠΎΡΡΠ΅Π΅ Π²ΡΠ΅ΠΌΡ Π² Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅ etcd) ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ API-ΡΠ΅ΡΡΡΡΠ°.
Kubernetes ΠΊΠ°ΠΊ ΡΠ°ΠΊΠΎΠ²ΠΎΠΉ ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ· ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π° ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΡΡΡ Π΄ΡΡΠ³ Ρ Π΄ΡΡΠ³ΠΎΠΌ ΡΠ΅ΡΠ΅Π· ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠ΅ API.
ΠΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² API
ΠΡΡ ΠΎΠ΄Ρ ΠΈΠ· Π½Π°ΡΠ΅Π³ΠΎ ΠΎΠΏΡΡΠ°, Π»ΡΠ±Π°Ρ ΡΡΠΏΠ΅ΡΠ½Π°Ρ ΡΠΈΡΡΠ΅ΠΌΠ° Π΄ΠΎΠ»ΠΆΠ½Π° ΡΠ»ΡΡΡΠ°ΡΡΡΡ ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΡΡΡΡΡ ΠΏΠΎ ΠΌΠ΅ΡΠ΅ ΠΏΠΎΡΠ²Π»Π΅Π½ΠΈΡ Π½ΠΎΠ²ΡΡ ΡΡΠ΅Π½Π°ΡΠΈΠ΅Π² ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΈΠ»ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΡ . ΠΠΎΡΡΠΎΠΌΡ ΠΌΡ Π½Π°Π΄Π΅Π΅ΠΌΡΡ, ΡΡΠΎ ΠΈ API Kubernetes Π±ΡΠ΄Π΅Ρ ΠΏΠΎΡΡΠΎΡΠ½Π½ΠΎ ΠΌΠ΅Π½ΡΡΡΡΡ ΠΈ ΡΠ°ΡΡΠΈΡΡΡΡΡΡ. ΠΠ΄Π½Π°ΠΊΠΎ Π² ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠΈΡΠ΅Π»ΡΠ½ΠΎΠ³ΠΎ ΠΏΠ΅ΡΠΈΠΎΠ΄Π° Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΠΌΡ Π±ΡΠ΄Π΅ΠΌ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ Ρ ΠΎΡΠΎΡΡΡ ΠΎΠ±ΡΠ°ΡΠ½ΡΡ ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡΡ Ρ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΠΌΠΈ ΠΊΠ»ΠΈΠ΅Π½ΡΠ°ΠΌΠΈ. Π ΡΠ΅Π»ΠΎΠΌ, Π½ΠΎΠ²ΡΠ΅ ΡΠ΅ΡΡΡΡΡ API ΠΈ ΠΏΠΎΠ»Ρ ΡΠ΅ΡΡΡΡΠΎΠ² Π±ΡΠ΄ΡΡ Π΄ΠΎΠ±Π°Π²Π»ΡΡΡΡΡ ΡΠ°ΡΡΠΎ. Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ ΡΠ΅ΡΡΡΡΠΎΠ² ΠΈΠ»ΠΈ ΠΏΠΎΠ»Π΅ΠΉ ΡΠ΅Π³ΡΠ»ΠΈΡΡΡΡΡΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠΌ ΠΏΡΠΎΡΠ΅ΡΡΠΎΠΌ.
ΠΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΠ³ΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΈ ΠΌΠ΅ΡΠΎΠ΄Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ API ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎ ΠΎΠΏΠΈΡΠ°Π½Ρ Π² Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ΅ ΠΎΠ± ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡΡ API.
ΠΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ OpenAPI ΠΈ Swagger
ΠΡΠ΅ Π΄Π΅ΡΠ°Π»ΠΈ API Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠΈΡΡΠ΅ΡΡΡ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ OpenAPI.
ΠΡΠΈΠΌΠ΅ΡΡ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ OpenAPI:
| ΠΠΎ 1.10 | Π‘ Π²Π΅ΡΡΠΈΠΈ Kubernetes 1.10 |
|---|---|
| GET /swagger.json | GET /openapi/v2 Accept: application/json |
| GET /swagger-2.0.0.pb-v1 | GET /openapi/v2 Accept: application/com.github.proto-openapi.spec.v2@v1.0+protobuf |
| GET /swagger-2.0.0.pb-v1.gz | GET /openapi/v2 Accept: application/com.github.proto-openapi.spec.v2@v1.0+protobuf Accept-Encoding: gzip |
Π Kubernetes ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ Π°Π»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Π½ΡΠΉ ΡΠΎΡΠΌΠ°Ρ ΡΠ΅ΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ API, ΠΎΡΠ½ΠΎΠ²Π°Π½Π½ΡΠΉ Π½Π° Protobuf, ΠΊΠΎΡΠΎΡΡΠΉ Π² ΠΏΠ΅ΡΠ²ΡΡ ΠΎΡΠ΅ΡΠ΅Π΄Ρ ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½ Π΄Π»Ρ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ Π²Π½ΡΡΡΠΈ ΠΊΠ»Π°ΡΡΠ΅ΡΠ°. ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΡΡΠΎΠ³ΠΎ ΡΠΎΡΠΌΠ°ΡΠ° ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡΠΈ Π² ΠΏΡΠΎΠ΅ΠΊΡΠΎΠΌ ΡΠ΅ΡΠ΅Π½ΠΈΠΈ, Π° IDL-ΡΠ°ΠΉΠ»Ρ ΠΏΠΎ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΡΡ Π΅ΠΌΡ β Π² ΠΏΠ°ΠΊΠ΅ΡΠ°Ρ Go, ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡΠΈΡ API-ΠΎΠ±ΡΠ΅ΠΊΡΡ.
ΠΠ΅ΡΡΠΈΠΎΠ½ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ API
ΠΡ Π²ΡΠ±ΡΠ°Π»ΠΈ Π²Π΅ΡΡΠΈΠΎΠ½ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ API, Π° Π½Π΅ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΡ ΡΠ΅ΡΡΡΡΠΎΠ² ΠΈΠ»ΠΈ ΠΏΠΎΠ»Π΅ΠΉ, ΡΡΠΎΠ±Ρ API ΠΎΡΡΠ°ΠΆΠ°Π» ΡΠ΅ΡΠΊΠΎΠ΅ ΠΈ ΡΠΎΠ³Π»Π°ΡΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΎ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΡ ΡΠ΅ΡΡΡΡΠ°Ρ ΠΈ ΠΈΡ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠΈ, Π° ΡΠ°ΠΊΠΆΠ΅, ΡΡΠΎΠ±Ρ ΡΠ°Π·Π³ΡΠ°Π½ΠΈΡΠΈΠ²Π°ΡΡ API, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠΆΠ΅ Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΡΡ ΠΈ/ΠΈΠ»ΠΈ Π½Π°Ρ ΠΎΠ΄ΡΡΡΡ Π² ΡΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠ°Π»ΡΠ½ΠΎΠΉ ΡΡΠ°Π΄ΠΈΠΈ. Π‘Ρ Π΅ΠΌΡ ΡΠ΅ΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ JSON ΠΈ Protobuf ΡΠ»Π΅Π΄ΡΡΡ ΠΎΠ΄Π½ΠΈΠΌ ΠΈ ΡΠ΅ΠΌ ΠΆΠ΅ ΠΏΡΠ°Π²ΠΈΠ»Π°ΠΌ ΠΏΠΎ Π²Π½Π΅ΡΠ΅Π½ΠΈΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² ΡΡ Π΅ΠΌΡ, ΠΏΠΎΡΡΠΎΠΌΡ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ Π½ΠΈΠΆΠ΅ ΠΎΡ Π²Π°ΡΡΠ²Π°ΡΡ ΠΎΠ±Π° ΡΡΠΈ ΡΠΎΡΠΌΠ°ΡΠ°.
ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ Π²Π΅ΡΡΠΈΠΎΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ API ΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ΅ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΊΠΎΡΠ²Π΅Π½Π½ΠΎ ΡΠ²ΡΠ·Π°Π½Ρ Π΄ΡΡΠ³ Ρ Π΄ΡΡΠ³ΠΎΠΌ. ΠΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΏΠΎ Π²Π΅ΡΡΠΈΠΎΠ½ΠΈΡΠΎΠ²Π°Π½ΠΈΡ API ΠΈ Π½ΠΎΠ²ΡΡ Π²ΡΠΏΡΡΠΊΠΎΠ² ΠΎΠΏΠΈΡΡΠ²Π°Π΅Ρ, ΠΊΠ°ΠΊ ΡΠ²ΡΠ·Π°Π½Ρ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠΎΠ±ΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ API Ρ Π²Π΅ΡΡΠΈΡΠΌΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ.
Π Π°Π·Π½ΡΠ΅ Π²Π΅ΡΡΠΈΠΈ API ΠΈΠΌΠ΅ΡΡ Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΠ·ΡΡΡΡΡ ΡΠ°Π·Π½ΠΎΠΉ ΡΡΠΎΠ²Π½Π΅ΠΌ ΡΡΠ°Π±ΠΈΠ»ΡΠ½ΠΎΡΡΡΡ ΠΈ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΎΠΉ. ΠΡΠΈΡΠ΅ΡΠΈΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΡΠΎΠ²Π½Ρ Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎ ΠΎΠΏΠΈΡΠ°Π½Ρ Π² Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ API. ΠΠΈΠΆΠ΅ ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡΡΡ ΠΊΡΠ°ΡΠΊΠΎΠ΅ ΠΈΠ·Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅:
API-Π³ΡΡΠΏΠΏΡ
Π§ΡΠΎΠ±Ρ ΡΠΏΡΠΎΡΡΠΈΡΡ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ API Kubernetes, ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Ρ Π³ΡΡΠΏΠΏΡ API. ΠΡΡΠΏΠΏΠ° API ΡΠΊΠ°Π·ΡΠ²Π°Π΅ΡΡΡ Π² ΠΏΡΡΠΈ REST ΠΈ Π² ΠΏΠΎΠ»Π΅ apiVersion ΡΠ΅ΡΠΈΠ°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ°.
Π Π½Π°ΡΡΠΎΡΡΠ΅Π΅ Π²ΡΠ΅ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ API-Π³ΡΡΠΏΠΏ:
ΠΡΡΡ Π΄Π²Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΠΌΡΡ ΠΏΡΡΠΈ ΠΊ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ API Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΡ ΡΠ΅ΡΡΡΡΠΎΠ²:
ΠΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΈΠ»ΠΈ ΠΎΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ Π³ΡΡΠΏΠΏ API
ΠΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΡΡ ΡΠ΅ΡΡΡΡΠΎΠ² Π² Π³ΡΡΠΏΠΏΡ extensions/v1beta1
ΠΠ·ΡΡΠ΅Π½ΠΈΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² Kubernetes
ΠΠ±ΡΠ΅ΠΊΡΡ Kubernetes β ΡΡΡΠ½ΠΎΡΡΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ Ρ ΡΠ°Π½ΡΡΡΡ Π² Kubernetes. Kubernetes ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΠΈΡ Π΄Π»Ρ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ ΠΊΠ»Π°ΡΡΠ΅ΡΠ°. Π ΡΠ°ΡΡΠ½ΠΎΡΡΠΈ, ΠΎΠ½ΠΈ ΠΎΠΏΠΈΡΡΠ²Π°ΡΡ ΡΠ»Π΅Π΄ΡΡΡΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ:
ΠΠΎΡΠ»Π΅ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ° Kubernetes Π±ΡΠ΄Π΅Ρ ΡΠ»Π΅Π΄ΠΈΡΡ Π·Π° ΡΡΡΠ΅ΡΡΠ²ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΎΠ±ΡΠ΅ΠΊΡΠ°. Π‘ΠΎΠ·Π΄Π°Π²Π°Ρ ΠΎΠ±ΡΠ΅ΠΊΡ, Π²Ρ ΡΠ°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ ΡΠΊΠ°Π·ΡΠ²Π°Π΅ΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΠ΅ Kubernetes, ΠΊΠ°ΠΊΠΎΠΉ Π΄ΠΎΠ»ΠΆΠ½Π° Π±ΡΡΡ ΡΠ°Π±ΠΎΡΠ°Ρ Π½Π°Π³ΡΡΠ·ΠΊΠ° ΠΊΠ»Π°ΡΡΠ΅ΡΠ°; ΡΡΠΎ ΡΡΠ΅Π±ΡΠ΅ΠΌΠΎΠ΅ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ ΠΊΠ»Π°ΡΡΠ΅ΡΠ°.
Π‘ΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ ΠΈ ΡΡΠ°ΡΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ°
ΠΠΎΠ»Π΅ status ΠΎΠΏΠΈΡΡΠ²Π°Π΅Ρ ΡΠ΅ΠΊΡΡΠ΅Π΅ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΠ°, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΡΠΎΠ·Π΄Π°ΡΡΡΡ ΠΈ ΠΎΠ±Π½ΠΎΠ²Π»ΡΠ΅ΡΡΡ ΡΠ°ΠΌΠΈΠΌ Kubernetes ΠΈ Π΅Π³ΠΎ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ°ΠΌΠΈ. ΠΠ»ΠΎΡΠΊΠΎΡΡΡ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Kubernetes Π½Π΅ΠΏΡΠ΅ΡΡΠ²Π½ΠΎ ΡΠΏΡΠ°Π²Π»ΡΠ΅Ρ ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΠΌ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ΠΌ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ°, ΡΡΠΎΠ±Ρ ΠΎΠ½ΠΎ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΎΠ²Π°Π»ΠΎ ΡΡΠ΅Π±ΡΠ΅ΠΌΠΎΠΌΡ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ, ΠΊΠΎΡΠΎΡΠΎΠ΅ Π±ΡΠ»ΠΎ Π·Π°Π΄Π°Π½ΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΌ.
ΠΠ»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΎ ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠ°, ΡΡΠ°ΡΡΡΠ΅ ΠΈ ΠΌΠ΅ΡΠ°Π΄Π°Π½Π½ΡΡ ΡΠΌΠΎΡΡΠΈΡΠ΅ Π΄ΠΎΠΊΡΠΌΠ΅Π½Ρ Ρ ΡΠΎΠ³Π»Π°ΡΠ΅Π½ΠΈΡΠΌΠΈ API Kubernetes.
ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΠ° Kubernetes
ΠΡΠ²ΠΎΠ΄ Π±ΡΠ΄Π΅Ρ ΠΏΡΠΈΠΌΠ΅ΡΠ½ΠΎ ΡΠ°ΠΊΠΈΠΌ:
ΠΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΏΠΎΠ»Ρ
ΠΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΠΉ ΡΠΎΡΠΌΠ°Ρ ΠΏΠΎΠ»Ρ-ΠΎΠ±ΡΠ΅ΠΊΡΠ° spec Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ ΡΠΈΠΏΠ° ΠΎΠ±ΡΠ΅ΠΊΡΠ° Kubernetes ΠΈ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ Π²Π»ΠΎΠΆΠ΅Π½Π½ΡΠ΅ ΠΏΠΎΠ»Ρ, ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Π½ΡΠ΅ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ°. Π ΡΠΏΡΠ°Π²ΠΎΡΠ½ΠΈΠΊΠ΅ API Kubernetes ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡΠΈ ΡΠΎΡΠΌΠ°Ρ ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ Π»ΡΠ±ΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ° Kubernetes. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠΎΡΠΌΠ°Ρ spec Π΄Π»Ρ ΠΎΠ±ΡΠ΅ΠΊΡΠ° Pod Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π² ΡΠ΄ΡΠ΅ PodSpec v1, Π° ΡΠΎΡΠΌΠ°Ρ spec Π΄Π»Ρ Deployment β Π² DeploymentSpec v1 apps.
Π§ΡΠΎ Π΄Π°Π»ΡΡΠ΅
Π ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ kubectl Π΅ΡΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ°Π·Π½ΡΡ ΡΠΏΠΎΡΠΎΠ±ΠΎΠ² ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ°ΠΌΠΈ Kubernetes. ΠΠ° ΡΡΠΎΠΉ ΡΡΡΠ°Π½ΠΈΡΠ΅ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡΡΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ ΠΏΠΎΠ΄Ρ ΠΎΠ΄Ρ. ΠΠ·ΡΡΠΈΡΠ΅ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ ΠΏΠΎ Kubectl Π΄Π»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΏΠΎ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ°ΠΌΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Kubectl.
Π‘ΠΏΠΎΡΠΎΠ±Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ
| Π‘ΠΏΠΎΡΠΎΠ± ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ | ΠΠ±Π»Π°ΡΡΡ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ | Π Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΠΌΠΎΠ΅ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΠ΅ | ΠΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΠΌΡΡ Π°Π²ΡΠΎΡΠΎΠ² | Π’ΡΡΠ΄Π½ΠΎΡΡΡ ΠΈΠ·ΡΡΠ΅Π½ΠΈΡ |
|---|---|---|---|---|
| ΠΠΌΠΏΠ΅ΡΠ°ΡΠΈΠ²Π½ΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ | ΠΠΊΡΠΈΠ²Π½ΡΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΡ | ΠΡΠΎΠ΅ΠΊΡΡ Π² ΡΡΠ°Π΄ΠΈΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ | 1+ | ΠΠΈΠ·ΠΊΠ°Ρ |
| ΠΠΌΠΏΠ΅ΡΠ°ΡΠΈΠ²Π½Π°Ρ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ° | ΠΡΠ΄Π΅Π»ΡΠ½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ | ΠΡΠΎΠ΄Π°ΠΊΡΠ΅Π½-ΠΏΡΠΎΠ΅ΠΊΡΡ | 1 | Π‘ΡΠ΅Π΄Π½ΡΡ |
| ΠΠ΅ΠΊΠ»Π°ΡΠ°ΡΠΈΠ²Π½Π°Ρ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ° | ΠΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ ΠΈΠ»ΠΈ ΡΠ°ΠΉΠ»Ρ | ΠΡΠΎΠ΄Π°ΠΊΡΠ΅Π½-ΠΏΡΠΎΠ΅ΠΊΡΡ | 1+ | Π‘Π»ΠΎΠΆΠ½Π°Ρ |
ΠΠΌΠΏΠ΅ΡΠ°ΡΠΈΠ²Π½ΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ
ΠΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΠΈΠΌΠΏΠ΅ΡΠ°ΡΠΈΠ²Π½ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ Ρ Π°ΠΊΡΠΈΠ²Π½ΡΠΌΠΈ (ΡΠ΅ΠΊΡΡΠΈΠΌΠΈ) ΠΎΠ±ΡΠ΅ΠΊΡΠ°ΠΌΠΈ Π² ΠΊΠ»Π°ΡΡΠ΅ΡΠ΅. ΠΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π΅ kubectl Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ² ΠΈΠ»ΠΈ ΡΠ»Π°Π³ΠΎΠ².
ΠΡΠΎ ΡΠ°ΠΌΡΠΉ ΠΏΡΠΎΡΡΠΎΠΉ ΡΠΏΠΎΡΠΎΠ± Π½Π°ΡΠ°ΡΡ ΠΈΠ»ΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΠΎΠ΄Π½ΠΎΡΠ°Π·ΠΎΠ²ΡΠ΅ Π·Π°Π΄Π°ΡΠΈ Π² ΠΊΠ»Π°ΡΡΠ΅ΡΠ΅. ΠΠ·-Π·Π° ΡΠΎΠ³ΠΎ, ΡΡΠΎ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ ΡΠ°Π±ΠΎΡΠ° Ρ Π°ΠΊΡΠΈΠ²Π½ΡΠΌΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠ°ΠΌΠΈ Π½Π°ΠΏΡΡΠΌΡΡ, Π½Π΅Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ ΠΈΡΡΠΎΡΠΈΡ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠΈΡ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΉ.
ΠΡΠΈΠΌΠ΅ΡΡ
ΠΠ°ΠΏΡΡΡΠΈΡΠ΅ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ° nginx, ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²ΠΎΠΌ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ° Deployment:
Π’ΠΎ ΠΆΠ΅ ΡΠ°ΠΌΠΎΠ΅, Π½ΠΎ Ρ Π΄ΡΡΠ³ΠΈΠΌ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠΎΠΌ:
ΠΠ»ΡΡΡ ΠΈ ΠΌΠΈΠ½ΡΡΡ
ΠΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²Π° ΠΏΠΎ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ Ρ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠ΅ΠΉ ΠΎΠ±ΡΠ΅ΠΊΡΠ°:
ΠΠ΅Π΄ΠΎΡΡΠ°ΡΠΊΠΈ ΠΏΠΎ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ Ρ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠ΅ΠΉ ΠΎΠ±ΡΠ΅ΠΊΡΠ°:
ΠΠΌΠΏΠ΅ΡΠ°ΡΠΈΠ²Π½Π°Ρ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ°
Π ΡΠ»ΡΡΠ°Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΈΠΌΠΏΠ΅ΡΠ°ΡΠΈΠ²Π½ΠΎΠΉ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π΅ kubectl ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ (ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅, Π·Π°ΠΌΠ΅Π½Π° ΠΈ Ρ.Π΄.), Π½Π΅ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΠ»Π°Π³ΠΈ ΠΈ ΠΊΠ°ΠΊ ΠΌΠΈΠ½ΠΈΠΌΡΠΌ ΠΎΠ΄Π½ΠΎ ΠΈΠΌΡ ΡΠ°ΠΉΠ»Π°. Π€Π°ΠΉΠ» Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡ ΠΏΠΎΠ»Π½ΠΎΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΠ° Π² ΡΠΎΡΠΌΠ°ΡΠ΅ YAML ΠΈΠ»ΠΈ JSON.
ΠΠΎΡΠΌΠΎΡΡΠΈΡΠ΅ Π‘ΠΏΡΠ°Π²ΠΎΡΠ½ΠΈΠΊ API Π΄Π»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΏΡΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ°.
ΠΡΠΈΠΌΠ΅ΡΡ
Π‘ΠΎΠ·Π΄Π°ΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΡ, ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠ΅ Π² ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΌ ΡΠ°ΠΉΠ»Π΅:
Π£Π΄Π°Π»ΠΈΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΡ, ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠ΅ Π² Π΄Π²ΡΡ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΎΠ½Π½ΡΡ ΡΠ°ΠΉΠ»Π°Ρ :
ΠΠ±Π½ΠΎΠ²ΠΈΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΡ, ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠ΅ Π² ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΌ ΡΠ°ΠΉΠ»Π΅, ΠΏΠ΅ΡΠ΅Π·Π°ΠΏΠΈΡΠ°Π² ΡΠ΅ΠΊΡΡΡΡ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ:
ΠΠ»ΡΡΡ ΠΈ ΠΌΠΈΠ½ΡΡΡ
ΠΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²Π° ΠΏΠΎ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ Ρ ΠΈΠΌΠΏΠ΅ΡΠ°ΡΠΈΠ²Π½ΡΠΌΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌΠΈ:
ΠΠ΅Π΄ΠΎΡΡΠ°ΡΠΊΠΈ ΠΏΠΎ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ Ρ ΠΈΠΌΠΏΠ΅ΡΠ°ΡΠΈΠ²Π½ΡΠΌΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌΠΈ:
ΠΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²Π° ΠΏΠΎ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ Ρ Π΄Π΅ΠΊΠ»Π°ΡΠ°ΡΠΈΠ²Π½ΠΎΠΉ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠ΅ΠΉ ΠΎΠ±ΡΠ΅ΠΊΡΠ°:
ΠΠ΅Π΄ΠΎΡΡΠ°ΡΠΊΠΈ ΠΏΠΎ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ Ρ Π΄Π΅ΠΊΠ»Π°ΡΠ°ΡΠΈΠ²Π½ΠΎΠΉ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠ΅ΠΉ ΠΎΠ±ΡΠ΅ΠΊΡΠ°:
ΠΠ΅ΠΊΠ»Π°ΡΠ°ΡΠΈΠ²Π½Π°Ρ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ°
ΠΡΠΈΠΌΠ΅ΡΡ
Π Π΅ΠΊΡΡΡΠΈΠ²Π½Π°Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΉ:
ΠΠ»ΡΡΡ ΠΈ ΠΌΠΈΠ½ΡΡΡ
ΠΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²Π° ΠΏΠΎ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ Ρ ΠΈΠΌΠΏΠ΅ΡΠ°ΡΠΈΠ²Π½ΠΎΠΉ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠ΅ΠΉ ΠΎΠ±ΡΠ΅ΠΊΡΠ°:
ΠΠ΅Π΄ΠΎΡΡΠ°ΡΠΊΠΈ ΠΏΠΎ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ Ρ ΠΈΠΌΠΏΠ΅ΡΠ°ΡΠΈΠ²Π½ΠΎΠΉ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠ΅ΠΉ ΠΎΠ±ΡΠ΅ΠΊΡΠ°:
Π§ΡΠΎ Π΄Π°Π»ΡΡΠ΅
ΠΠ°ΠΆΠ΄ΡΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ Π² ΠΊΠ»Π°ΡΡΠ΅ΡΠ΅ ΠΈΠΌΠ΅Π΅Ρ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΠΎΠ΅ ΠΈΠΌΡ Π΄Π»Ρ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠ³ΠΎ ΡΠΈΠΏΠ° ΡΠ΅ΡΡΡΡΠ°. ΠΡΠΎΠΌΠ΅ ΡΡΠΎΠ³ΠΎ, Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ° Kubernetes Π΅ΡΡΡ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠΉ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΡΠΉ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ (UID) Π² ΠΏΡΠ΅Π΄Π΅Π»Π°Ρ ΠΊΠ»Π°ΡΡΠ΅ΡΠ°.
ΠΠ»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΡ Π½Π΅ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΡΡ Π°ΡΡΠΈΠ±ΡΡΠΎΠ² Ρ Kubernetes Π΅ΡΡΡ ΠΌΠ΅ΡΠΊΠΈ ΠΈ Π°Π½Π½ΠΎΡΠ°ΡΠΈΠΈ.
ΠΠΌΠ΅Π½Π°
Π£ΠΊΠ°Π·Π°Π½Π½ΠΎΠ΅ ΠΈΠΌΡ ΠΌΠΎΠΆΠ΅Ρ ΠΈΠΌΠ΅ΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄ΠΈΠ½ ΠΎΠ±ΡΠ΅ΠΊΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΠΎΠ³ΠΎ ΡΠΈΠΏΠ°. ΠΠΎ Π΅ΡΠ»ΠΈ Π²Ρ ΡΠ΄Π°Π»ΠΈΡΠ΅ ΡΡΠΎΡ ΠΎΠ±ΡΠ΅ΠΊΡ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠΎΠ·Π΄Π°ΡΡ Π½ΠΎΠ²ΡΠΉ Ρ ΡΠ°ΠΊΠΈΠΌ ΠΆΠ΅ ΠΈΠΌΠ΅Π½Π΅ΠΌ
ΠΠΈΠΆΠ΅ ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½Ρ ΡΡΠΈ ΡΠΈΠΏΠ° ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½ΡΠ½Π½ΡΡ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΠΉ ΠΊ ΠΈΠΌΠ΅Π½Π°ΠΌ ΡΠ΅ΡΡΡΡΠΎΠ².
ΠΠΌΠ΅Π½Π° ΠΏΠΎΠ΄Π΄ΠΎΠΌΠ΅Π½ΠΎΠ² DNS
ΠΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Ρ ΡΠΈΠΏΠΎΠ² ΡΠ΅ΡΡΡΡΠΎΠ² Π½ΡΠΆΠ½ΠΎ ΡΠΊΠ°Π·Π°ΡΡ ΠΈΠΌΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΠΎΠ΅ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΈΠΌΠ΅Π½ΠΈ ΠΏΠΎΠ΄Π΄ΠΎΠΌΠ΅Π½Π° DNS Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠΈ Ρ RFC 1123. Π‘ΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ, ΠΈΠΌΡ Π΄ΠΎΠ»ΠΆΠ½ΠΎ:
ΠΠΌΠ΅Π½Π° ΠΌΠ΅ΡΠΎΠΊ DNS
ΠΠ΅ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠΈΠΏΡ ΡΠ΅ΡΡΡΡΠΎΠ² Π΄ΠΎΠ»ΠΆΠ½Ρ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΎΠ²Π°ΡΡ ΡΡΠ°Π½Π΄Π°ΡΡΡ ΠΌΠ΅ΡΠΎΠΊ DNS, ΠΊΠΎΡΠΎΡΡΠΉ ΠΎΠΏΠΈΡΠ°Π½ Π² RFC 1123. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΠΈΠΌΡ Π΄ΠΎΠ»ΠΆΠ½ΠΎ:
ΠΠΌΠ΅Π½Π° ΡΠ΅Π³ΠΌΠ΅Π½ΡΠΎΠ² ΠΏΡΡΠΈ
ΠΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΡΠ΅ ΠΈΠΌΠ΅Π½Π° ΡΠΈΠΏΠΎΠ² ΡΠ΅ΡΡΡΡΠΎΠ² Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ Π·Π°ΠΊΠΎΠ΄ΠΈΡΠΎΠ²Π°Π½Ρ Π΄Π»Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΡΠ΅Π³ΠΌΠ΅Π½ΡΠ° ΠΏΡΡΠΈ. ΠΡΠΎΡΠ΅ Π³ΠΎΠ²ΠΎΡΡ, ΠΈΠΌΡ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ «.» ΠΈΠ»ΠΈ «..», Π° ΡΠ°ΠΊΠΆΠ΅ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡ «/» ΠΈΠ»ΠΈ «%».
Π£Π½ΠΈΠΊΠ°Π»ΡΠ½ΡΠ΅ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΡ
Π£Π½ΠΈΠΊΠ°Π»ΡΠ½Π°Ρ ΡΡΡΠΎΠΊΠ°, ΡΠ³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°Π½Π½Π°Ρ ΡΠ°ΠΌΠΈΠΌ Kubernetes, Π΄Π»Ρ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ².
Π£ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ°, ΡΠΎΠ·Π΄Π°Π½Π½ΠΎΠ³ΠΎ Π² ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Π²ΡΠ΅Π³ΠΎ ΠΏΠ΅ΡΠΈΠΎΠ΄Π° ΡΠ°Π±ΠΎΡΡ ΠΊΠ»Π°ΡΡΠ΅ΡΠ° Kubernetes, Π΅ΡΡΡ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠΉ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΡΠΉ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ (UID). ΠΠ½ ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½ Π΄Π»Ρ Π²ΡΡΡΠ½Π΅Π½ΠΈΡ ΡΠ°Π·Π»ΠΈΡΠΈΠΉ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠΎΠ±ΡΡΠΈΡΠΌΠΈ ΠΏΠΎΡ ΠΎΠΆΠΈΡ ΡΡΡΠ½ΠΎΡΡΠ΅ΠΉ.
Π£Π½ΠΈΠΊΠ°Π»ΡΠ½ΡΠ΅ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ (UID) Π² Kubernetes β ΡΡΠΎ ΡΠ½ΠΈΠ²Π΅ΡΡΠ°Π»ΡΠ½ΡΠ΅ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΡΠ΅ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΡ (ΠΈΠ·Π²Π΅ΡΡΠ½ΡΠ΅ ΡΠ°ΠΊΠΆΠ΅ ΠΊΠ°ΠΊ Universally Unique IDentifier, ΡΠΎΠΊΡΠ°ΡΠ΅Π½Π½ΠΎ UUID). ΠΡΠΈ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΡ ΡΡΠ°Π½Π΄Π°ΡΡΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Ρ ΠΏΠΎΠ΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ ISO/IEC 9834-8, Π° ΡΠ°ΠΊΠΆΠ΅ ΠΊΠ°ΠΊ ITU-T X.667.
Π§ΡΠΎ Π΄Π°Π»ΡΡΠ΅
Kubernetes ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΡΡ ΠΊΠ»Π°ΡΡΠ΅ΡΠΎΠ² Π² ΠΎΠ΄Π½ΠΎΠΌ ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΎΠΌ ΠΊΠ»Π°ΡΡΠ΅ΡΠ΅. Π’Π°ΠΊΠΈΠ΅ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΡΠ΅ ΠΊΠ»Π°ΡΡΠ΅ΡΡ Π½Π°Π·ΡΠ²Π°ΡΡΡΡ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π°ΠΌΠΈ ΠΈΠΌΡΠ½.
ΠΡΠΈΡΠΈΠ½Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ² ΠΈΠΌΡΠ½
ΠΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π° ΠΈΠΌΡΠ½ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡΡΡ Π² ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡΡ Ρ ΠΌΠ½ΠΎΠ³ΠΎΡΠΈΡΠ»Π΅Π½Π½ΡΠΌΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΠΌΠΈ, ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠΌΠΈ ΠΏΠΎ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΠΌ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌ ΠΈΠ»ΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠ°ΠΌ. ΠΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π° ΠΈΠΌΡΠ½ Π½Π΅ Π½ΡΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ, Π΅ΡΠ»ΠΈ Π΅ΡΡΡ ΠΊΠ»Π°ΡΡΠ΅ΡΡ Ρ Π½Π΅Π±ΠΎΠ»ΡΡΠΈΠΌ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎΠΌ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π΄Π΅ΡΡΡΠΎΠΊ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ). ΠΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π° ΠΈΠΌΡΠ½ ΠΈΠΌΠ΅Π΅Ρ ΡΠΌΡΡΠ» ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ, ΠΊΠΎΠ³Π΄Π° Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠ° ΡΠ°ΠΊΠ°Ρ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΡ.
ΠΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π° ΠΈΠΌΡΠ½ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡ ΠΎΠ±Π»Π°ΡΡΡ ΠΈΠΌΡΠ½. ΠΠΌΠ΅Π½Π° ΡΠ΅ΡΡΡΡΠΎΠ² Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΡΠΌΠΈ Π² ΠΏΡΠ΅Π΄Π΅Π»Π°Ρ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈ ΡΠΎΠ³ΠΎ ΠΆΠ΅ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π° ΠΈΠΌΡΠ½. ΠΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π° ΠΈΠΌΡΠ½ Π½Π΅ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ Π²Π»ΠΎΠΆΠ΅Π½Π½ΡΠΌΠΈ, Π° ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ΅ΡΡΡΡ Kubernetes ΠΌΠΎΠΆΠ΅Ρ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π΅ ΠΈΠΌΡΠ½.
ΠΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π° ΠΈΠΌΡΠ½ β ΡΡΠΎ ΡΠΏΠΎΡΠΎΠ± ΡΠ°Π·Π΄Π΅Π»Π΅Π½ΠΈΡ ΡΠ΅ΡΡΡΡΠΎΠ² ΠΊΠ»Π°ΡΡΠ΅ΡΠ° ΠΌΠ΅ΠΆΠ΄Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΠΌΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΠΌΠΈ (Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠ²ΠΎΡΡ ΡΠ΅ΡΡΡΡΠΎΠ²).
ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π² Π±ΡΠ΄ΡΡΠΈΡ Π²Π΅ΡΡΠΈΡΡ Kubernetes ΠΎΠ±ΡΠ΅ΠΊΡΡ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΈ ΡΠΎΠΌ ΠΆΠ΅ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π΅ ΠΈΠΌΡΠ½ Π±ΡΠ΄ΡΡ ΠΈΠΌΠ΅ΡΡ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΡΡ ΠΏΠΎΠ»ΠΈΡΠΈΠΊΡ ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ Π΄ΠΎΡΡΡΠΏΠ°.
ΠΠ΅ Π½ΡΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π° ΠΈΠΌΡΠ½ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ ΡΠ°Π·Π΄Π΅Π»Π΅Π½ΠΈΡ ΡΠ»Π΅Π³ΠΊΠ° ΠΎΡΠ»ΠΈΡΠ°ΡΡΠΈΡ ΡΡ ΡΠ΅ΡΡΡΡΠΎΠ², Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π² ΡΠ»ΡΡΠ°Π΅ ΡΠ°Π·Π½ΡΡ Π²Π΅ΡΡΠΈΠΉ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈ ΡΠΎΠ³ΠΎ ΠΆΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΠΌΠ΅ΡΠΊΠΈ, ΡΡΠΎΠ±Ρ ΡΠ°Π·Π»ΠΈΡΠ°ΡΡ ΡΠ΅ΡΡΡΡΡ Π² ΡΠ°ΠΌΠΊΠ°Ρ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π° ΠΈΠΌΡΠ½.
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ² ΠΈΠΌΡΠ½
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΈ ΡΠ΄Π°Π»Π΅Π½ΠΈΠ΅ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ² ΠΈΠΌΡΠ½ ΠΎΠΏΠΈΡΠ°Π½Ρ Π² ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²Π΅ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΠ° ΠΏΠΎ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π°ΠΌ ΠΈΠΌΡΠ½.
ΠΡΠΎΡΠΌΠΎΡΡ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ² ΠΈΠΌΡΠ½
ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΡΠ»Π΅Π΄ΡΡΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ, ΡΡΠΎΠ±Ρ Π²ΡΠ²Π΅ΡΡΠΈ ΡΠΏΠΈΡΠΎΠΊ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΡ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ² ΠΈΠΌΡΠ½ Π² ΠΊΠ»Π°ΡΡΠ΅ΡΠ΅:
ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π² Kubernetes ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Ρ ΡΡΠΈ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π° ΠΈΠΌΡΠ½:
ΠΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π° ΠΈΠΌΡΠ½ Π΄Π»Ρ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄
ΠΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π° ΠΈΠΌΡΠ½ Π΄Π»Ρ Π²ΡΠ΅Ρ ΠΊΠΎΠΌΠ°Π½Π΄
ΠΠΎΠΆΠ½ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ ΠΈΠΌΡΠ½, ΠΊΠΎΡΠΎΡΠΎΠ΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π΄Π»Ρ Π²ΡΠ΅Ρ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΡ ΠΊΠΎΠΌΠ°Π½Π΄ kubectl Π² ΡΠ΅ΠΊΡΡΠ΅ΠΌ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ΅.
ΠΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π° ΠΈΠΌΡΠ½ ΠΈ DNS
ΠΠ±ΡΠ΅ΠΊΡΡ Π±Π΅Π· ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π° ΠΈΠΌΡΠ½
ΠΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎ ΡΠ΅ΡΡΡΡΠΎΠ² Kubernetes (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΠΎΠ΄Ρ, ΡΠ΅ΡΠ²ΠΈΡΡ, ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΡ ΡΠ΅ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΠΈ ΠΈ Π΄ΡΡΠ³ΠΈΠ΅) ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½Ρ Π² ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΡΡ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π°Ρ ΠΈΠΌΡΠ½. ΠΡΠΈ ΡΡΠΎΠΌ ΡΠ°ΠΌΠΈ ΡΠ΅ΡΡΡΡΡ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π° ΠΈΠΌΡΠ½ Π½Π΅ Π½Π°Ρ ΠΎΠ΄ΡΡΡΡ Π½ΠΈ Π² Π΄ΡΡΠ³ΠΈΡ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π°Ρ ΠΈΠΌΡΠ½. Π ΡΠ°ΠΊΠΈΠ΅ Π½ΠΈΠ·ΠΊΠΎΡΡΠΎΠ²Π½Π΅Π²ΡΠ΅ ΡΠ΅ΡΡΡΡΡ, ΠΊΠ°ΠΊ ΡΠ·Π»Ρ ΠΈ persistentVolumes, Π½Π΅ ΠΏΡΠΈΠ½Π°Π΄Π»Π΅ΠΆΠ°Ρ Π½ΠΈ ΠΎΠ΄Π½ΠΎΠΌΡ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Ρ ΠΈΠΌΡΠ½.
Π§ΡΠΎΠ±Ρ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ, ΠΊΠ°ΠΊΠΈΠ΅ ΡΠ΅ΡΡΡΡΡ Kubernetes Π½Π°Ρ ΠΎΠ΄ΡΡΡΡ Π² ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π΅ ΠΈΠΌΡΠ½, Π° ΠΊΠ°ΠΊΠΈΠ΅ β Π½Π΅Ρ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ:
Π§ΡΠΎ Π΄Π°Π»ΡΡΠ΅
ΠΠ΅ΡΠΊΠΈ β ΡΡΠΎ ΠΏΠ°ΡΡ ΠΊΠ»ΡΡ-Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅, ΠΊΠΎΡΠΎΡΡΠ΅ Π΄ΠΎΠ±Π°Π²Π»ΡΡΡΡΡ ΠΊ ΠΎΠ±ΡΠ΅ΠΊΡΠ°ΠΌ, ΠΊΠ°ΠΊ ΠΏΠΎΠ΄Ρ. ΠΠ΅ΡΠΊΠΈ ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Ρ Π΄Π»Ρ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ Π°ΡΡΠΈΠ±ΡΡΠΎΠ² ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΠΌΠ΅ΡΡ Π·Π½Π°ΡΠΈΠΌΠΎΡΡΡ ΠΈ Π²Π°ΠΆΠ½Ρ Π΄Π»Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ, Π½ΠΎ ΠΏΡΠΈ ΡΡΠΎΠΌ Π½Π΅ ΠΎΡΠ½ΠΎΡΡΡΡΡ Π½Π°ΠΏΡΡΠΌΡΡ ΠΊ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠ΅. ΠΠ΅ΡΠΊΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄Π»Ρ Π³ΡΡΠΏΠΏΠΈΡΠΎΠ²ΠΊΠΈ ΠΈ Π²ΡΠ±ΠΎΡΠ° ΠΏΠΎΠ΄ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ² ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ². ΠΠ΅ΡΠΊΠΈ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ ΠΊ ΠΎΠ±ΡΠ΅ΠΊΡΠ°ΠΌ Π²ΠΎ Π²ΡΠ΅ΠΌΡ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Ρ Π² Π»ΡΠ±ΠΎΠ΅ Π²ΡΠ΅ΠΌΡ ΠΏΠΎΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ. ΠΠ°ΠΆΠ΄ΡΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ ΠΌΠΎΠΆΠ΅Ρ ΠΈΠΌΠ΅ΡΡ Π½Π°Π±ΠΎΡ ΠΌΠ΅ΡΠΎΠΊ Π² Π²ΠΈΠ΄Π΅ ΠΏΠ°ΡΡ ΠΊΠ»ΡΡ-Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅. ΠΠ°ΠΆΠ΄ΡΠΉ ΠΊΠ»ΡΡ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΡΠΌ Π² ΡΠ°ΠΌΠΊΠ°Ρ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈ ΡΠΎΠ³ΠΎ ΠΆΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΠ°.
ΠΠ΅ΡΠΊΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ ΠΏΡΠΈ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΠΈ ΠΈ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π½ΠΈΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² ΠΈ Π² Π²Π΅Π±-ΠΏΠ°Π½Π΅Π»ΡΡ ΠΈ CLI-ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°Ρ . ΠΡΠ±Π°Ρ Π½Π΅ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΡΠΈΡΡΡΡΠ°Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π΄ΠΎΠ»ΠΆΠ½Π° Π±ΡΡΡ Π·Π°ΠΏΠΈΡΠ°Π½Π° Π² Π°Π½Π½ΠΎΡΠ°ΡΠΈΠΈ.
ΠΡΠΈΡΠΈΠ½Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ
ΠΠ΅ΡΠΊΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΠΌ Π³ΠΈΠ±ΠΊΠΎ ΡΠΎΠΏΠΎΡΡΠ°Π²ΠΈΡΡ ΠΈΡ ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΠΎΠ½Π½ΡΠ΅ ΡΡΡΡΠΊΡΡΡΡ Ρ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΠΌΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠ°ΠΌΠΈ, Π½Π΅ ΡΡΠ΅Π±ΡΡ ΠΎΡ ΠΊΠ»ΠΈΠ΅Π½ΡΠΎΠ² Ρ ΡΠ°Π½ΠΈΡΡ ΡΡΠΈ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΡ.
Π Π°Π·Π²Π΅ΡΡΡΠ²Π°Π½ΠΈΡ ΡΠ΅ΡΠ²ΠΈΡΠΎΠ² ΠΈ ΠΏΡΠΎΡΠ΅ΡΡΡ ΠΏΠ°ΠΊΠ΅ΡΠ½ΠΎΠΉ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΡΠ°ΡΡΠΎ ΡΠ²Π»ΡΡΡΡΡ ΠΌΠ½ΠΎΠ³ΠΎΠΌΠ΅ΡΠ½ΡΠΌΠΈ ΡΡΡΠ½ΠΎΡΡΡΠΌΠΈ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΡΠ°Π·Π΄Π΅Π»ΠΎΠ² ΠΈΠ»ΠΈ ΡΠ°Π·Π²Π΅ΡΡΡΠ²Π°Π½ΠΈΠΉ, Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π³ΡΡΠΏΠΏ Π²ΡΠΏΡΡΠΊΠΎΠ², Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΡΠΎΠ²Π½Π΅ΠΉ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΠΎΠ² Π½Π° ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΡΠΎΠ²Π΅Π½Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ). ΠΠ»Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΠ°ΡΡΠΎ ΡΡΠ΅Π±ΡΡΡΡΡ ΡΠΊΠ²ΠΎΠ·Π½ΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π°ΡΡΡΠ°ΡΡ ΠΈΠ½ΠΊΠ°ΠΏΡΡΠ»ΡΡΠΈΡ ΡΡΡΠΎΠ³ΠΎ ΠΈΠ΅ΡΠ°ΡΡ ΠΈΡΠ΅ΡΠΊΠΈΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠΉ, ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ ΠΆΠ΅ΡΡΠΊΠΈΡ ΠΈΠ΅ΡΠ°ΡΡ ΠΈΠΉ, ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΠΌΡΡ ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠΎΠΉ, Π° Π½Π΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΠΌΠΈ.
ΠΡΠΎ Π²ΡΠ΅Π³ΠΎ Π»ΠΈΡΡ ΠΏΡΠΈΠΌΠ΅ΡΡ ΡΠ°ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΡ ΠΌΠ΅ΡΠΎΠΊ; ΠΊΠΎΠ½Π΅ΡΠ½ΠΎ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ²ΠΎΠΈ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠ΅. ΠΠΎΠΌΠ½ΠΈΡΠ΅ ΠΎ ΡΠΎΠΌ, ΡΡΠΎ ΠΊΠ»ΡΡ ΠΌΠ΅ΡΠΊΠΈ Π΄ΠΎΠ»ΠΆΠ½Π° Π±ΡΡΡ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΠΎΠΉ Π² ΠΏΡΠ΅Π΄Π΅Π»Π°Ρ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ°.
Π‘ΠΈΠ½ΡΠ°ΠΊΡΠΈΡ ΠΈ Π½Π°Π±ΠΎΡ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ²
ΠΡΠ΅ΡΠΈΠΊΡΡ kubernetes.io/ ΠΈ k8s.io/ Π·Π°ΡΠ΅Π·Π΅ΡΠ²ΠΈΡΠΎΠ²Π°Π½Ρ Π΄Π»Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΎΡΠ½ΠΎΠ²Π½ΡΠΌΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ°ΠΌΠΈ Kubernetes.
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π½ΠΈΠΆΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΎΠ½Π½ΡΠΉ ΡΠ°ΠΉΠ» ΠΎΠ±ΡΠ΅ΠΊΡΠ° Pod Ρ Π΄Π²ΡΠΌΡ ΠΌΠ΅ΡΠΊΠ°ΠΌΠΈ environment: production ΠΈ app: nginx :
Π‘Π΅Π»Π΅ΠΊΡΠΎΡΡ ΠΌΠ΅ΡΠΎΠΊ
Π ΠΎΡΠ»ΠΈΡΠΈΠ΅ ΠΎΡ ΠΈΠΌΠ΅Π½ ΠΈ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠΎΠ², ΠΌΠ΅ΡΠΊΠΈ Π½Π΅ Π³Π°ΡΠ°Π½ΡΠΈΡΡΡΡ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΠΎΡΡΡ. ΠΠΎΡΡΠΎΠΌΡ ΠΌΡ ΠΏΡΠ΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅ΠΌ, ΡΡΠΎ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΡ Π±ΡΠ΄ΡΡ ΠΈΠΌΠ΅ΡΡ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΡΠ΅ ΠΌΠ΅ΡΠΊΠΈ.
Π‘ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠ΅Π»Π΅ΠΊΡΠΎΡΠ° ΠΌΠ΅ΡΠΎΠΊ ΠΊΠ»ΠΈΠ΅Π½Ρ/ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΌΠΎΠΆΠ΅Ρ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΡΠΈΡΠΎΠ²Π°ΡΡ Π½Π°Π±ΠΎΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ². Π‘Π΅Π»Π΅ΠΊΡΠΎΡ ΠΌΠ΅ΡΠΎΠΊ β ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠ΅ ΡΡΠ΅Π΄ΡΡΠ²ΠΎ Π³ΡΡΠΏΠΏΠΈΡΠΎΠ²ΠΊΠΈ Π² Kubernetes.
Π Π½Π°ΡΡΠΎΡΡΠ΅Π΅ Π²ΡΠ΅ΠΌΡ API ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ Π΄Π²Π° ΡΠΈΠΏΠ° ΡΠ΅Π»Π΅ΠΊΡΠΎΡΠΎΠ²: Π½Π° ΡΠ°Π²Π΅Π½ΡΡΠ²Π΅ ΠΈ Π½Π° Π½Π°Π±ΠΎΡΠ΅. Π‘Π΅Π»Π΅ΠΊΡΠΎΡ ΠΌΠ΅ΡΠΎΠΊ ΠΌΠΎΠΆΠ΅Ρ ΡΠΎΡΡΠΎΡΡΡ ΠΈΠ· Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΡΡΠ»ΠΎΠ²ΠΈΠΉ, ΡΠ°Π·Π΄Π΅Π»Π΅Π½Π½ΡΡ Π·Π°ΠΏΡΡΡΠΌΠΈ. Π ΡΠ°ΠΊΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π²ΡΠ΅ ΡΡΠ»ΠΎΠ²ΠΈΡ Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½Ρ, ΠΏΠΎΡΡΠΎΠΌΡ Π·Π°ΠΏΡΡΠ°Ρ-ΡΠ°Π·Π΄Π΅Π»ΠΈΡΠ΅Π»Ρ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΊΠ°ΠΊ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ Π ( && ).
Π Π°Π±ΠΎΡΠ° ΠΏΡΡΡΡΡ ΠΈΠ»ΠΈ Π½Π΅ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΡΡ ΡΠ΅Π»Π΅ΠΊΡΠΎΡΠΎΠ² Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ°. Π’ΠΈΠΏΡ API, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΡΠ΅Π»Π΅ΠΊΡΠΎΡΡ, Π΄ΠΎΠ»ΠΆΠ½Ρ Π·Π°Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠΈΡΠΎΠ²Π°ΡΡ ΡΡΠΎ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅.
Π£ΡΠ»ΠΎΠ²ΠΈΠ΅ ΡΠ°Π²Π΅Π½ΡΡΠ²Π°
Π‘ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΠ»ΠΎΠ²ΠΈΡ ΡΠ°Π²Π΅Π½ΡΡΠ²Π° Π² ΠΎΠ±ΡΠ΅ΠΊΡΠ°Ρ Pod ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠ°Π·Π°ΡΡ, ΠΊΠ°ΠΊΠΈΠ΅ Π½ΡΠΆΠ½ΠΎ Π²ΡΠ±ΡΠ°ΡΡ ΡΠ΅ΡΡΡΡΡ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π² ΠΏΡΠΈΠΌΠ΅ΡΠ΅ Π½ΠΈΠΆΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡ Pod Π²ΡΠ±ΠΈΡΠ°Π΅Ρ ΡΠ·Π»Ρ Ρ ΠΌΠ΅ΡΠΊΠΎΠΉ » accelerator=nvidia-tesla-p100 «.
Π£ΡΠ»ΠΎΠ²ΠΈΠ΅ Π½Π°Π±ΠΎΡΠ°
Π€ΠΈΠ»ΡΡΡΠ°ΡΠΈΡ LIST ΠΈ WATCH
ΠΠΏΠ΅ΡΠ°ΡΠΈΠΈ LIST ΠΈ WATCH ΠΌΠΎΠ³ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ Π·Π°ΠΏΡΠΎΡΠ°, ΡΡΠΎΠ±Ρ ΡΠΊΠ°Π·Π°ΡΡ ΡΠ΅Π»Π΅ΠΊΡΠΎΡΡ ΠΌΠ΅ΡΠΎΠΊ ΡΠΈΠ»ΡΡΡΠ°ΡΠΈΠΈ Π½Π°Π±ΠΎΡΠΎΠ² ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ². ΠΡΡΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΠΎΠ±ΠΎΠΈΡ ΡΡΠ»ΠΎΠ²ΠΈΠΉ (ΡΡΡΠΎΠΊΠ° Π·Π°ΠΏΡΠΎΡΠ° URL Π½ΠΈΠΆΠ΅ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅ΡΡΡ Π² ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠΌ Π²ΠΈΠ΄Π΅):
ΠΠΈΠ±ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΡΡΠ»ΠΎΠ²ΠΈΡ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ Π½Π°Π±ΠΎΡΠ°:
ΠΠ°ΠΊ ΡΠΆΠ΅ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π»ΠΎΡΡ, ΡΡΠ»ΠΎΠ²ΠΈΡ Π½Π°Π±ΠΎΡΠ° Π΄Π°ΡΡ Π±ΠΎΠ»ΡΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠ΅ΠΉ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π² Π½ΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΠΎΠ΄ΠΎΠ±ΠΈΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ° Π:
ΠΠΈΠ±ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΠΈΡΠΊΠ»ΡΡΠ°ΡΡΠΈΠΌ ΡΠΎΠΏΠΎΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ° exists:
Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΡΡΡΠ»ΠΎΠΊ Π² API-ΠΎΠ±ΡΠ΅ΠΊΡΡ
Service ΠΈ ReplicationController
Π Π΅ΡΡΡΡΡ, ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΠΈΠ΅ ΡΡΠ»ΠΎΠ²ΠΈΡ Π½Π°Π±ΠΎΡΠ°
ΠΡΠ±ΠΎΡ Π½Π°Π±ΠΎΡΠΎΠ² ΡΠ·Π»ΠΎΠ²
ΠΠ΄ΠΈΠ½ ΠΈΠ· Π²Π°ΡΠΈΠ°Π½ΡΠΎΠ² ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΌΠ΅ΡΠΎΠΊ β Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π²ΡΠ±ΠΎΡΠ° Π½Π°Π±ΠΎΡΠ° ΡΠ·Π»ΠΎΠ², Π² ΠΊΠΎΡΠΎΡΡΡ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΠ°Π·Π²Π΅ΡΠ½ΡΡ ΠΏΠΎΠ΄. Π‘ΠΌΠΎΡΡΠΈΡΠ΅ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ ΠΏΡΠΎ Π²ΡΠ±ΠΎΡ ΡΠ·Π»ΠΎΠ², ΡΡΠΎΠ±Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ.
ΠΠ½Π½ΠΎΡΠ°ΡΠΈΠΈ Kubernetes ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄Π»Ρ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΡ ΠΌΠ΅ΡΠ°Π΄Π°Π½Π½ΡΡ ΠΊ ΠΎΠ±ΡΠ΅ΠΊΡΠ°ΠΌ. Π’Π°ΠΊΠΈΠ΅ ΠΊΠ»ΠΈΠ΅Π½ΡΡ, ΠΊΠ°ΠΊ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ, ΠΌΠΎΠ³ΡΡ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΡΡΠΈ ΠΌΠ΅ΡΠ°Π΄Π°Π½Π½ΡΠ΅.
ΠΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΌΠ΅ΡΠ°Π΄Π°Π½Π½ΡΡ ΠΊ ΠΎΠ±ΡΠ΅ΠΊΡΠ°ΠΌ
ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΌΠ΅ΡΠΊΠΈ ΠΈΠ»ΠΈ Π°Π½Π½ΠΎΡΠ°ΡΠΈΠΈ Π΄Π»Ρ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ ΠΌΠ΅ΡΠ°Π΄Π°Π½Π½ΡΡ ΠΊ ΠΎΠ±ΡΠ΅ΠΊΡΠ°ΠΌ Kubernetes. ΠΠ΅ΡΠΊΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄Π»Ρ Π²ΡΠ±ΠΎΡΠ° ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² ΠΈ Π΄Π»Ρ ΠΏΠΎΠΈΡΠΊΠ° ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΉ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠΌ ΡΡΠ»ΠΎΠ²ΠΈΡΠΌ. Π ΠΎΡΠ»ΠΈΡΠΈΠ΅ ΠΎΡ Π½ΠΈΡ Π°Π½Π½ΠΎΡΠ°ΡΠΈΠΈ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π΄Π»Ρ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ ΠΈ Π²ΡΠ±ΠΎΡΠ° ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ². ΠΠ΅ΡΠ°Π΄Π°Π½Π½ΡΠ΅ Π² Π°Π½Π½ΠΎΡΠ°ΡΠΈΠΈ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΠΌΠ°Π»Π΅Π½ΡΠΊΠΈΠΌΠΈ ΠΈΠ»ΠΈ Π±ΠΎΠ»ΡΡΠΈΠΌΠΈ, ΡΡΡΡΠΊΡΡΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΌΠΈ ΠΈΠ»ΠΈ Π½Π΅ΡΡΡΡΠΊΡΡΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΌΠΈ, ΠΊΡΠΎΠΌΠ΅ ΡΡΠΎΠ³ΠΎ ΠΎΠ½ΠΈ Π²ΠΊΠ»ΡΡΠ°ΡΡ ΡΠΈΠΌΠ²ΠΎΠ»Ρ, ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π΅ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½Ρ Π² ΠΌΠ΅ΡΠΊΠ°Ρ .
ΠΠ½Π½ΠΎΡΠ°ΡΠΈΠΈ, ΠΊΠ°ΠΊ ΠΈ ΠΌΠ΅ΡΠΊΠΈ, ΡΠ²Π»ΡΡΡΡΡ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΡΠΌΠΈ Ρ Π½Π°Π±ΠΎΡΠ°ΠΌΠΈ ΠΏΠ°Ρ ΠΊΠ»ΡΡ-Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅:
ΠΠ΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΡΠΈΠΌΠ΅ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π² Π°Π½Π½ΠΎΡΠ°ΡΠΈΡΡ :
ΠΠΎΠ»Ρ, ΡΠΏΡΠ°Π²Π»ΡΠ΅ΠΌΡΠ΅ Π΄Π΅ΠΊΠ»Π°ΡΠ°ΡΠΈΠ²Π½ΡΠΌ ΡΡΠΎΠ²Π½Π΅ΠΌ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ. ΠΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΡΡΠΈΡ ΠΏΠΎΠ»Π΅ΠΉ Π² Π²ΠΈΠ΄Π΅ Π°Π½Π½ΠΎΡΠ°ΡΠΈΠΉ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΎΡΠ»ΠΈΡΠ°ΡΡ ΠΈΡ ΠΎΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ, ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½ΡΡ ΠΊΠ»ΠΈΠ΅Π½ΡΠ°ΠΌΠΈ ΠΈΠ»ΠΈ ΡΠ΅ΡΠ²Π΅ΡΠ°ΠΌΠΈ, Π° ΡΠ°ΠΊΠΆΠ΅ ΠΎΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΡΠ³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΡ ΠΏΠΎΠ»Π΅ΠΉ ΠΈ ΠΏΠΎΠ»Π΅ΠΉ, Π·Π°Π΄Π°Π½Π½ΡΡ ΡΠΈΡΡΠ΅ΠΌΠ°ΠΌΠΈ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΌΠ°ΡΡΡΠ°Π±ΠΈΡΠΎΠ²Π°Π½ΠΈΡ.
ΠΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΡΠ±ΠΎΡΠΊΠ΅, Π²ΡΠΏΡΡΠΊΠ΅ ΠΈΠ»ΠΈ ΠΎΠ±ΡΠ°Π·Π΅, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΌΠ΅ΡΠΊΠ° Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ, ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΡ Π²ΡΠΏΡΡΠΊΠ°, Π²Π΅ΡΠΊΠ° git, Π½ΠΎΠΌΠ΅ΡΠ° PR, Ρ Π΅ΡΠΈ ΠΎΠ±ΡΠ°Π·ΠΎΠ² ΠΈ Π°Π΄ΡΠ΅Ρ ΡΠ΅Π΅ΡΡΡΠ°.
Π‘ΡΡΠ»ΠΊΠΈ Π½Π° ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ Π»ΠΎΠ³ΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³Π°, Π°Π½Π°Π»ΠΈΡΠΈΠΊΠΈ ΠΈΠ»ΠΈ Π°ΡΠ΄ΠΈΡΠ°.
ΠΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ΅ ΠΈΠ»ΠΈ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ΅, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΌΠΎΠΆΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΠΏΡΠΈ ΠΎΡΠ»Π°Π΄ΠΊΠ΅ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΈΠΌΡ, Π²Π΅ΡΡΠΈΡ ΠΈ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΡΠ±ΠΎΡΠΊΠ΅).
ΠΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎΠ± ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΈΠ»ΠΈ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°/ΡΠΈΡΡΠ΅ΠΌΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, URL-Π°Π΄ΡΠ΅ΡΠ° ΡΠ²ΡΠ·Π°Π½Π½ΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² ΠΈΠ· Π΄ΡΡΠ³ΠΈΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ² ΡΠΊΠΎΡΠΈΡΡΠ΅ΠΌΡ.
ΠΠ΅Π±ΠΎΠ»ΡΡΠΈΠ΅ ΠΌΠ΅ΡΠ°Π΄Π°Π½Π½ΡΠ΅ ΡΠ°Π·Π²Π΅ΡΡΡΠ²Π°Π½ΠΈΡ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ ΠΈΠ»ΠΈ ΠΊΠΎΠ½ΡΡΠΎΠ»ΡΠ½ΡΠ΅ ΡΠΎΡΠΊΠΈ).
ΠΠΎΠΌΠ΅ΡΠ° ΡΠ΅Π»Π΅ΡΠΎΠ½ΠΎΠ² ΠΈΠ»ΠΈ ΠΏΠ΅ΠΉΠ΄ΠΆΠ΅ΡΠΎΠ² ΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΡΡ Π»ΠΈΡ ΠΈΠ»ΠΈ Π·Π°ΠΏΠΈΡΠΈ Π² ΡΠΏΡΠ°Π²ΠΎΡΠ½ΠΈΠΊΠ΅, Π² ΠΊΠΎΡΠΎΡΡΡ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡΠΈ Π½ΡΠΆΠ½ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠ°ΠΉΡ Π³ΡΡΠΏΠΏΡ.
ΠΠ½ΡΡΡΡΠΊΡΠΈΠΈ ΠΎΡ ΠΊΠΎΠ½Π΅ΡΠ½ΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ ΠΏΠΎ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΠ°Π±ΠΎΡΡ ΠΈΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π½Π΅ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΠΈ.
ΠΠΌΠ΅ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π°Π½Π½ΠΎΡΠ°ΡΠΈΠΉ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠΎΡ ΡΠ°Π½ΠΈΡΡ ΡΠ°ΠΊΠΎΠ³ΠΎ ΡΠΎΠ΄Π° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π²ΠΎ Π²Π½Π΅ΡΠ½Π΅ΠΉ Π±Π°Π·Π΅ Π΄Π°Π½Π½ΡΡ ΠΈΠ»ΠΈ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ, Ρ ΠΎΡΡ ΡΡΠΎ ΡΡΠ»ΠΎΠΆΠ½ΠΈΠ»ΠΎ Π±Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΎΠ±ΡΠΈΡ ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΠΈΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ ΠΈ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ² ΡΠ°Π·Π²Π΅ΡΡΡΠ²Π°Π½ΠΈΡ, ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ, ΡΠ°ΠΌΠΎΠ΄ΠΈΠ°Π³Π½ΠΎΡΡΠΈΠΊΠΈ ΠΈ Ρ.Π΄.
Π‘ΠΈΠ½ΡΠ°ΠΊΡΠΈΡ ΠΈ Π½Π°Π±ΠΎΡ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ²
ΠΡΠ΅ΡΠΈΠΊΡΡ kubernetes.io/ ΠΈ k8s.io/ Π·Π°ΡΠ΅Π·Π΅ΡΠ²ΠΈΡΠΎΠ²Π°Π½Ρ Π΄Π»Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΎΡΠ½ΠΎΠ²Π½ΡΠΌΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ°ΠΌΠΈ Kubernetes.
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π½ΠΈΠΆΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΎΠ½Π½ΡΠΉ ΡΠ°ΠΉΠ» ΠΎΠ±ΡΠ΅ΠΊΡΠ° Pod Ρ Π°Π½Π½ΠΎΡΠ°ΡΠΈΠ΅ΠΉ imageregistry: https://hub.docker.com/ :
Π§ΡΠΎ Π΄Π°Π»ΡΡΠ΅
Π‘Π΅Π»Π΅ΠΊΡΠΎΡΡ ΠΏΠΎΠ»Π΅ΠΉ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ Π²ΡΠ±ΠΈΡΠ°ΡΡ ΡΠ΅ΡΡΡΡΡ Kubernetes, ΠΈΡΡ ΠΎΠ΄Ρ ΠΈΠ· Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ»ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΠΏΠΎΠ»Π΅ΠΉ ΡΠ΅ΡΡΡΡΠΎΠ². ΠΠΈΠΆΠ΅ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠ² Π·Π°ΠΏΡΠΎΡΠΎΠ² ΡΠ΅Π»Π΅ΠΊΡΠΎΡΠΎΠ² ΠΏΠΎΠ»Π΅ΠΉ:
Π‘Π»Π΅Π΄ΡΡΡΠ°Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π° kubectl Π²ΡΠ±ΠΈΡΠ°Π΅Ρ Π²ΡΠ΅ Pod-ΠΎΠ±ΡΠ΅ΠΊΡΡ, Π² ΠΊΠΎΡΠΎΡΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎΠ»Ρ status.phase ΡΠ°Π²Π½ΠΎ Running :
ΠΠΎ ΡΡΡΠΈ, ΡΠ΅Π»Π΅ΠΊΡΠΎΡΡ ΠΏΠΎΠ»Π΅ΠΉ ΡΠ²Π»ΡΡΡΡΡ ΡΠΈΠ»ΡΡΡΠ°ΠΌΠΈ ΡΠ΅ΡΡΡΡΠΎΠ². ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π½Π΅Ρ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½ΡΡ ΡΠ΅Π»Π΅ΠΊΡΠΎΡΠΎΠ²/ΡΠΈΠ»ΡΡΡΠΎΠ², ΠΏΠΎΡΡΠΎΠΌΡ Π²ΡΠ±ΠΈΡΠ°ΡΡΡΡ ΡΠ΅ΡΡΡΡΡ Π²ΡΠ΅Ρ ΡΠΈΠΏΠΎΠ². ΠΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ Π΄Π²Π° Π·Π°ΠΏΡΠΎΡΠ° kubectl Π½ΠΈΠΆΠ΅ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ:
ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΠΌΡΠ΅ ΠΏΠΎΠ»Ρ
ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΠΌΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΡ
Π‘ΠΎΡΡΠ°Π²Π½ΡΠ΅ ΡΠ΅Π»Π΅ΠΊΡΠΎΡΡ
ΠΠ½ΠΎΠΆΠ΅ΡΡΠ²Π΅Π½Π½ΡΠ΅ ΡΠΈΠΏΡ ΡΠ΅ΡΡΡΡΠΎΠ²
ΠΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ΅Π»Π΅ΠΊΡΠΎΡΡ ΠΏΠΎΠ»Π΅ΠΉ Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΠΌΠΈ ΡΠΈΠΏΠ°ΠΌΠΈ ΡΠ΅ΡΡΡΡΠΎΠ² ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ. ΠΠΎΠΌΠ°Π½Π΄Π° kubectl Π²ΡΠ±ΠΈΡΠ°Π΅Ρ Π²ΡΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΡ StatefulSet ΠΈ Services, Π½Π΅ Π²ΠΊΠ»ΡΡΠ΅Π½Π½ΡΠ΅ Π² ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ ΠΈΠΌΠ΅Π½ default :
ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π²ΠΈΠ·ΡΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ ΠΈ ΡΠΏΡΠ°Π²Π»ΡΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ°ΠΌΠΈ Kubernetes Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ Ρ ΠΏΠΎΠΌΠΎΡΡΡ kubectl ΠΈ ΠΏΠ°Π½Π΅Π»ΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ. Π‘ ΠΏΠΎΠΌΠΎΡΡΡ Π΅Π΄ΠΈΠ½ΠΎΠ³ΠΎ Π½Π°Π±ΠΎΡΠ° ΠΌΠ΅ΡΠΎΠΊ ΠΌΠΎΠΆΠ½ΠΎ Π΅Π΄ΠΈΠ½ΠΎΠΎΠ±ΡΠ°Π·Π½ΠΎ ΠΎΠΏΠΈΡΡΠ²Π°ΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΡ, ΡΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°ΠΌ ΡΠΎΠ³Π»Π°ΡΠΎΠ²Π°Π½Π½ΠΎ ΡΠ°Π±ΠΎΡΠ°ΡΡ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠΎΠ±ΠΎΠΉ.
Π Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΠΌ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°ΠΌ, ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΠΌΡΠΉ Π½Π°Π±ΠΎΡ ΠΌΠ΅ΡΠΎΠΊ ΠΎΠΏΠΈΡΡΠ²Π°ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π² ΡΠΎΠΌ Π²ΠΈΠ΄Π΅, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΠΎΠ½ΠΈ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΠΏΠΎΠ»ΡΡΠ΅Π½Ρ.
ΠΠ΅ΡΠ°Π΄Π°Π½Π½ΡΠ΅ ΡΠΎΡΡΠ΅Π΄ΠΎΡΠΎΡΠ΅Π½Ρ Π½Π° ΠΏΠΎΠ½ΡΡΠΈΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅. Kubernetes β ΡΡΠΎ Π½Π΅ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ° ΠΊΠ°ΠΊ ΡΡΠ»ΡΠ³Π° (PaaS), ΠΏΠΎΡΡΠΎΠΌΡ Π½Π΅ Π·Π°ΠΊΡΠ΅ΠΏΠ»ΡΠ΅Ρ ΡΠΎΡΠΌΠ°Π»ΡΠ½ΠΎΠ΅ ΠΏΠΎΠ½ΡΡΠΈΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. ΠΠΌΠ΅ΡΡΠΎ ΡΡΠΎΠ³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΡΠ²Π»ΡΡΡΡΡ Π½Π΅ΡΠΎΡΠΌΠ°Π»ΡΠ½ΡΠΌΠΈ ΠΈ ΠΎΠΏΠΈΡΡΠ²Π°ΡΡΡΡ ΡΠ΅ΡΠ΅Π· ΠΌΠ΅ΡΠ°Π΄Π°Π½Π½ΡΠ΅. ΠΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ ΡΠ°ΡΠΏΠ»ΡΠ²ΡΠ°ΡΠΎΠ΅.
ΠΠ΅ΡΠΊΠΈ
Π§ΡΠΎΠ±Ρ ΠΈΠ·Π²Π»Π΅ΡΡ ΠΌΠ°ΠΊΡΠΈΠΌΡΠΌ ΠΏΠΎΠ»ΡΠ·Ρ ΠΎΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΡΠ°ΠΊΠΈΡ ΠΌΠ΅ΡΠΎΠΊ, ΠΎΠ½ΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ Π΄ΠΎΠ±Π°Π²Π»ΡΡΡΡΡ ΠΊ ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡ ΡΠ΅ΡΡΡΡΠ½ΠΎΠΌΡ ΠΎΠ±ΡΠ΅ΠΊΡΡ.
| ΠΠ»ΡΡ | ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ | ΠΡΠΈΠΌΠ΅Ρ | Π’ΠΈΠΏ |
|---|---|---|---|
| app.kubernetes.io/name | ΠΠΌΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ | mysql | string |
| app.kubernetes.io/instance | Π£Π½ΠΈΠΊΠ°Π»ΡΠ½ΠΎΠ΅ ΠΈΠΌΡ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠ° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ | wordpress-abcxzy | string |
| app.kubernetes.io/version | Π’Π΅ΠΊΡΡΠ°Ρ Π²Π΅ΡΡΠΈΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠ΅ΠΌΠ°Π½ΡΠΈΡΠ΅ΡΠΊΠ°Ρ Π²Π΅ΡΡΠΈΡ, Ρ Π΅Ρ ΠΊΠΎΠΌΠΌΠΈΡΠ° ΠΈ Ρ.Π΄.) | 5.7.21 | string |
| app.kubernetes.io/component | ΠΠΌΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ° Π² Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ΅ | database | string |
| app.kubernetes.io/part-of | ΠΠΌΡ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠ³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΡΠ°ΡΡΡΡ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ΅ΠΊΡΡΠΈΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ | wordpress | string |
| app.kubernetes.io/managed-by | ΠΠ½ΡΡΡΡΠΌΠ΅Π½Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ | helm | string |
ΠΠ»Ρ Π΄Π΅ΠΌΠΎΠ½ΡΡΡΠ°ΡΠΈΠΈ ΡΡΠΈΡ ΠΌΠ΅ΡΠΎΠΊ, ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ StatefulSet :
ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΈ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ
ΠΠ΄Π½ΠΎ ΠΈ ΡΠΎ ΠΆΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΎ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ°Π· Π² ΠΊΠ»Π°ΡΡΠ΅Ρ Kubernetes, Π² ΡΡΠ΄Π΅ ΡΠ»ΡΡΠ°Π΅Π² β Π² ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎΠ΅ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ ΠΈΠΌΠ΅Π½. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, WordPress ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ Π±ΠΎΠ»Π΅Π΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠ°Π·Π°, ΡΠΎΠ³Π΄Π° ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΈΠ· ΡΠ°ΠΉΡΠΎΠ² Π±ΡΠ΄Π΅Ρ ΠΈΠΌΠ΅ΡΡ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠΉ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½ΡΠΉ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ WordPress.
ΠΡΠΈΠΌΠ΅ΡΡ
Π‘Π»Π΅Π΄ΡΡΡΠΈΠ΅ ΠΏΡΠΈΠΌΠ΅ΡΡ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°ΡΡ ΡΠ°Π·Π½ΡΠ΅ ΡΠΏΠΎΡΠΎΠ±Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΎΠ±ΡΠΈΡ ΠΌΠ΅ΡΠΎΠΊ, ΠΏΠΎΡΡΠΎΠΌΡ ΠΎΠ½ΠΈ ΡΠ°Π·Π»ΠΈΡΠ°ΡΡΡΡ ΠΏΠΎ ΡΡΠ΅ΠΏΠ΅Π½ΠΈ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΠΈ.
ΠΡΠΎΡΡΠΎΠΉ ΡΠ΅ΡΠ²ΠΈΡ Π±Π΅Π· ΡΠΎΡΡΠΎΡΠ½ΠΈΡ
ΠΠ±ΡΠ΅ΠΊΡ Deployment ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ Π½Π°Π±Π»ΡΠ΄Π΅Π½ΠΈΡ Π·Π° ΠΏΠΎΠ΄Π°ΠΌΠΈ, Π½Π° ΠΊΠΎΡΠΎΡΡΡ Π·Π°ΠΏΡΡΠ΅Π½ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅.
ΠΠ±ΡΠ΅ΠΊΡ Service ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΠΎΡΠΊΡΡΡΠΈΡ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ.
ΠΠ΅Π±-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Ρ Π±Π°Π·ΠΎΠΉ Π΄Π°Π½Π½ΡΡ
Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ ΡΠ»ΡΡΠ°ΠΉ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎΡΠ»ΠΎΠΆΠ½Π΅Π΅: Π²Π΅Π±-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ (WordPress), ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ (MySQL), ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½ΠΎΠ΅ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Helm. Π ΡΠ»Π΅Π΄ΡΡΡΠΈΡ ΡΡΠ°Π³ΠΌΠ΅Π½ΡΠΎΠ² ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½Π° ΠΎΡΠΏΡΠ°Π²Π½Π°Ρ ΡΠΎΡΠΊΠ° ΡΠ°Π·Π²Π΅ΡΡΡΠ²Π°Π½ΠΈΡ ΡΠ°ΠΊΠΎΠ³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ.
Π‘Π»Π΅Π΄ΡΡΡΠΈΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ Deployment ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ WordPress:
ΠΠ±ΡΠ΅ΠΊΡ Service ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΠΎΡΠΊΡΡΡΠΈΡ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ WordPress:
MySQL ΠΎΡΠΊΡΡΠ²Π°Π΅ΡΡΡ Π² Π²ΠΈΠ΄Π΅ StatefulSet Ρ ΠΌΠ΅ΡΠ°Π΄Π°Π½Π½ΡΠΌΠΈ ΠΊΠ°ΠΊ Π΄Π»Ρ ΡΠ°ΠΌΠΎΠ³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΡΠ°ΠΊ ΠΈ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠ³ΠΎ (ΡΠΎΠ΄ΠΈΡΠ΅Π»ΡΡΠΊΠΎΠ³ΠΎ) ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΠΊ ΠΊΠΎΡΠΎΡΠΎΠΌΡ ΠΏΡΠΈΠ½Π°Π΄Π»Π΅ΠΆΠΈΡ Π‘Π£ΠΠ:
ΠΠ±ΡΠ΅ΠΊΡ Service ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ MySQL Π² ΡΠΎΡΡΠ°Π²Π΅ WordPress:
ΠΡ Π·Π°ΠΌΠ΅ΡΠΈΡΠ΅, ΡΡΠΎ StatefulSet ΠΈ Service MySQL ΡΠΎΠ΄Π΅ΡΠΆΠ°Ρ Π±ΠΎΠ»ΡΡΠ΅ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΎ MySQL ΠΈ WordPress.
