ΠΠ΅ Π²ΡΠΈΡΠΊΠΈ ΡΡΡΠ²ΡΡΠ½ΠΈ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠΈ, Π΄ΠΎΡΠΈ ΠΈ Π½Π°ΠΉ-ΠΌΠΎΡΠ½ΠΈΡΠ΅ ΠΈ ΠΌΠ°ΡΠ°Π±ΠΈΡΡΠ΅ΠΌΠΈ, Π·Π°Π΄ΠΎΠ²ΠΎΠ»ΡΠ²Π°Ρ Π²ΡΠΈΡΠΊΠΈ Π½ΡΠΆΠ΄ΠΈ ΠΊΠ°ΠΊΡΠΎ ΡΠ°. ΠΠΎΠΊΠ°ΡΠΎ Kubernetes ΡΠ°Π±ΠΎΡΠΈ ΡΡΠ΄Π΅ΡΠ½ΠΎ ΡΠ°ΠΌ ΠΏΠΎ ΡΠ΅Π±Π΅ ΡΠΈ, ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΌΡ Π»ΠΈΠΏΡΠ²Π°Ρ ΠΏΡΠ°Π²ΠΈΠ»Π½ΠΈΡΠ΅ ΡΠ°ΡΡΠΈ, Π·Π° Π΄Π° Π±ΡΠ΄Π΅ Π·Π°Π²ΡΡΡΠ΅Π½. ΠΠΈΠ½Π°Π³ΠΈ ΡΠ΅ Π½Π°ΠΌΠ΅ΡΠΈΡΠ΅ ΡΠΏΠ΅ΡΠΈΠ°Π»Π΅Π½ ΡΠ»ΡΡΠ°ΠΉ, ΠΊΠΎΠΉΡΠΎ ΠΏΡΠ΅Π½Π΅Π±ΡΠ΅Π³Π²Π° Π²Π°ΡΠΈΡΠ΅ Π½ΡΠΆΠ΄ΠΈ ΠΈΠ»ΠΈ Π² ΠΊΠΎΠΉΡΠΎ Kubernetes Π½ΡΠΌΠ° Π΄Π° ΡΠ°Π±ΠΎΡΠΈ Π² ΠΈΠ½ΡΡΠ°Π»Π°ΡΠΈΡΡΠ° ΠΏΠΎ ΠΏΠΎΠ΄ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅ - Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° Π±Π°Π·Π° Π΄Π°Π½Π½ΠΈ ΠΈΠ»ΠΈ ΡΠ°Π±ΠΎΡΠ° Ρ CD.
Π’ΠΎΠ²Π° Π΅ ΠΌΡΡΡΠΎΡΠΎ, ΠΊΡΠ΄Π΅ΡΠΎ ΡΠ΅ ΠΏΠΎΡΠ²ΡΠ²Π°Ρ Π΄ΠΎΠΏΡΠ»Π½Π΅Π½ΠΈΡ, ΡΠ°Π·ΡΠΈΡΠ΅Π½ΠΈΡ ΠΈ Π΄ΡΡΠ³ΠΈ Π΅ΠΊΡΡΡΠΈ Π·Π° ΡΠΎΠ·ΠΈ ΠΎΡΠΊΠ΅ΡΡΡΠ°ΡΠΎΡ Π½Π° ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΈ, ΠΏΠΎΠ΄ΠΊΡΠ΅ΠΏΠ΅Π½ΠΈ ΠΎΡ ΡΠΈΡΠΎΠΊΠ° ΠΎΠ±ΡΠ½ΠΎΡΡ. Π’Π°Π·ΠΈ ΡΡΠ°ΡΠΈΡ ΡΠ΅ Π²ΠΊΠ»ΡΡΠ²Π° 11-ΡΠ΅ Π½Π°ΠΉ-Π΄ΠΎΠ±ΡΠΈ Π½Π΅ΡΠ°, ΠΊΠΎΠΈΡΠΎ ΠΎΡΠΊΡΠΈΡ
ΠΌΠ΅. ΠΡΠΌ ΡΠ΅Π±Π΅ ΡΠΈ Π² Southbridge ΡΠ΅ ΡΠ° ΠΌΠ½ΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΠΈ ΠΈ ΠΏΠ»Π°Π½ΠΈΡΠ°ΠΌΠ΅ Π΄Π° ΡΠ΅ ΡΠΏΡΠ°Π²ΠΈΠΌ Ρ ΡΡΡ
ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ - ΡΠ°Π·Π³Π»ΠΎΠ±Π΅ΡΠ΅ Π³ΠΈ Π½Π° Π²ΠΈΠ½ΡΠΎΠ²Π΅ ΠΈ Π³Π°ΠΉΠΊΠΈ ΠΈ Π²ΠΈΠΆΡΠ΅ ΠΊΠ°ΠΊΠ²ΠΎ ΠΈΠΌΠ° Π²ΡΡΡΠ΅. ΠΡΠΊΠΎΠΈ ΠΎΡ ΡΡΡ
ΠΏΠ΅ΡΡΠ΅ΠΊΡΠ½ΠΎ ΡΠ΅ Π΄ΠΎΠΏΡΠ»Π½ΡΡ Π²ΡΠ΅ΠΊΠΈ ΠΊΠ»ΡΡΡΠ΅Ρ Kubernetes, Π΄ΠΎΠΊΠ°ΡΠΎ Π΄ΡΡΠ³ΠΈ ΡΠ΅ ΠΏΠΎΠΌΠΎΠ³Π½Π°Ρ Π·Π° ΡΠ΅ΡΠ°Π²Π°Π½Π΅ΡΠΎ Π½Π° ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ½ΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ, ΠΊΠΎΠΈΡΠΎ Π½Π΅ ΡΠ° Π²Π½Π΅Π΄ΡΠ΅Π½ΠΈ Π² ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΈΡ ΠΏΠ°ΠΊΠ΅Ρ Kubernetes.
Gatekeeper: Π£ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° ΠΏΠΎΠ»ΠΈΡΠΈΠΊΠ°ΡΠ°
ΠΡΠΎΠ΅ΠΊΡ ΠΡΠ²Π°ΡΡΠ½Π΅ Π½Π° Π°Π³Π΅Π½Ρ Π·Π° ΠΏΡΠ°Π²ΠΈΠ»Π° (OPA) ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Ρ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π·Π° ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ Π½Π° ΠΏΠΎΠ»ΠΈΡΠΈΠΊΠΈ Π²ΡΡΡ
Ρ ΡΡΠ΅ΠΊΠΎΠ²Π΅ ΠΎΡ ΠΎΠ±Π»Π°ΡΠ½ΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π² Kubernetes, ΠΎΡ Π²Ρ
ΠΎΠ΄Π½Π° ΠΌΡΠ΅ΠΆΠ° Π΄ΠΎ ΡΠ΅ΡΠ²ΠΈΠ·Π½Π° ΠΌΡΠ΅ΠΆΠ°. Gatekeeper Π΄Π°Π²Π° Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π½Π° Kubernetes Π΄Π° Π½Π°Π»Π°Π³Π° Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ½ΠΎ ΠΏΠΎΠ»ΠΈΡΠΈΠΊΠΈ Π² ΠΊΠ»ΡΡΡΠ΅ΡΠ° ΠΈ ΡΡΡΠΎ ΡΠ°ΠΊΠ° ΠΎΡΠΈΠ³ΡΡΡΠ²Π° ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° Π½Π° Π²ΡΠΈΡΠΊΠΈ ΡΡΠ±ΠΈΡΠΈΡ ΠΈΠ»ΠΈ ΡΠ΅ΡΡΡΡΠΈ, ΠΊΠΎΠΈΡΠΎ Π½Π°ΡΡΡΠ°Π²Π°Ρ ΠΏΠΎΠ»ΠΈΡΠΈΠΊΠ°. ΠΡΠΈΡΠΊΠΎ ΡΠΎΠ²Π° ΡΠ΅ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ²Π° ΠΎΡ ΡΡΠ°Π²Π½ΠΈΡΠ΅Π»Π½ΠΎ Π½ΠΎΠ² ΠΌΠ΅Ρ
Π°Π½ΠΈΠ·ΡΠΌ Π² Kubernetes, ΠΌΠ΅Π½ΠΈΠ΄ΠΆΡΡΡΡ Π·Π° ΠΏΡΠΈΠ΅ΠΌΠ°Π½Π΅ Π½Π° Webhooks, ΠΊΠΎΠΉΡΠΎ ΡΠ΅ Π·Π°Π΄Π΅ΠΉΡΡΠ²Π° ΠΏΡΠΈ ΠΏΡΠΎΠΌΡΠ½Π° Π½Π° ΡΠ΅ΡΡΡΡΠΈΡΠ΅. Π‘ Gatekeeper OPA ΠΏΠΎΠ»ΠΈΡΠΈΠΊΠΈΡΠ΅ ΡΡΠ°Π²Π°Ρ Π΄ΡΡΠ³Π° ΡΠ°ΡΡ ΠΎΡ Π·Π΄ΡΠ°Π²Π΅ΡΠΎ Π½Π° Π²Π°ΡΠΈΡ Kubernetes ΠΊΠ»ΡΡΡΠ΅Ρ Π±Π΅Π· Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎΡΡ ΠΎΡ ΠΏΠΎΡΡΠΎΡΠ½Π΅Π½ Π½Π°Π΄Π·ΠΎΡ.
ΠΡΠ°Π²ΠΈΡΠ°ΡΠΈΡ: ΠΡΠ΅Π½ΠΎΡΠΈΠΌΠΈ ΠΊΠ»ΡΡΡΠ΅ΡΠΈ Kubernetes
ΠΠΊΠΎ ΠΈΡΠΊΠ°ΡΠ΅ Π΄Π° Π²Π½Π΅Π΄ΡΠΈΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π² Kubernetes, ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΈΠΌΠ°Ρ Helm Π΄ΠΈΠ°Π³ΡΠ°ΠΌΠ°, ΠΊΠΎΡΡΠΎ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΠΈ ΠΈ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·ΠΈΡΠ° ΡΠΎΠ·ΠΈ ΠΏΡΠΎΡΠ΅Ρ. ΠΠΎ ΠΊΠ°ΠΊΠ²ΠΎ ΡΠ΅ ΡΡΠ°Π½Π΅, Π°ΠΊΠΎ ΠΈΡΠΊΠ°ΡΠ΅ Π΄Π° Π²Π·Π΅ΠΌΠ΅ΡΠ΅ Π²Π°ΡΠΈΡ Kubernetes ΠΊΠ»ΡΡΡΠ΅Ρ ΡΠ°ΠΊΡΠ², ΠΊΠ°ΠΊΡΠ²ΡΠΎ Π΅, ΠΈ Π΄Π° Π³ΠΎ ΡΠ°Π·Π³ΡΡΠ½Π΅ΡΠ΅ Π½ΡΠΊΡΠ΄Π΅ Π΄ΡΡΠ³Π°Π΄Π΅?
ΠΠ΅ΠΌΠ½ΠΎ ΠΏΡΠΈΡΠ΅Π³Π»ΡΠ½Π΅ ΠΡΠ°Π²ΠΈ ΠΌΠΎΠΌΠ΅Π½ΡΠ½ΠΈ ΡΠ½ΠΈΠΌΠΊΠΈ Π½Π° ΡΡΡΡΠΎΡΠ½ΠΈΠ΅ΡΠΎ Π½Π° ΠΊΠ»ΡΡΡΠ΅ΡΠΈΡΠ΅ Π½Π° Kubernetes, ΡΠ΅Ρ
Π½ΠΈΡΠ΅ ΡΠ΅Π³ΠΈΡΡΡΠΈ Π·Π° ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ Π½Π° ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΈ ΠΈ ΡΠ°Π±ΠΎΡΠ΅ΡΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, Π½Π°ΡΠ΅ΡΠ΅Π½ΠΈ βΠΏΠ°ΠΊΠ΅ΡΠΈ Π½Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡβ. Π’Π°ΠΊΡΠ² ΠΏΠ°ΠΊΠ΅Ρ, ΠΊΠΎΠΉΡΠΎ Π΅ ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ ΡΠ°ΠΉΠ» .tar
, ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ΠΏΠ»ΠΈΠΊΠΈΡΠ° ΠΊΠ»ΡΡΡΠ΅ΡΠ° Π½Π°Π²ΡΡΠΊΡΠ΄Π΅, ΠΊΡΠ΄Π΅ΡΠΎ Kubernetes ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ°Π±ΠΎΡΠΈ.
Gravity ΡΡΡΠΎ ΡΠ°ΠΊΠ° ΠΏΡΠΎΠ²Π΅ΡΡΠ²Π° Π΄Π°Π»ΠΈ ΡΠ΅Π»Π΅Π²Π°ΡΠ° ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ° ΡΠ΅ Π΄ΡΡΠΆΠΈ ΠΏΠΎ ΡΡΡΠΈΡ Π½Π°ΡΠΈΠ½ ΠΊΠ°ΡΠΎ ΠΈΠ·ΡΠΎΡΠ½ΠΈΠΊΠ° ΠΈ Π΄Π°Π»ΠΈ Kubernetes ΡΡΠ΅Π΄Π°ΡΠ° Π½Π° ΡΠ΅Π»ΡΠ° Π΅ Π½Π°Π»ΠΈΡΠ½Π°. ΠΠ»Π°ΡΠ΅Π½Π°ΡΠ° Π²Π΅ΡΡΠΈΡ Π½Π° Gravity ΡΡΡΠΎ Π΄ΠΎΠ±Π°Π²Ρ ΡΡΠ½ΠΊΡΠΈΠΈ Π·Π° ΡΠΈΠ³ΡΡΠ½ΠΎΡΡ, Π²ΠΊΠ»ΡΡΠΈΡΠ΅Π»Π½ΠΎ RBAC ΠΈ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΠ° Π·Π° ΡΠΈΠ½Ρ
ΡΠΎΠ½ΠΈΠ·ΠΈΡΠ°Π½Π΅ Π½Π° Π½Π°ΡΡΡΠΎΠΉΠΊΠΈΡΠ΅ Π·Π° ΡΠΈΠ³ΡΡΠ½ΠΎΡΡ Π² ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ Π²Π½Π΅Π΄ΡΡΠ²Π°Π½ΠΈΡ Π½Π° ΠΊΠ»ΡΡΡΠ΅ΡΠΈ.
ΠΠΎΡΠ»Π΅Π΄Π½Π°ΡΠ° ΠΎΡΠ½ΠΎΠ²Π½Π° Π²Π΅ΡΡΠΈΡ, Gravity 7, ΠΌΠΎΠΆΠ΅ Π΄Π° Π²Π½Π΅Π΄ΡΠΈ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Π½Π° Gravity ΠΊΡΠΌ ΡΡΡΠ΅ΡΡΠ²ΡΠ²Π°Ρ ΠΊΠ»ΡΡΡΠ΅Ρ Π½Π° Kubernetes, Π²ΠΌΠ΅ΡΡΠΎ Π΄Π° Π²ΡΡΡΠΈ ΡΡΠ» Π½ΠΎΠ² ΠΊΠ»ΡΡΡΠ΅Ρ ΠΎΡ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ. Gravity 7 ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ°Π±ΠΎΡΠΈ ΠΈ Ρ ΠΊΠ»ΡΡΡΠ΅ΡΠΈ, ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°Π½ΠΈ Π±Π΅Π· ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Π½Π° Gravity. Gravity ΡΡΡΠΎ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ° SELinux ΠΈ ΡΠ°Π±ΠΎΡΠΈ Π΅ΡΡΠ΅ΡΡΠ²Π΅Π½ΠΎ Ρ Teleport SSH gateway.
Kaniko: ΠΠ·Π³ΡΠ°ΠΆΠ΄Π°Π½Π΅ Π½Π° ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΈ Π² ΠΊΠ»ΡΡΡΠ΅Ρ Π½Π° Kubernetes
ΠΠΎΠ²Π΅ΡΠ΅ΡΠΎ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ Π½Π° ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΈ ΡΠ° ΠΈΠ·Π³ΡΠ°Π΄Π΅Π½ΠΈ Π½Π° ΡΠΈΡΡΠ΅ΠΌΠΈ ΠΈΠ·Π²ΡΠ½ ΡΡΠ΅ΠΊΠ° Π½Π° ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ°. ΠΠΎΠ½ΡΠΊΠΎΠ³Π° ΠΎΠ±Π°ΡΠ΅ ΡΡΡΠ±Π²Π° Π΄Π° ΠΈΠ·Π³ΡΠ°Π΄ΠΈΡΠ΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Π²ΡΡΡΠ΅ Π² ΡΡΠ΅ΠΊ ΠΎΡ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΈ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ Π½ΡΠΊΡΠ΄Π΅ Π² ΡΠ°Π±ΠΎΡΠ΅Ρ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ ΠΈΠ»ΠΈ Π² ΠΊΠ»ΡΡΡΠ΅Ρ Π½Π° Kubernetes.
ΠΠ°Π½ΠΈΠΊΠΎ ΠΈΠ·Π³ΡΠ°ΠΆΠ΄Π° ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΈ Π² ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ½Π° ΡΡΠ΅Π΄Π°, Π½ΠΎ Π±Π΅Π· Π΄Π° Π·Π°Π²ΠΈΡΠΈ ΠΎΡ ΡΡΠ»ΡΠ³Π° Π·Π° ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΈΠ·ΠΈΡΠ°Π½Π΅, ΠΊΠ°ΡΠΎ Docker. ΠΠΌΠ΅ΡΡΠΎ ΡΠΎΠ²Π° Kaniko ΠΈΠ·Π²Π»ΠΈΡΠ° ΡΠ°ΠΉΠ»ΠΎΠ²Π°ΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ° ΠΎΡ Π±Π°Π·ΠΎΠ²ΠΎΡΠΎ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅, ΠΈΠ·ΠΏΡΠ»Π½ΡΠ²Π° Π²ΡΠΈΡΠΊΠΈ ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ Π·Π° ΠΈΠ·Π³ΡΠ°ΠΆΠ΄Π°Π½Π΅ Π² ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΡΠΊΠΎΡΠΎ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ Π²ΡΡΡ
Ρ ΠΈΠ·Π²Π»Π΅ΡΠ΅Π½Π°ΡΠ° ΡΠ°ΠΉΠ»ΠΎΠ²Π° ΡΠΈΡΡΠ΅ΠΌΠ°, ΠΊΠ°ΡΠΎ ΠΏΡΠ°Π²ΠΈ ΠΌΠΎΠΌΠ΅Π½ΡΠ½Π° ΡΠ½ΠΈΠΌΠΊΠ° Π½Π° ΡΠ°ΠΉΠ»ΠΎΠ²Π°ΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ° ΡΠ»Π΅Π΄ Π²ΡΡΠΊΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π°.
ΠΠ°Π±Π΅Π»Π΅ΠΆΠΊΠ°: ΠΠ°Π½ΠΈΠΊΠΎ Π² ΠΌΠΎΠΌΠ΅Π½ΡΠ° Π΅ (ΠΌΠ°ΠΉ 2020 Π³. ΠΏΡΠΈΠ±Π». ΠΏΡΠ΅Π²ΠΎΠ΄Π°Ρ) Π½Π΅ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΡΠ·Π΄Π°Π²Π° Windows ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΈ.
Kubecost: ΠΠ°ΡΠ°ΠΌΠ΅ΡΡΠΈ Π½Π° ΡΠ°Π·Ρ
ΠΎΠ΄ΠΈΡΠ΅ Π·Π° ΡΡΠ°ΡΡΠΈΡΠ°Π½Π΅ Π½Π° Kubernetes
ΠΠΎΠ²Π΅ΡΠ΅ΡΠΎ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΈ Π·Π° Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠΈΡΠ°Π½Π΅ Π½Π° Kubernetes ΡΠ΅ ΡΠΎΠΊΡΡΠΈΡΠ°Ρ Π²ΡΡΡ
Ρ Π»Π΅ΠΊΠΎΡΠ° Π½Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅, Π½Π°Π±Π»ΡΠ΄Π΅Π½ΠΈΠ΅, ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅ Π½Π° ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ΡΠΎ Π² ΡΠ°ΠΌΠΊΠΈΡΠ΅ Π½Π° ΠΏΠΎΠ΄ ΠΈ Ρ.Π½. ΠΠΎ ΠΊΠ°ΠΊΠ²ΠΎ Π΄Π° ΠΊΠ°ΠΆΠ΅ΠΌ Π·Π° ΡΠ°Π·Ρ
ΠΎΠ΄ΠΈΡΠ΅ - Π² Π΄ΠΎΠ»Π°ΡΠΈ ΠΈ ΡΡΠΎΡΠΈΠ½ΠΊΠΈ - ΡΠ²ΡΡΠ·Π°Π½ΠΈ Ρ ΡΠ°Π±ΠΎΡΠ°ΡΠ° Π½Π° Kubernetes?
Kubecost ΠΠ±ΡΠ°Π±ΠΎΡΠ²Π° ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΈΡΠ΅ Π½Π° Kubernetes Π² ΡΠ΅Π°Π»Π½ΠΎ Π²ΡΠ΅ΠΌΠ΅, ΠΊΠΎΠ΅ΡΠΎ Π²ΠΎΠ΄ΠΈ Π΄ΠΎ Π°ΠΊΡΡΠ°Π»Π½Π° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π·Π° ΡΠ°Π·Ρ
ΠΎΠ΄ΠΈΡΠ΅ ΠΎΡ ΡΠ°Π±ΠΎΡΠ΅ΡΠΈ ΠΊΠ»ΡΡΡΠ΅ΡΠΈ Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΈΡΠ΅ ΠΎΠ±Π»Π°ΡΠ½ΠΈ Π΄ΠΎΡΡΠ°Π²ΡΠΈΡΠΈ, ΠΏΠΎΠΊΠ°Π·Π²Π°Π½Π° Π² ΡΠ°Π±Π»ΠΎ Π·Π° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅, ΠΏΠΎΠΊΠ°Π·Π²Π°ΡΠΎ ΠΌΠ΅ΡΠ΅ΡΠ½ΠΈΡΠ΅ ΡΠ°Π·Ρ
ΠΎΠ΄ΠΈ Π·Π° Π²ΡΠ΅ΠΊΠΈ ΠΊΠ»ΡΡΡΠ΅Ρ. Π¦Π΅Π½ΠΈΡΠ΅ Π·Π° RAM, CPU Π²ΡΠ΅ΠΌΠ΅, GPU ΠΈ Π΄ΠΈΡΠΊΠΎΠ²Π° ΠΏΠΎΠ΄ΡΠΈΡΡΠ΅ΠΌΠ° ΡΠ° ΡΠ°Π·Π±ΠΈΡΠΈ ΠΏΠΎ Kubernetes ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ (ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ, pod, ΡΡΠ»ΡΠ³Π° ΠΈ Ρ.Π½.)
Kubecost ΡΡΡΠΎ ΠΏΡΠΎΡΠ»Π΅Π΄ΡΠ²Π° ΡΠ΅Π½Π°ΡΠ° Π½Π° ΡΠ΅ΡΡΡΡΠΈ ΠΈΠ·Π²ΡΠ½ ΠΊΠ»ΡΡΡΠ΅ΡΠ°, ΠΊΠ°ΡΠΎ ΠΊΠΎΡΠΈ Π½Π° Amazon S3, Π²ΡΠΏΡΠ΅ΠΊΠΈ ΡΠ΅ ΡΠΎΠ²Π° Π΅ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΎ Π΄ΠΎ AWS. ΠΠ°Π½Π½ΠΈΡΠ΅ Π·Π° ΡΠ°Π·Ρ
ΠΎΠ΄ΠΈΡΠ΅ ΠΌΠΎΠ³Π°Ρ Π΄Π° Π±ΡΠ΄Π°Ρ ΠΈΠ·ΠΏΡΠ°ΡΠ΅Π½ΠΈ Π΄ΠΎ Prometheus, ΡΠ°ΠΊΠ° ΡΠ΅ Π΄Π° ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° Π³ΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΡΠ΅ Π·Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ½Π° ΠΏΡΠΎΠΌΡΠ½Π° Π½Π° ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ΡΠΎ Π½Π° ΠΊΠ»ΡΡΡΠ΅ΡΠ°.
Kubecost Π΅ Π±Π΅Π·ΠΏΠ»Π°ΡΠ΅Π½ Π·Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅, ΡΡΠΈΠ³Π° Π΄Π° ΡΠ° Π²ΠΈ Π΄ΠΎΡΡΠ°ΡΡΡΠ½ΠΈ 15 Π΄Π½ΠΈ ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΠΎΠ½Π½ΠΈ Π΄Π°Π½Π½ΠΈ. ΠΠ° Π΄ΠΎΠΏΡΠ»Π½ΠΈΡΠ΅Π»Π½ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ ΡΠ΅Π½ΠΈΡΠ΅ Π·Π°ΠΏΠΎΡΠ²Π°Ρ ΠΎΡ $199 Π½Π° ΠΌΠ΅ΡΠ΅Ρ Π·Π° Π½Π°Π±Π»ΡΠ΄Π΅Π½ΠΈΠ΅ Π½Π° 50 Π²ΡΠ·Π΅Π»Π°.
KubeDB: ΠΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ Π½Π° Π±ΠΎΠΉΠ½ΠΈ Π±Π°Π·ΠΈ Π΄Π°Π½Π½ΠΈ Π½Π° Kubernetes
ΠΠ°Π·ΠΈΡΠ΅ Π΄Π°Π½Π½ΠΈ ΡΡΡΠΎ ΡΠ° Π΄ΠΎΡΡΠ° ΡΡΡΠ΄Π½ΠΈ Π·Π° Π΅ΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎ ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ Π½Π° Kubernetes. Π©Π΅ Π½Π°ΠΌΠ΅ΡΠΈΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΈ Π½Π° Kubernetes Π·Π° MySQL, PostgreSQL, MongoDB ΠΈ Redis, Π½ΠΎ Π²ΡΠΈΡΠΊΠΈ ΡΠ΅ ΠΈΠΌΠ°Ρ Π½Π΅Π΄ΠΎΡΡΠ°ΡΡΡΠΈ. ΠΡΠ²Π΅Π½ ΡΠΎΠ²Π° ΡΠΈΠΏΠΈΡΠ½ΠΈΡΡ Π½Π°Π±ΠΎΡ ΠΎΡ ΡΡΠ½ΠΊΡΠΈΠΈ Π½Π° Kubernetes Π½Π΅ ΡΠ΅ΡΠ°Π²Π° Π΄ΠΈΡΠ΅ΠΊΡΠ½ΠΎ ΠΏΠΎΠ²Π΅ΡΠ΅ΡΠΎ ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ½ΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ Ρ Π±Π°Π·Π°ΡΠ° Π΄Π°Π½Π½ΠΈ.
KubeDB Π²ΠΈ ΠΏΠΎΠΌΠ°Π³Π° Π΄Π° ΡΡΠ·Π΄Π°Π΄Π΅ΡΠ΅ ΡΠ²ΠΎΠΈΡΠ΅ ΠΈΠ·ΡΠ°Π·ΠΈ Π½Π° Kubernetes Π·Π° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° Π±Π°Π·ΠΈ Π΄Π°Π½Π½ΠΈ. ΠΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ΡΠΎ Π½Π° Π°ΡΡ
ΠΈΠ²ΠΈΡΠ°Π½Π΅, ΠΊΠ»ΠΎΠ½ΠΈΡΠ°Π½Π΅, Π½Π°Π±Π»ΡΠ΄Π΅Π½ΠΈΠ΅, ΠΌΠΎΠΌΠ΅Π½ΡΠ½ΠΈ ΡΠ½ΠΈΠΌΠΊΠΈ ΠΈ ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ Π½Π° Π΄Π΅ΠΊΠ»Π°ΡΠ°ΡΠΈΠ²Π½Π° Π±Π°Π·Π° Π΄Π°Π½Π½ΠΈ ΡΠ° Π½Π΅Π³ΠΎΠ²ΠΈΡΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΈ. ΠΠΎΠ»Ρ, ΠΎΠ±ΡΡΠ½Π΅ΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΠ΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ°ΡΠ° Π½Π° ΡΡΠ½ΠΊΡΠΈΠΈ ΠΌΠΎΠΆΠ΅ Π΄Π° Π²Π°ΡΠΈΡΠ° ΡΠΏΠΎΡΠ΅Π΄ Π±Π°Π·Π°ΡΠ° Π΄Π°Π½Π½ΠΈ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ΡΠΎ Π½Π° ΠΊΠ»ΡΡΡΠ΅Ρ ΡΠ°Π±ΠΎΡΠΈ Π·Π° PostgreSQL, Π½ΠΎ Π½Π΅ ΠΈ Π·Π° MySQL (Π²Π΅ΡΠ΅ ΠΈΠΌΠ°, ΠΊΠ°ΠΊΡΠΎ ΠΏΡΠ°Π²ΠΈΠ»Π½ΠΎ ΠΎΡΠ±Π΅Π»ΡΠ·Π°Ρ
dnbstd, ΠΏΡΠΈΠ±Π». ΠΏΡΠ΅Π²ΠΎΠ΄Π°Ρ).
Kube-ΠΌΠ°ΠΉΠΌΡΠ½Π°: Chaos Monkey Π·Π° Kubernetes
ΠΠ°ΠΉ-Π±Π΅Π·Π³ΡΠ΅ΡΠ½ΠΈΡΡ ΠΌΠ΅ΡΠΎΠ΄ Π·Π° ΡΡΡΠ΅Ρ ΡΠ΅ΡΡΠ²Π°Π½Π΅ ΡΠ΅ ΡΡΠΈΡΠ° Π·Π° ΡΠ»ΡΡΠ°ΠΉΠ½ΠΈ ΡΠ°Π·Π±ΠΈΠ²ΠΊΠΈ. Π’ΠΎΠ²Π° Π΅ ΡΠ΅ΠΎΡΠΈΡΡΠ° Π·Π°Π΄ Chaos Monkey Π½Π° Netflix, Ρ
Π°ΠΎΡΠΈΡΠ΅Π½ ΠΈΠ½ΠΆΠ΅Π½Π΅ΡΠ΅Π½ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ, ΠΊΠΎΠΉΡΠΎ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»Π½ΠΎ ΠΈΠ·ΠΊΠ»ΡΡΠ²Π° Π²ΠΈΡΡΡΠ°Π»Π½ΠΈ ΠΌΠ°ΡΠΈΠ½ΠΈ ΠΈ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΠ²Π΅Π½ΠΈ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΈ, Π·Π° Π΄Π° βΡΡΠΈΠΌΡΠ»ΠΈΡΠ°β ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈΡΠ΅ Π΄Π° ΠΈΠ·Π³ΡΠ°ΠΆΠ΄Π°Ρ ΠΏΠΎ-ΡΡΡΠΎΠΉΡΠΈΠ²ΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ. ΠΡΠ±Π΅-ΠΌΠ°ΠΉΠΌΡΠ½Π° β ΠΏΡΠΈΠ»Π°Π³Π°Π½Π΅ Π½Π° ΡΡΡΠ°ΡΠ° ΠΎΡΠ½ΠΎΠ²Π½Π° ΡΠ΅ΠΎΡΠΈΡ Π·Π° ΡΡΡΠ΅Ρ ΡΠ΅ΡΡΠ²Π°Π½Π΅ Π·Π° Kubernetes ΠΊΠ»ΡΡΡΠ΅ΡΠΈ. Π’ΠΎΠΉ ΡΠ°Π±ΠΎΡΠΈ ΡΡΠ΅Π· ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»Π½ΠΎ ΡΠ±ΠΈΠ²Π°Π½Π΅ Π½Π° ΠΊΠ°ΠΏΡΡΠ»ΠΈ Π² ΠΊΠ»ΡΡΡΠ΅ΡΠ°, ΠΊΠΎΠΉΡΠΎ ΡΡΠ΅ ΠΏΠΎΡΠΎΡΠΈΠ»ΠΈ, ΠΈ ΠΌΠΎΠΆΠ΅ ΡΡΡΠΎ Π΄Π° Π±ΡΠ΄Π΅ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠ°Π½ Π΄Π° ΡΠ°Π±ΠΎΡΠΈ Π½Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ ΠΈΠ½ΡΠ΅ΡΠ²Π°Π» ΠΎΡ Π²ΡΠ΅ΠΌΠ΅.
Kubernetes Ingress Controller Π·Π° AWS
Kubernetes ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Ρ Π²ΡΠ½ΡΠ½ΠΎ Π±Π°Π»Π°Π½ΡΠΈΡΠ°Π½Π΅ Π½Π° Π½Π°ΡΠΎΠ²Π°ΡΠ²Π°Π½Π΅ΡΠΎ ΠΈ ΠΊΠ»ΡΡΡΠ΅ΡΠ½ΠΈ ΠΌΡΠ΅ΠΆΠΎΠ²ΠΈ ΡΡΠ»ΡΠ³ΠΈ ΡΡΠ΅Π· ΡΡΠ»ΡΠ³Π°, Π½Π°ΡΠ΅ΡΠ΅Π½Π° ΠΠ»ΠΈΠ·Π°Π½Π΅ AWS ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Ρ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π½ΠΎΡΡ Π·Π° Π±Π°Π»Π°Π½ΡΠΈΡΠ°Π½Π΅ Π½Π° Π½Π°ΡΠΎΠ²Π°ΡΠ²Π°Π½Π΅ΡΠΎ, Π½ΠΎ Π½Π΅ Ρ ΡΠ²ΡΡΠ·Π²Π° Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ½ΠΎ ΡΡΡ ΡΡΡΠΈΡΠ΅ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ Π½Π° Kubernetes. Kubernetes Ingress Controller Π·Π° AWS Π·Π°ΡΠ²Π°ΡΡ ΡΠ°Π·ΠΈ ΠΏΡΠ°Π·Π½ΠΈΠ½Π°.
Π’ΠΎΠΉ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ½ΠΎ ΡΠΏΡΠ°Π²Π»ΡΠ²Π° ΡΠ΅ΡΡΡΡΠΈΡΠ΅ Π½Π° AWS Π·Π° Π²ΡΠ΅ΠΊΠΈ Π²Ρ
ΠΎΠ΄Π΅Π½ ΠΎΠ±Π΅ΠΊΡ Π² ΠΊΠ»ΡΡΡΠ΅ΡΠ°, ΠΊΠ°ΡΠΎ ΡΡΠ·Π΄Π°Π²Π° Π±Π°Π»Π°Π½ΡΡΠΎΡΠΈ Π½Π° Π½Π°ΡΠΎΠ²Π°ΡΠ²Π°Π½Π΅ΡΠΎ Π·Π° Π½ΠΎΠ²ΠΈ Π²Ρ
ΠΎΠ΄Π½ΠΈ ΡΠ΅ΡΡΡΡΠΈ ΠΈ ΠΏΡΠ΅ΠΌΠ°Ρ
Π²Π° Π±Π°Π»Π°Π½ΡΡΠΎΡΠΈΡΠ΅ Π½Π° Π½Π°ΡΠΎΠ²Π°ΡΠ²Π°Π½Π΅ΡΠΎ, ΠΊΠΎΠ³Π°ΡΠΎ ΡΠ΅ΡΡΡΡΠΈΡΠ΅ Π±ΡΠ΄Π°Ρ ΠΈΠ·ΡΡΠΈΡΠΈ. Π’ΠΎΠΉ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° CloudFormation, Π·Π° Π΄Π° Π³Π°ΡΠ°Π½ΡΠΈΡΠ°, ΡΠ΅ ΡΡΡΡΠΎΡΠ½ΠΈΠ΅ΡΠΎ Π½Π° ΠΊΠ»ΡΡΡΠ΅ΡΠ° ΠΎΡΡΠ°Π²Π° ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»Π½ΠΎ. Π’ΠΎΠΉ ΡΡΡΠΎ ΡΠ°ΠΊΠ° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ° Π½Π°ΡΡΡΠΎΠΉΠΊΠΈΡΠ΅ Π½Π° CloudWatch Alarm ΠΈ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ½ΠΎ ΡΠΏΡΠ°Π²Π»ΡΠ²Π° Π΄ΡΡΠ³ΠΈ Π΅Π»Π΅ΠΌΠ΅Π½ΡΠΈ, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ΠΈ Π² ΠΊΠ»ΡΡΡΠ΅ΡΠ°, ΠΊΠ°ΡΠΎ SSL ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠΈ ΠΈ EC2 Auto Scaling Groups.
Kubespray: ΠΠ²ΡΠΎΠΌΠ°ΡΠΈΡΠ½ΠΎ ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°Π½Π΅ Π½Π° Kubernetes
Kubespray Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·ΠΈΡΠ° ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°Π½Π΅ΡΠΎ Π½Π° Π³ΠΎΡΠΎΠ² Π·Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΠ²ΠΎ Kubernetes ΠΊΠ»ΡΡΡΠ΅Ρ, ΠΎΡ ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°Π½Π΅ Π½Π° Ρ
Π°ΡΠ΄ΡΠ΅ΡΠ½ΠΈ ΡΡΡΠ²ΡΡΠΈ Π΄ΠΎ Π³ΠΎΠ»Π΅ΠΌΠΈ ΠΏΡΠ±Π»ΠΈΡΠ½ΠΈ ΠΎΠ±Π»Π°ΡΠΈ. Π’ΠΎΠΉ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Ansible (Vagrant - ΠΏΠΎ ΠΈΠ·Π±ΠΎΡ), Π·Π° Π΄Π° ΡΡΠ°ΡΡΠΈΡΠ° Π²Π½Π΅Π΄ΡΡΠ²Π°Π½Π΅ΡΠΎ ΠΈ Π΄Π° ΡΡΠ·Π΄Π°Π΄Π΅ Π²ΠΈΡΠΎΠΊΠΎΠ΄ΠΎΡΡΡΠΏΠ΅Π½ ΠΊΠ»ΡΡΡΠ΅Ρ ΠΎΡ Π½ΡΠ»Π°ΡΠ° Ρ Π²Π°ΡΠΈΡ ΠΈΠ·Π±ΠΎΡ Π½Π° ΠΌΡΠ΅ΠΆΠΎΠ²Π° Π΄ΠΎΠ±Π°Π²ΠΊΠ° (ΠΊΠ°ΡΠΎ Flannel, Calico ΠΈ Π΄ΡΡΠ³ΠΈ) Π½Π° ΠΈΠ·Π±ΡΠ°Π½Π°ΡΠ° ΠΎΡ Π²Π°Ρ ΠΏΠΎΠΏΡΠ»ΡΡΠ½Π° Linux Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΡ, ΠΊΠΎΠ³Π°ΡΠΎ Π΅ ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°Π½Π° Π½Π° Ρ
Π°ΡΠ΄ΡΠ΅ΡΠ½ΠΈ ΡΡΡΠ²ΡΡΠΈ.
Skaffold: ΠΡΠ΅ΡΠ°ΡΠΈΠ²Π½Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ° Π·Π° Kubernetes
Π‘ΠΊΠ΅Π»Π΅ - Π΅Π΄ΠΈΠ½ ΠΎΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΈΡΠ΅ Π½Π° Google, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ΠΈ Π·Π° ΠΎΡΠ³Π°Π½ΠΈΠ·ΠΈΡΠ°Π½Π΅ Π½Π° CD ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π² Kubernetes. ΠΠ΅Π΄Π½Π°Π³Π° ΡΠΎΠΌ Π½Π°ΠΏΡΠ°Π²ΠΈΡΠ΅ ΠΏΡΠΎΠΌΠ΅Π½ΠΈ Π² ΠΈΠ·Ρ
ΠΎΠ΄Π½ΠΈΡ ΠΊΠΎΠ΄, skaffold Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ½ΠΎ ΠΎΡΠΊΡΠΈΠ²Π° ΡΠΎΠ²Π°, Π·Π°ΠΏΠΎΡΠ²Π° ΠΈΠ·Π³ΡΠ°ΠΆΠ΄Π°Π½Π΅ΡΠΎ ΠΈ Π²Π½Π΅Π΄ΡΡΠ²Π°Π½Π΅ΡΠΎ ΠΈ Π²ΠΈ ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π°Π²Π°, Π°ΠΊΠΎ ΠΈΠΌΠ° Π³ΡΠ΅ΡΠΊΠΈ. Skaffold ΡΠ°Π±ΠΎΡΠΈ ΠΈΠ·ΡΡΠ»ΠΎ ΠΎΡ ΡΡΡΠ°Π½Π° Π½Π° ΠΊΠ»ΠΈΠ΅Π½ΡΠ°, ΡΠ°ΠΊΠ° ΡΠ΅ ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΈΠΌΠ° Π΄ΡΠ΅Π±Π½ΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ Ρ ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°Π½Π΅ΡΠΎ ΠΈΠ»ΠΈ Π°ΠΊΡΡΠ°Π»ΠΈΠ·ΠΈΡΠ°Π½Π΅ΡΠΎ. ΠΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΡΡΡ ΡΡΡΠ΅ΡΡΠ²ΡΠ²Π°ΡΠΈ ΡΡΡΠ±ΠΎΠΏΡΠΎΠ²ΠΎΠ΄ΠΈ Π½Π° CICD ΠΈ ΠΌΠΎΠΆΠ΅ ΡΡΡΠΎ Π΄Π° Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²Π° Ρ Π½ΡΠΊΠΎΠΈ Π²ΡΠ½ΡΠ½ΠΈ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΈ Π·Π° ΠΈΠ·Π³ΡΠ°ΠΆΠ΄Π°Π½Π΅, Π³Π»Π°Π²Π½ΠΎ Bazel Π½Π° Google.
Π’Π΅ΡΠ΅Π·Π°: ΠΠ°ΠΉ-ΠΏΡΠΎΡΡΠΈΡΡ PaaS Π½Π° Kubernetes
Π’Π΅ΡΠ΅Π·Π° Π΅ ΡΠΈΡΡΠ΅ΠΌΠ° Π·Π° Π²Π½Π΅Π΄ΡΡΠ²Π°Π½Π΅ Π½Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΠΊΠΎΡΡΠΎ ΠΈΠ·ΠΏΡΠ»Π½ΡΠ²Π° ΠΏΡΠΎΡΡ PaaS Π²ΡΡΡ
Ρ Kubernetes. ΠΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΠΈΡΠ΅, ΠΎΡΠ³Π°Π½ΠΈΠ·ΠΈΡΠ°Π½ΠΈ Π² Π΅ΠΊΠΈΠΏΠΈ, ΠΌΠΎΠ³Π°Ρ Π΄Π° Π²Π½Π΅Π΄ΡΡΠ²Π°Ρ ΠΈ ΡΠΏΡΠ°Π²Π»ΡΠ²Π°Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΡΠ°, ΠΊΠΎΠΈΡΠΎ ΠΏΡΠΈΡΠ΅ΠΆΠ°Π²Π°Ρ. Π’ΠΎΠ²Π° ΠΏΡΠ°Π²ΠΈ Π½Π΅ΡΠ°ΡΠ° ΠΌΠ°Π»ΠΊΠΎ ΠΏΠΎ-Π»Π΅ΡΠ½ΠΈ Π·Π° Ρ
ΠΎΡΠ°ΡΠ°, ΠΊΠΎΠΈΡΠΎ ΡΠ΅ Π΄ΠΎΠ²Π΅ΡΡΠ²Π°Ρ Π½Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ ΠΈ Π½Π΅ ΠΈΡΠΊΠ°Ρ Π΄Π° ΡΠ΅ Π·Π°Π½ΠΈΠΌΠ°Π²Π°Ρ Ρ Kubernetes ΠΈ Π²ΡΠΈΡΠΊΠΈΡΠ΅ ΠΌΡ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΠΈ.
ΠΠ°ΠΊΠ»Π°Π½ΡΠ½Π΅: ΠΠΎΡΠΎΡΠ½ΠΎ ΠΏΡΠ΅Π΄Π°Π²Π°Π½Π΅ Π½Π° Π°ΠΊΡΡΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π½Π° ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΈ ΠΊΡΠΌ ΠΊΠ»ΡΡΡΠ΅ΡΠΈ Π½Π° Kubernetes
ΠΠ°ΠΊΠ»ΠΎΠ½, ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ΅Π½ ΠΎΡ Windmill Engineering, ΡΠ»Π΅Π΄ΠΈ Π·Π° ΠΏΡΠΎΠΌΠ΅Π½ΠΈ Π² ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ Docker ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ ΠΈ ΡΠ»Π΅Π΄ ΡΠΎΠ²Π° ΠΏΠΎΡΡΠ΅ΠΏΠ΅Π½Π½ΠΎ ΡΠ°Π·ΠΏΠΎΠ»Π°Π³Π° ΡΡΠΎΡΠ²Π΅ΡΠ½ΠΈΡΠ΅ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΈ Π² Kubernetes ΠΊΠ»ΡΡΡΠ΅Ρ. ΠΠΎ ΡΡΡΠ΅ΡΡΠ²ΠΎ Π²ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π΄Π° Π°ΠΊΡΡΠ°Π»ΠΈΠ·ΠΈΡΠ°ΡΠ΅ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΠ²Π΅Π½ΠΈΡ ΡΠΈ ΠΊΠ»ΡΡΡΠ΅Ρ Π² ΡΠ΅Π°Π»Π½ΠΎ Π²ΡΠ΅ΠΌΠ΅, ΠΏΡΠΎΡΡΠΎ ΠΊΠ°ΡΠΎ Π°ΠΊΡΡΠ°Π»ΠΈΠ·ΠΈΡΠ°ΡΠ΅ Dockerfiles. Tilt ΡΠ΅ ΠΈΠ·Π³ΡΠ°ΠΆΠ΄Π° Π² ΡΠ°ΠΌΠΊΠΈΡΠ΅ Π½Π° ΠΊΠ»ΡΡΡΠ΅ΡΠ°, ΠΈΠ·Ρ
ΠΎΠ΄Π½ΠΈΡΡ ΠΊΠΎΠ΄ Π΅ Π²ΡΠΈΡΠΊΠΎ, ΠΊΠΎΠ΅ΡΠΎ ΡΡΡΠ±Π²Π° Π΄Π° ΡΠ΅ ΠΏΡΠΎΠΌΠ΅Π½ΠΈ. ΠΠΎΠΆΠ΅ΡΠ΅ ΡΡΡΠΎ ΡΠ°ΠΊΠ° Π΄Π° Π½Π°ΠΏΡΠ°Π²ΠΈΡΠ΅ ΠΌΠΎΠΌΠ΅Π½ΡΠ½Π° ΡΠ½ΠΈΠΌΠΊΠ° Π½Π° ΡΡΡΡΠΎΡΠ½ΠΈΠ΅ΡΠΎ Π½Π° ΠΊΠ»ΡΡΡΠ΅ΡΠ° ΠΈ Π΄Π° Π·Π°ΡΠ½Π΅ΠΌΠ΅ΡΠ΅ ΡΡΠ»ΠΎΠ²ΠΈΡΡΠ° Π·Π° Π³ΡΠ΅ΡΠΊΠ° Π΄ΠΈΡΠ΅ΠΊΡΠ½ΠΎ ΠΎΡ Tilt, Π·Π° Π΄Π° Π³ΠΈ ΡΠΏΠΎΠ΄Π΅Π»ΠΈΡΠ΅ Ρ ΡΠ»Π΅Π½ΠΎΠ²Π΅ΡΠ΅ Π½Π° Π΅ΠΊΠΈΠΏΠ° Π·Π° ΠΎΡΡΡΡΠ°Π½ΡΠ²Π°Π½Π΅ Π½Π° Π³ΡΠ΅ΡΠΊΠΈ.
PS ΠΠ½ΠΎΠ³ΠΎΠΊΡΠ°ΡΠ½ΠΎ ΡΠΌΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π»ΠΈ Π²ΡΠΈΡΠΊΠΈ ΡΠ΅Π·ΠΈ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΈ Southbridge ΠΈΠ·ΡΠ»Π΅Π΄Π²Π°Π½ΠΈ Ρ Π½Π°ΡΠΈΡΠ΅ Π»ΡΠ±ΠΎΠΏΠΈΡΠ½ΠΈ ΡΡΡΠ΅. ΠΠ° ΠΏΡΠ΅Π΄ΡΡΠ°Π²Ρ ΡΠ΅Π°Π»Π½ΠΈ ΠΏΡΠ°ΠΊΡΠΈΠΊΠΈ Π²Π΅ΡΠ΅ (Π½Π°Π΄ΡΠ²Π°ΠΌ ΡΠ΅!) Π½Π° ΠΎΡΠ»Π°ΠΉΠ½ ΠΈΠ½ΡΠ΅Π½Π·ΠΈΠ²Π½ΠΈ ΠΊΡΡΡΠΎΠ²Π΅ ΠΏΡΠ΅Π· ΡΠ΅Π²ΡΡΠ°ΡΠΈ. ΠΠ°Π·Π° Kubernetes 8β10 ΡΠ΅Π²ΡΡΠ°ΡΠΈ 2021 Π³. Π Kubernetes Mega 12β14 ΡΠ΅Π²ΡΡΠ°ΡΠΈ. Π§Π΅ΡΡΠ½ΠΎ ΠΊΠ°Π·Π°Π½ΠΎ, Π»ΠΈΠΏΡΠ²Π° Π½ΠΈ ΠΈ ΡΠΎΠΏΠ»Π°ΡΠ° ΠΈ Π·Π°ΡΠ΅Π΄Π΅Π½Π° Ρ Π΅Π½Π΅ΡΠ³ΠΈΡ Π°ΡΠΌΠΎΡΡΠ΅ΡΠ° Π½Π° ΠΎΡΠ»Π°ΠΉΠ½ ΠΎΠ±ΡΡΠ΅Π½ΠΈΠ΅ΡΠΎ. ΠΠΎΠ»ΠΊΠΎΡΠΎ ΠΈ Π΄Π° ΡΠ° Π½Π°ΠΏΡΠ΅Π΄Π½Π°Π»ΠΈ ΡΠ΅Ρ
Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈΡΠ΅, ΡΠ΅ Π½Π΅ ΠΌΠΎΠ³Π°Ρ Π΄Π° Π·Π°ΠΌΠ΅Π½ΡΡ ΠΆΠΈΠ²ΠΎΡΠΎ ΡΠΎΠ²Π΅ΡΠΊΠΎ ΠΎΠ±ΡΡΠ²Π°Π½Π΅ ΠΈ ΡΠΏΠ΅ΡΠΈΠ°Π»Π½Π°ΡΠ° Π°ΡΠΌΠΎΡΡΠ΅ΡΠ°, ΠΊΠΎΠ³Π°ΡΠΎ ΡΠ΅ ΡΡΠ±ΠΈΡΠ°Ρ ΡΡΠΌΠΈΡΠ»Π΅Π½ΠΈΡΠΈ.
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: www.habr.com