ΠΠ°Π±Π΅Π»Π΅ΠΆΠΊΠ°. ΠΏΡΠ΅Π²ΠΎΠ΄: ΠΠ²ΡΠΎΡΡΡ Π½Π° ΠΎΡΠΈΠ³ΠΈΠ½Π°Π»Π½Π°ΡΠ° ΡΡΠ°ΡΠΈΡ Π΅ ThΓ©o Chamley, Google Cloud Solutions Architect. Π ΡΠ°Π·ΠΈ ΠΏΡΠ±Π»ΠΈΠΊΠ°ΡΠΈΡ Π·Π° Π±Π»ΠΎΠ³Π° Π½Π° Google Cloud ΡΠΎΠΉ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Ρ ΡΠ΅Π·ΡΠΌΠ΅ Π½Π° ΠΏΠΎ-ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎΡΠΎ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎ Π½Π° ΡΠ²ΠΎΡΡΠ° ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΡ, Π½Π°ΡΠ΅ΡΠ΅Π½ΠΎ "
Π ΡΠ°Π·ΠΈ ΡΡΠ°ΡΠΈΡ ΡΠ΅ ΠΏΡΠ΅Π³Π»Π΅Π΄Π°ΠΌΠ΅ ΡΠΏΠΈΡΡΠΊ Ρ Π½Π΅ΡΠ°, ΠΊΠΎΠΈΡΠΎ ΡΡΡΠ±Π²Π° Π΄Π° Π·Π½Π°Π΅ΡΠ΅ ΠΈ ΠΏΡΠ°Π²ΠΈΡΠ΅, Π·Π° Π΄Π° ΡΡΠ°ΡΡΠΈΡΠ°ΡΠ΅ Π΅ΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΈ Π² Kubernetes. Π’Π΅Π·ΠΈ, ΠΊΠΎΠΈΡΠΎ ΠΆΠ΅Π»Π°ΡΡ Π΄Π° Π½Π°Π²Π»ΡΠ·Π°Ρ ΠΏΠΎ-Π΄ΡΠ»Π±ΠΎΠΊΠΎ Π² Π΄Π΅ΡΠ°ΠΉΠ»ΠΈΡΠ΅, ΡΡΡΠ±Π²Π° Π΄Π° ΠΏΡΠΎΡΠ΅ΡΠ°Ρ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»Π°
1. ΠΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΡΠ΅ Π΅ΡΡΠ΅ΡΡΠ²Π΅Π½ΠΈ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠΈ Π·Π° ΡΠ΅Π³ΠΈΡΡΡΠΈΡΠ°Π½Π΅ Π½Π° ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΈ
ΠΠΊΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ ΡΠ°Π±ΠΎΡΠΈ Π½Π° Kubernetes ΠΊΠ»ΡΡΡΠ΅Ρ, Π½Π΅ Π΅ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ ΠΌΠ½ΠΎΠ³ΠΎ Π·Π° ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΠΎΠ½Π½ΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅. Π¦Π΅Π½ΡΡΠ°Π»ΠΈΠ·ΠΈΡΠ°Π½Π°ΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ° Π·Π° ΡΠ΅Π³ΠΈΡΡΡΠΈΡΠ°Π½Π΅ Π²Π΅ΡΠΎΡΡΠ½ΠΎ Π²Π΅ΡΠ΅ Π΅ Π²Π³ΡΠ°Π΄Π΅Π½Π° Π² ΠΊΠ»ΡΡΡΠ΅ΡΠ°, ΠΊΠΎΠΉΡΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΡΠ΅. Π ΡΠ»ΡΡΠ°ΠΉ Π½Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° Kubernetes Engine, ΡΠΎΠ²Π° Π΅ ΠΎΡΠ³ΠΎΠ²ΠΎΡΠ½ΠΎ
ΠΠΊΠΎ ΠΆΠ΅Π»Π°Π΅ΡΠ΅, ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΡΡΠΎ Π΄Π° ΠΏΠΈΡΠ΅ΡΠ΅ ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΠΎΠ½Π½ΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ Π½Π°
2. Π£Π²Π΅ΡΠ΅ΡΠ΅ ΡΠ΅, ΡΠ΅ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΈΡΠ΅ ΡΠ° Π±Π΅Π· ΡΡΡΡΠΎΡΠ½ΠΈΠ΅ ΠΈ Π½Π΅ΠΈΠ·ΠΌΠ΅Π½Π½ΠΈ
ΠΠ° Π΄Π° ΡΡΠ½ΠΊΡΠΈΠΎΠ½ΠΈΡΠ°Ρ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΈΡΠ΅ ΠΏΡΠ°Π²ΠΈΠ»Π½ΠΎ Π² ΠΊΠ»ΡΡΡΠ΅Ρ Π½Π° Kubernetes, ΡΠ΅ ΡΡΡΠ±Π²Π° Π΄Π° ΡΠ° Π±Π΅Π· ΡΡΡΡΠΎΡΠ½ΠΈΠ΅ ΠΈ Π½Π΅ΠΈΠ·ΠΌΠ΅Π½Π½ΠΈ. Π‘Π»Π΅Π΄ ΠΊΠ°ΡΠΎ ΡΠ΅Π·ΠΈ ΡΡΠ»ΠΎΠ²ΠΈΡ ΡΠ° ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈ, Kubernetes ΠΌΠΎΠΆΠ΅ Π΄Π° Π²ΡΡΡΠΈ ΡΠ°Π±ΠΎΡΠ°ΡΠ° ΡΠΈ, ΡΡΠ·Π΄Π°Π²Π°ΠΉΠΊΠΈ ΠΈ ΡΠ½ΠΈΡΠΎΠΆΠ°Π²Π°ΠΉΠΊΠΈ ΠΎΠ±Π΅ΠΊΡΠΈ Π½Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΠΊΠΎΠ³Π°ΡΠΎ ΠΈ ΠΊΡΠ΄Π΅ΡΠΎ Π΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ.
Π±Π΅Π· ΠΏΠΎΠ΄Π°Π½ΡΡΠ²ΠΎ ΠΎΠ·Π½Π°ΡΠ°Π²Π°, ΡΠ΅ Π²ΡΡΠΊΠΎ ΡΡΡΡΠΎΡΠ½ΠΈΠ΅ (ΠΏΠΎΡΡΠΎΡΠ½Π½ΠΈ Π΄Π°Π½Π½ΠΈ ΠΎΡ Π²ΡΡΠΊΠ°ΠΊΡΠ² Π²ΠΈΠ΄) ΡΠ΅ ΡΡΡ
ΡΠ°Π½ΡΠ²Π° ΠΈΠ·Π²ΡΠ½ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ°. ΠΠ° ΡΠΎΠ²Π°, Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ ΠΎΡ Π½ΡΠΆΠ΄ΠΈΡΠ΅, ΠΌΠΎΠ³Π°Ρ Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ Π²ΠΈΠ΄ΠΎΠ²Π΅ Π²ΡΠ½ΡΠ½ΠΈ ΠΏΠ°ΠΌΠ΅ΡΠΈ:
Π½Π΅ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ ΠΎΠ·Π½Π°ΡΠ°Π²Π°, ΡΠ΅ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΡΡ Π½ΡΠΌΠ° Π΄Π° Π±ΡΠ΄Π΅ ΠΌΠΎΠ΄ΠΈΡΠΈΡΠΈΡΠ°Π½ ΠΏΡΠ΅Π· ΡΠ΅Π»ΠΈΡ ΡΠΈ ΠΆΠΈΠ²ΠΎΡ: Π½ΡΠΌΠ° Π°ΠΊΡΡΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ, ΠΊΠΎΡΠ΅ΠΊΡΠΈΠΈ, ΠΏΡΠΎΠΌΠ΅Π½ΠΈ Π² ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡΡΠ°. ΠΠΊΠΎ ΡΡΡΠ±Π²Π° Π΄Π° Π°ΠΊΡΡΠ°Π»ΠΈΠ·ΠΈΡΠ°ΡΠ΅ ΠΊΠΎΠ΄Π° Π½Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ ΡΠΈ ΠΈΠ»ΠΈ Π΄Π° ΠΏΡΠΈΠ»ΠΎΠΆΠΈΡΠ΅ ΠΊΠΎΡΠ΅ΠΊΡΠΈΡ, ΡΡΠ·Π΄Π°ΠΉΡΠ΅ Π½ΠΎΠ²ΠΎ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΠΈ Π³ΠΎ ΡΠ°Π·ΠΏΠΎΠ»ΠΎΠΆΠ΅ΡΠ΅. ΠΡΠ΅ΠΏΠΎΡΡΡΠΈΡΠ΅Π»Π½ΠΎ Π΅ Π΄Π° ΠΏΡΠ΅ΠΌΠ΅ΡΡΠΈΡΠ΅ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡΡΠ° Π½Π° ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ° (ΠΏΠΎΡΡ Π·Π° ΡΠ»ΡΡΠ°Π½Π΅, ΠΎΠΏΡΠΈΠΈ Π·Π° ΡΡΠ΅Π΄Π° Π·Π° ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ ΠΈ Ρ.Π½.) Π²ΡΠ½ΡΠ½ΠΎ - ΠΊΡΠΌ
ΠΡΠΈΠΌΠ΅Ρ Π·Π° Π°ΠΊΡΡΠ°Π»ΠΈΠ·ΠΈΡΠ°Π½Π΅ Π½Π° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡΡΠ° Π·Π° ΡΠ°Π·ΠΏΠΎΠ»Π°Π³Π°Π½Π΅ Π² Kubernetes Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° ConfigMap, ΠΌΠΎΠ½ΡΠΈΡΠ°Π½ Π² pods ΠΊΠ°ΡΠΎ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ
3. ΠΠ·Π±ΡΠ³Π²Π°ΠΉΡΠ΅ ΠΏΡΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΡΠΎΠ²Π°Π½ΠΈΡΠ΅ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΈ
ΠΠΈΠ΅ Π½Π΅ ΡΡΠ°ΡΡΠΈΡΠ°ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΊΠ°ΡΠΎ root Π½Π° Π²Π°ΡΠΈΡΠ΅ ΡΡΡΠ²ΡΡΠΈ, Π½Π°Π»ΠΈ? ΠΠΊΠΎ Π½Π°ΠΏΠ°Π΄Π°ΡΠ΅Π» Π²Π»Π΅Π·Π΅ Π² ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ, ΡΠΎΠΉ ΡΠ΅ ΠΏΠΎΠ»ΡΡΠΈ root Π΄ΠΎΡΡΡΠΏ. Π‘ΡΡΠΈΡΠ΅ ΡΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ ΡΠ΅ ΠΎΡΠ½Π°ΡΡΡ ΠΈ Π·Π° Π½Π΅ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ Π½Π° ΠΏΡΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΡΠΎΠ²Π°Π½ΠΈ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΈ. ΠΠΊΠΎ ΡΡΡΠ±Π²Π° Π΄Π° ΠΏΡΠΎΠΌΠ΅Π½ΠΈΡΠ΅ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈΡΠ΅ Π½Π° Ρ
ΠΎΡΡΠ°, ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° Π΄Π°Π΄Π΅ΡΠ΅ ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ΅Π½ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΠΊΠΈ ΠΎΠΏΡΠΈΡΡΠ° securityContext
ΠΠΊΠΎ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠΈΡΠ°ΡΠ΅ ΠΊΠ»ΡΡΡΠ΅Ρ, ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΡΠ΅
4. ΠΠ·Π±ΡΠ³Π²Π°ΠΉΡΠ΅ Π΄Π° ΡΡΠ°ΡΡΠΈΡΠ°ΡΠ΅ ΠΊΠ°ΡΠΎ root
ΠΡΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΡΠΎΠ²Π°Π½ΠΈΡΠ΅ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΈ Π²Π΅ΡΠ΅ Π±ΡΡ Π° ΠΎΠ±ΡΡΠ΄Π΅Π½ΠΈ, Π½ΠΎ ΡΠ΅ Π±ΡΠ΄Π΅ ΠΎΡΠ΅ ΠΏΠΎ-Π΄ΠΎΠ±ΡΠ΅, Π°ΠΊΠΎ Π² Π΄ΠΎΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊΡΠΌ ΡΠΎΠ²Π° Π½Π΅ ΡΡΠ°ΡΡΠΈΡΠ°ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π²ΡΡΡΠ΅ Π² ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ° ΠΊΠ°ΡΠΎ root. ΠΠΊΠΎ Ρ Π°ΠΊΠ΅Ρ ΠΎΡΠΊΡΠΈΠ΅ ΠΎΡΠ΄Π°Π»Π΅ΡΠ΅Π½Π° ΡΡΠ·Π²ΠΈΠΌΠΎΡΡ Π² ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Ρ root ΠΏΡΠ°Π²Π°, ΠΊΠΎΠ΅ΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ Π½Π° ΠΊΠΎΠ΄, ΡΠ»Π΅Π΄ ΠΊΠΎΠ΅ΡΠΎ ΡΠΎΠΉ ΠΌΠΎΠΆΠ΅ Π΄Π° Π½Π°ΠΏΡΡΠ½Π΅ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ° ΡΡΠ΅Π· Π²ΡΠ΅ ΠΎΡΠ΅ Π½Π΅ΠΈΠ·Π²Π΅ΡΡΠ½Π° ΡΡΠ·Π²ΠΈΠΌΠΎΡΡ, ΡΠΎΠΉ ΡΠ΅ ΠΏΠΎΠ»ΡΡΠΈ root Π½Π° Ρ ΠΎΡΡΠ°.
ΠΠ°ΠΉ-Π΄ΠΎΠ±ΡΠΈΡΡ Π½Π°ΡΠΈΠ½ Π΄Π° ΠΈΠ·Π±Π΅Π³Π½Π΅ΡΠ΅ ΡΠΎΠ²Π° Π΅ Π΄Π° Π½Π΅ ΡΡΠ°ΡΡΠΈΡΠ°ΡΠ΅ Π½ΠΈΡΠΎ ΠΊΠ°ΡΠΎ root Π½Π° ΠΏΡΡΠ²ΠΎ ΠΌΡΡΡΠΎ. ΠΠ° Π΄Π° Π½Π°ΠΏΡΠ°Π²ΠΈΡΠ΅ ΡΠΎΠ²Π°, ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΡΠ΅ Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Π°ΡΠ° USER
Π² Dockerfile
ΠΈΠ»ΠΈ runAsUser
Π² Kubernetes. ΠΠ΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΡΡ Π½Π° ΠΊΠ»ΡΡΡΠ΅ΡΠ° ΠΌΠΎΠΆΠ΅ ΡΡΡΠΎ Π΄Π° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠ° ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ΡΠΎ Π½Π° ΠΏΡΠΈΠ»Π°Π³Π°Π½Π΅, ΠΊΠ°ΡΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°
5. ΠΠ°ΠΏΡΠ°Π²Π΅ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ Π»Π΅ΡΠ½ΠΎ Π·Π° Π½Π°Π±Π»ΡΠ΄Π΅Π½ΠΈΠ΅
ΠΠΎΠ΄ΠΎΠ±Π½ΠΎ Π½Π° ΡΠ΅Π³ΠΈΡΡΡΠΈΡΠ°Π½Π΅ΡΠΎ, Π½Π°Π±Π»ΡΠ΄Π΅Π½ΠΈΠ΅ΡΠΎ Π΅ Π½Π΅ΡΠ°Π·Π΄Π΅Π»Π½Π° ΡΠ°ΡΡ ΠΎΡ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ΡΠΎ Π½Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΡΠ°. ΠΠΎΠΏΡΠ»ΡΡΠ½ΠΎ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Π·Π° Π½Π°Π±Π»ΡΠ΄Π΅Π½ΠΈΠ΅ Π² ΠΎΠ±ΡΠ½ΠΎΡΡΡΠ° Π½Π° Kubernetes Π΅
Π’Π°Π±Π»ΠΎ Π·Π° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° Kubernetes Π½Π° Stackdriver
Prometheus ΠΎΡΠ°ΠΊΠ²Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ Π΄Π° ΠΏΡΠ΅ΠΏΡΠ°ΡΠ° ΠΏΠΎΠΊΠ°Π·Π°ΡΠ΅Π»ΠΈ ΠΊΡΠΌ ΠΊΡΠ°ΠΉΠ½Π°ΡΠ° ΡΠΎΡΠΊΠ° Π½Π° HTTP. ΠΠ° ΡΠ°Π·ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π·Π° ΡΠΎΠ²Π°
6. ΠΠ°ΠΏΡΠ°Π²Π΅ΡΠ΅ Π·Π΄ΡΠ°Π²Π½ΠΈΡ ΡΡΠ°ΡΡΡ Π½Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ Π΄ΠΎΡΡΡΠΏΠ΅Π½
Π£ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ΡΠΎ Π½Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π² ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΠ²ΠΎΡΠΎ ΡΠ΅ ΠΏΠΎΠ΄ΠΏΠΎΠΌΠ°Π³Π° ΠΎΡ ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡΡΠ° ΠΌΡ Π΄Π° ΡΡΠΎΠ±ΡΠ°Π²Π° ΡΡΡΡΠΎΡΠ½ΠΈΠ΅ΡΠΎ ΡΠΈ Π½Π° ΡΡΠ»Π°ΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ°. Π Π°Π±ΠΎΡΠΈ Π»ΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ? ΠΠΎΠ±ΡΠ΅ Π»ΠΈ Π΅? ΠΠΎΡΠΎΠ²ΠΈ Π»ΠΈ ΡΡΠ΅ Π΄Π° ΠΏΠΎΠ»ΡΡΠ°Π²Π°ΡΠ΅ ΡΡΠ°ΡΠΈΠΊ? ΠΠ°ΠΊ ΡΠ΅ Π΄ΡΡΠΆΠΈ? ΠΠ°ΠΉ-ΡΠ΅ΡΡΠΈΡΡ Π½Π°ΡΠΈΠ½ Π·Π° ΡΠ΅ΡΠ°Π²Π°Π½Π΅ Π½Π° ΡΠΎΠ·ΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌ Π΅ ΠΏΡΠΈΠ»Π°Π³Π°Π½Π΅ΡΠΎ Π½Π° ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ Π½Π° Π·Π΄ΡΠ°Π²Π΅ΡΠΎ (Π·Π΄ΡΠ°Π²Π½ΠΈ ΠΏΡΠ΅Π³Π»Π΅Π΄ΠΈ). Kubernetes ΠΈΠΌΠ° Π΄Π²Π° Π²ΠΈΠ΄Π°:
ΠΠ° ΡΠΎΠ½Π΄Π° Π·Π° ΠΎΠΆΠΈΠ²Π»Π΅Π½ΠΈΠ΅ (ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ Π½Π° ΠΆΠΈΠ·Π½Π΅Π½ΠΎΡΡΡΠ°) ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ ΡΡΡΠ±Π²Π° Π΄Π° ΠΈΠΌΠ° HTTP ΠΊΡΠ°ΠΉΠ½Π° ΡΠΎΡΠΊΠ°, ΠΊΠΎΡΡΠΎ Π²ΡΡΡΠ° ΠΎΡΠ³ΠΎΠ²ΠΎΡ "200 OK", Π°ΠΊΠΎ Π΅ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π½Π° ΠΈ Π½Π΅ΠΉΠ½ΠΈΡΠ΅ ΠΎΡΠ½ΠΎΠ²Π½ΠΈ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΡΠ° ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈ. ΠΠ° ΡΠΎΠ½Π΄Π° Π·Π° Π³ΠΎΡΠΎΠ²Π½ΠΎΡΡ (ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ Π½Π° ΡΠ΅ΡΠ²ΠΈΠ·Π½Π°ΡΠ° Π³ΠΎΡΠΎΠ²Π½ΠΎΡΡ) ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ ΡΡΡΠ±Π²Π° Π΄Π° ΠΈΠΌΠ° Π΄ΡΡΠ³Π° ΠΊΡΠ°ΠΉΠ½Π° ΡΠΎΡΠΊΠ° Π½Π° HTTP, ΠΊΠΎΡΡΠΎ Π²ΡΡΡΠ° ΠΎΡΠ³ΠΎΠ²ΠΎΡ β200 OKβ, Π°ΠΊΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ Π΅ Π² Π΄ΠΎΠ±ΡΠΎ ΡΡΡΡΠΎΡΠ½ΠΈΠ΅, ΡΡΡΠΏΠΊΠΈΡΠ΅ Π·Π° ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ ΡΠ° Π·Π°Π²ΡΡΡΠ΅Π½ΠΈ ΠΈ Π²ΡΡΠΊΠ° Π²Π°Π»ΠΈΠ΄Π½Π° Π·Π°ΡΠ²ΠΊΠ° Π½Π΅ Π²ΠΎΠ΄ΠΈ Π΄ΠΎ Π³ΡΠ΅ΡΠΊΠ°. Kubernetes ΡΠ΅ Π½Π°ΡΠΎΡΠ²Π° ΡΡΠ°ΡΠΈΠΊΠ° ΠΊΡΠΌ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ° ΡΠ°ΠΌΠΎ Π°ΠΊΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ Π΅ Π³ΠΎΡΠΎΠ²ΠΎ ΡΠΏΠΎΡΠ΅Π΄ ΡΠ΅Π·ΠΈ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ. ΠΠ²Π΅ ΠΊΡΠ°ΠΉΠ½ΠΈ ΡΠΎΡΠΊΠΈ ΠΌΠΎΠ³Π°Ρ Π΄Π° Π±ΡΠ΄Π°Ρ ΠΎΠ±Π΅Π΄ΠΈΠ½Π΅Π½ΠΈ, Π°ΠΊΠΎ Π½ΡΠΌΠ° ΡΠ°Π·Π»ΠΈΠΊΠ° ΠΌΠ΅ΠΆΠ΄Ρ ΡΡΡΡΠΎΡΠ½ΠΈΡΡΠ° Π½Π° ΠΆΠΈΠ·Π½Π΅Π½ΠΎΡΡ ΠΈ Π³ΠΎΡΠΎΠ²Π½ΠΎΡΡ.
ΠΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΠΏΡΠΎΡΠ΅ΡΠ΅ΡΠ΅ ΠΏΠΎΠ²Π΅ΡΠ΅ Π·Π° ΡΠΎΠ²Π° Π² ΡΠ²ΡΡΠ·Π°Π½Π°ΡΠ° ΡΡΠ°ΡΠΈΡ ΠΎΡ Sandeep Dinesh, Π·Π°ΡΠΈΡΠ½ΠΈΠΊ Π½Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈΡΠ΅ ΠΎΡ Google: β
7. ΠΠ·Π±Π΅ΡΠ΅ΡΠ΅ Π²Π½ΠΈΠΌΠ°ΡΠ΅Π»Π½ΠΎ Π²Π°ΡΠ°ΡΠ° Π²Π΅ΡΡΠΈΡ Π½Π° ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ
ΠΠΎΠ²Π΅ΡΠ΅ΡΠΎ ΠΏΡΠ±Π»ΠΈΡΠ½ΠΈ ΠΈ ΡΠ°ΡΡΠ½ΠΈ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ ΡΠΈΡΡΠ΅ΠΌΠ° Π·Π° ΠΌΠ°ΡΠΊΠΈΡΠ°Π½Π΅, ΠΏΠΎΠ΄ΠΎΠ±Π½Π° Π½Π° ΠΎΠΏΠΈΡΠ°Π½Π°ΡΠ° Π² latest
ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΌΠ΅ΡΡΠΈ ΡΠ΅ΡΡΠΎ ΠΎΡ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Π½Π° ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ - Π½Π΅ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΡΠ°Π·ΡΠΈΡΠ°, Π°ΠΊΠΎ ΠΈΠΌΠ°ΡΠ΅ Π½ΡΠΆΠ΄Π° ΠΎΡ ΠΏΡΠ΅Π΄ΡΠΊΠ°Π·ΡΠ΅ΠΌΠΈ ΠΈ ΠΏΠΎΠ²ΡΠ°ΡΡΡΠΈ ΡΠ΅ ΠΊΠΎΠΌΠΏΠΈΠ»Π°ΡΠΈΠΈ ΠΈ ΠΈΠ½ΡΡΠ°Π»Π°ΡΠΈΠΈ.
ΠΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΡΠ΅ Π΅ΡΠΈΠΊΠ΅ΡΠ° X.Y.Z
(ΡΠ΅ ΠΏΠΎΡΡΠΈ Π²ΠΈΠ½Π°Π³ΠΈ ΡΠ° Π½Π΅ΠΏΡΠΎΠΌΠ΅Π½Π΅Π½ΠΈ), Π½ΠΎ Π² ΡΠΎΠ·ΠΈ ΡΠ»ΡΡΠ°ΠΉ ΡΠ»Π΅Π΄Π΅ΡΠ΅ Π²ΡΠΈΡΠΊΠΈ ΠΊΠΎΡΠ΅ΠΊΡΠΈΠΈ ΠΈ Π°ΠΊΡΡΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π½Π° ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ. ΠΠΊΠΎ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ, ΠΊΠΎΠ΅ΡΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΡΠ΅, ΠΈΠΌΠ° Π΅ΡΠΈΠΊΠ΅Ρ X.Y
, ΡΠΎΠ²Π° Π΅ Π΄ΠΎΠ±ΡΡ Π²Π°ΡΠΈΠ°Π½Ρ Π·Π° Π·Π»Π°ΡΠ½Π°ΡΠ° ΡΡΠ΅Π΄Π°. ΠΠ·Π±ΠΈΡΠ°ΠΉΠΊΠΈ Π³ΠΎ, Π²ΠΈΠ΅ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ½ΠΎ ΠΏΠΎΠ»ΡΡΠ°Π²Π°ΡΠ΅ ΠΏΠ°ΡΠΎΠ²Π΅ ΠΈ Π² ΡΡΡΠΎΡΠΎ Π²ΡΠ΅ΠΌΠ΅ ΡΠ°Π·ΡΠΈΡΠ°ΡΠ΅ Π½Π° ΡΡΠ°Π±ΠΈΠ»Π½Π°ΡΠ° Π²Π΅ΡΡΠΈΡ Π½Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ.
PS ΠΎΡ ΠΏΡΠ΅Π²ΠΎΠ΄Π°ΡΠ°
ΠΡΠΎΡΠ΅ΡΠ΅ΡΠ΅ ΡΡΡΠΎ Π² Π½Π°ΡΠΈΡ Π±Π»ΠΎΠ³:
- Β«
ΠΠΎΠ²Π° ΡΡΠ°ΡΠΈΡΡΠΈΠΊΠ° Π½Π° CNCF Π·Π° ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΈ, ΡΠΎΠ΄Π΅Π½ ΠΎΠ±Π»Π°ΠΊ ΠΈ Kubernetes Β»; - Β«
7 ΠΏΡΠΈΠ½ΡΠΈΠΏΠ° Π·Π° ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠ°Π½Π΅ Π½Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, Π±Π°Π·ΠΈΡΠ°Π½ΠΈ Π½Π° ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΈ Β»; - Β«
11 Π½Π°ΡΠΈΠ½Π° Π΄Π° (Π½Π΅) Π±ΡΠ΄Π΅ΡΠ΅ Ρ Π°ΠΊΠ½Π°ΡΠΈ Π² Kubernetes Β»; - Β«
ΠΠ°ΡΠΈΡΡ ΠΎΠΏΠΈΡ Ρ Kubernetes Π² ΠΌΠ°Π»ΠΊΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠΈ Β» (ΡΠ΅Π²Ρ ΠΈ Π²ΠΈΠ΄Π΅ΠΎ ΠΎΡΡΠ΅Ρ); - Β«
ΠΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³ ΠΈ Kubernetes Β» (ΡΠ΅Π²Ρ ΠΈ Π²ΠΈΠ΄Π΅ΠΎ ΠΎΡΡΠ΅Ρ); - Β«
Π‘ΡΠ·Π΄Π°Π²Π°ΠΌΠ΅ Docker ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ Π·Π° CI/CD Π±ΡΡΠ·ΠΎ ΠΈ ΡΠ΄ΠΎΠ±Π½ΠΎ Ρ dapp Β» (ΡΠ΅Π²Ρ ΠΈ Π²ΠΈΠ΄Π΅ΠΎ ΠΎΡΡΠ΅Ρ); - Β«
ΠΡΠ°ΠΊΡΠΈΠΊΠΈ Π·Π° Π½Π΅ΠΏΡΠ΅ΠΊΡΡΠ½Π°ΡΠ° Π΄ΠΎΡΡΠ°Π²ΠΊΠ° Ρ Docker Β» (ΡΠ΅Π²Ρ ΠΈ Π²ΠΈΠ΄Π΅ΠΎ ΠΎΡΡΠ΅Ρ); - Β«
Π‘ΠΌΡΡΡΡΠ° Π½Π° Π»ΡΠ΄ΠΎΡΡΡΠ° Π½Π° ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΠ·ΠΈΡΠ΅ ΠΏΡΠ΅Π· 2018 Π³ ".
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: www.habr.com