ΠΠ°Π±Π΅Π»Π΅ΠΆΠΊΠ°. ΠΏΡΠ΅Π²ΠΎΠ΄: ΠΡΠ·ΠΏΡΠΈΠ΅ΠΌΠ°Π½Π΅ΡΠΎ Π½Π° Kubernetes ΠΎΡ GitLab ΡΠ΅ ΡΡΠΈΡΠ° Π·Π° Π΅Π΄ΠΈΠ½ ΠΎΡ Π΄Π²Π°ΡΠ° ΠΎΡΠ½ΠΎΠ²Π½ΠΈ ΡΠ°ΠΊΡΠΎΡΠ°, Π΄ΠΎΠΏΡΠΈΠ½Π°ΡΡΡΠΈ Π·Π° ΡΠ°ΡΡΠ΅ΠΆΠ° Π½Π° ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΡΡΠ°. ΠΡΠΏΡΠ΅ΠΊΠΈ ΡΠΎΠ²Π° Π΄ΠΎΡΠΊΠΎΡΠΎ ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ°ΡΠ° Π½Π° ΠΎΠ½Π»Π°ΠΉΠ½ ΡΡΠ»ΡΠ³Π°ΡΠ° GitLab.com Π±Π΅ΡΠ΅ ΠΈΠ·Π³ΡΠ°Π΄Π΅Π½Π° Π²ΡΡΡ Ρ Π²ΠΈΡΡΡΠ°Π»Π½ΠΈ ΠΌΠ°ΡΠΈΠ½ΠΈ ΠΈ Π΅Π΄Π²Π° ΠΏΡΠ΅Π΄ΠΈ ΠΎΠΊΠΎΠ»ΠΎ Π³ΠΎΠ΄ΠΈΠ½Π° Π·Π°ΠΏΠΎΡΠ½Π° Π½Π΅ΠΉΠ½Π°ΡΠ° ΠΌΠΈΠ³ΡΠ°ΡΠΈΡ ΠΊΡΠΌ K8s, ΠΊΠΎΡΡΠΎ Π²ΡΠ΅ ΠΎΡΠ΅ Π½Π΅ Π΅ Π·Π°Π²ΡΡΡΠ΅Π½Π°. Π Π°Π΄Π²Π°ΠΌΠ΅ ΡΠ΅ Π΄Π° Π²ΠΈ ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΠΈΠΌ ΠΏΡΠ΅Π²ΠΎΠ΄ Π½Π° ΡΠΊΠΎΡΠΎΡΠ½Π° ΡΡΠ°ΡΠΈΡ ΠΎΡ ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ Π½Π° GitLab SRE Π·Π° ΡΠΎΠ²Π° ΠΊΠ°ΠΊ ΡΠ΅ ΡΠ»ΡΡΠ²Π° ΡΠΎΠ²Π° ΠΈ ΠΊΠ°ΠΊΠ²ΠΈ Π·Π°ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΏΡΠ°Π²ΡΡ ΠΈΠ½ΠΆΠ΅Π½Π΅ΡΠΈΡΠ΅, ΡΡΠ°ΡΡΠ²Π°ΡΠΈ Π² ΠΏΡΠΎΠ΅ΠΊΡΠ°.
ΠΠ΅ΡΠ΅ ΠΎΠΊΠΎΠ»ΠΎ Π³ΠΎΠ΄ΠΈΠ½Π° Π½Π°ΡΠ΅ΡΠΎ ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ½ΠΎ ΠΏΠΎΠ΄ΡΠ°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΌΠΈΠ³ΡΠΈΡΠ° Π²ΡΠΈΡΠΊΠΈ ΡΡΠ»ΡΠ³ΠΈ, ΡΠ°Π±ΠΎΡΠ΅ΡΠΈ Π½Π° GitLab.com, ΠΊΡΠΌ Kubernetes. ΠΡΠ΅Π· ΡΠΎΠ²Π° Π²ΡΠ΅ΠΌΠ΅ ΡΠ΅ ΡΠ±Π»ΡΡΠΊΠ°Ρ
ΠΌΠ΅ Ρ ΠΏΡΠ΅Π΄ΠΈΠ·Π²ΠΈΠΊΠ°ΡΠ΅Π»ΡΡΠ²Π° Π½Π΅ ΡΠ°ΠΌΠΎ Ρ ΠΏΡΠ΅ΠΌΠ΅ΡΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° ΡΡΠ»ΡΠ³ΠΈ ΠΊΡΠΌ Kubernetes, Π½ΠΎ ΠΈ Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ΡΠΎ Π½Π° Ρ
ΠΈΠ±ΡΠΈΠ΄Π½ΠΈ Π²Π½Π΅Π΄ΡΡΠ²Π°Π½ΠΈΡ ΠΏΠΎ Π²ΡΠ΅ΠΌΠ΅ Π½Π° ΠΏΡΠ΅Ρ
ΠΎΠ΄Π°. Π¦Π΅Π½Π½ΠΈΡΠ΅ ΡΡΠΎΡΠΈ, ΠΊΠΎΠΈΡΠΎ Π½Π°ΡΡΠΈΡ
ΠΌΠ΅, ΡΠ΅ Π±ΡΠ΄Π°Ρ ΠΎΠ±ΡΡΠ΄Π΅Π½ΠΈ Π² ΡΠ°Π·ΠΈ ΡΡΠ°ΡΠΈΡ.
ΠΡ Π½Π°ΡΠ°Π»ΠΎΡΠΎ Π½Π° GitLab.com Π½Π΅Π³ΠΎΠ²ΠΈΡΠ΅ ΡΡΡΠ²ΡΡΠΈ ΡΠ°Π±ΠΎΡΡΡ Π² ΠΎΠ±Π»Π°ΠΊΠ° Π²ΡΠ² Π²ΠΈΡΡΡΠ°Π»Π½ΠΈ ΠΌΠ°ΡΠΈΠ½ΠΈ. Π’Π΅Π·ΠΈ Π²ΠΈΡΡΡΠ°Π»Π½ΠΈ ΠΌΠ°ΡΠΈΠ½ΠΈ ΡΠ΅ ΡΠΏΡΠ°Π²Π»ΡΠ²Π°Ρ ΠΎΡ Chef ΠΈ ΡΠ΅ ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°Ρ Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° Π½Π°ΡΠΈΡ
ΠΠΈΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ ΡΠΎΠ·ΠΈ ΠΌΠ΅ΡΠΎΠ΄, Π·Π°ΡΠΎΡΠΎ Π΅ ΠΈΠ·ΠΊΠ»ΡΡΠΈΡΠ΅Π»Π½ΠΎ Π²Π°ΠΆΠ½ΠΎ Π΄Π° ΠΈΠ·ΠΏΠΈΡΠ°ΡΠ΅ Π±ΠΎΠ»ΠΊΠ°ΡΠ° ΠΈ ΡΠ°Π΄ΠΎΡΡΡΠ°, ΠΏΡΠ΅Π· ΠΊΠΎΠΈΡΠΎ ΠΏΡΠ΅ΠΌΠΈΠ½Π°Π²Π° ΡΡΠ΅Π΄Π½ΠΎΡΡΠ°ΡΠΈΡΡΠΈΡΠ΅ΡΠΊΠΈΡΡ ΡΠ»Π΅Π½ Π½Π° ΠΎΠ±ΡΠ½ΠΎΡΡΡΠ°, ΠΊΠΎΠ³Π°ΡΠΎ ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ° ΠΈ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠ° ΡΠ²ΠΎΠΈΡΠ΅ ΠΊΠΎΠΏΠΈΡ Π½Π° GitLab. Π’ΠΎΠ·ΠΈ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ ΡΠ°Π±ΠΎΡΠ΅ΡΠ΅ Π΄ΠΎΠ±ΡΠ΅ ΠΈΠ·Π²Π΅ΡΡΠ½ΠΎ Π²ΡΠ΅ΠΌΠ΅, Π½ΠΎ ΠΊΠΎΠ³Π°ΡΠΎ Π±ΡΠΎΡΡ Π½Π° ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠ΅ Π² GitLab Π½Π°Π΄Ρ Π²ΡΡΠ»ΠΈ 10 ΠΌΠΈΠ»ΠΈΠΎΠ½Π°, ΠΎΡΡΠ·Π½Π°Ρ ΠΌΠ΅, ΡΠ΅ ΡΠΎΠΉ Π²Π΅ΡΠ΅ Π½Π΅ ΠΎΡΠ³ΠΎΠ²Π°ΡΡ Π½Π° Π½Π°ΡΠΈΡΠ΅ Π½ΡΠΆΠ΄ΠΈ ΠΎΡ ΠΌΠ°ΡΠ°Π±ΠΈΡΠ°Π½Π΅ ΠΈ Π²Π½Π΅Π΄ΡΡΠ²Π°Π½Π΅.
ΠΡΡΠ²ΠΈ ΡΡΡΠΏΠΊΠΈ ΠΊΡΠΌ Kubernetes ΠΈ ΡΠΎΠ΄Π½ΠΈΡ Π·Π° ΠΎΠ±Π»Π°ΠΊ GitLab
ΠΡΠΎΠ΅ΠΊΡΡΡ Π΅ ΡΡΠ·Π΄Π°Π΄Π΅Π½ ΠΏΡΠ΅Π· 2017 Π³
Π€ΠΎΠΊΡΡΡΡ Π²ΡΡΡ Ρ ΡΠΎΠ΄Π½ΠΈΡ ΠΎΠ±Π»Π°ΠΊ ΠΈ Kubernetes ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈ Π½Π° Π½Π°ΡΠΈΡΠ΅ ΠΈΠ½ΠΆΠ΅Π½Π΅ΡΠΈ Π΄Π° ΠΏΠ»Π°Π½ΠΈΡΠ°Ρ ΠΏΠΎΡΡΠ΅ΠΏΠ΅Π½Π΅Π½ ΠΏΡΠ΅Ρ ΠΎΠ΄, ΠΏΠΎ Π²ΡΠ΅ΠΌΠ΅ Π½Π° ΠΊΠΎΠΉΡΠΎ ΠΏΡΠ΅ΠΌΠ°Ρ Π½Π°Ρ ΠΌΠ΅ Π½ΡΠΊΠΎΠΈ ΠΎΡ NAS Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈΡΠ΅ Π½Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ, ΠΊΠ°ΡΠΎ ΡΡΡΠ΅Π²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ ΠΏΡΠΎΠ΄ΡΠ»ΠΆΠΈΡ ΠΌΠ΅ Π΄Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ²Π°ΠΌΠ΅ Π½ΠΎΠ²ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΏΠΎ ΠΏΡΡΡ. ΠΡΠΊΠ°ΠΊΡΠΎ Π·Π°ΠΏΠΎΡΠ½Π°Ρ ΠΌΠ΅ Π΄Π° ΠΏΠ»Π°Π½ΠΈΡΠ°ΠΌΠ΅ Π½Π°ΡΠ°ΡΠ° ΠΌΠΈΠ³ΡΠ°ΡΠΈΡ ΠΏΡΠ΅Π· Π»ΡΡΠΎΡΠΎ Π½Π° 2019 Π³., ΠΌΠ½ΠΎΠ³ΠΎ ΠΎΡ ΡΠ΅Π·ΠΈ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ Π±ΡΡ Π° ΠΏΡΠ΅ΠΌΠ°Ρ Π½Π°ΡΠΈ ΠΈ ΠΏΡΠΎΡΠ΅ΡΡΡ Π½Π° ΠΌΠΈΠ³ΡΠΈΡΠ°Π½Π΅ Π½Π° GitLab.com ΠΊΡΠΌ Kubernetes Π²Π΅ΡΠ΅ Π΅ Π² Ρ ΠΎΠ΄!
Π₯Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈ Π½Π° GitLab.com Π² Kubernetes
ΠΠ° GitLab.com ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ Π΅Π΄ΠΈΠ½ΠΈΡΠ΅Π½ ΡΠ΅Π³ΠΈΠΎΠ½Π°Π»Π΅Π½ GKE ΠΊΠ»ΡΡΡΠ΅Ρ, ΠΊΠΎΠΉΡΠΎ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ²Π° ΡΠ΅Π»ΠΈΡ ΡΡΠ°ΡΠΈΠΊ Π½Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. ΠΠ° Π΄Π° ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·ΠΈΡΠ°ΠΌΠ΅ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΡΠ° Π½Π° Π΅Π΄Π½Π° (Π²Π΅ΡΠ΅ ΡΡΡΠ΄Π½Π°) ΠΌΠΈΠ³ΡΠ°ΡΠΈΡ, Π½ΠΈΠ΅ ΡΠ΅ ΡΠΎΠΊΡΡΠΈΡΠ°ΠΌΠ΅ Π²ΡΡΡ Ρ ΡΡΠ»ΡΠ³ΠΈ, ΠΊΠΎΠΈΡΠΎ Π½Π΅ ΡΠ°Π·ΡΠΈΡΠ°Ρ Π½Π° Π»ΠΎΠΊΠ°Π»Π½ΠΎ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅ ΠΈΠ»ΠΈ NFS. GitLab.com ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΠΏΡΠ΅Π΄ΠΈΠΌΠ½ΠΎ ΠΌΠΎΠ½ΠΎΠ»ΠΈΡΠ½Π° ΠΊΠΎΠ΄ΠΎΠ²Π° Π±Π°Π·Π° Π½Π° Rails ΠΈ Π½ΠΈΠ΅ ΠΌΠ°ΡΡΡΡΡΠΈΠ·ΠΈΡΠ°ΠΌΠ΅ ΡΡΠ°ΡΠΈΠΊ Π²ΡΠ· ΠΎΡΠ½ΠΎΠ²Π° Π½Π° Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈΡΠ΅ Π½Π° ΡΠ°Π±ΠΎΡΠ½ΠΎΡΠΎ Π½Π°ΡΠΎΠ²Π°ΡΠ²Π°Π½Π΅ ΠΊΡΠΌ ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΠΊΡΠ°ΠΉΠ½ΠΈ ΡΠΎΡΠΊΠΈ, ΠΈΠ·ΠΎΠ»ΠΈΡΠ°Π½ΠΈ Π² ΡΠ΅Ρ Π½ΠΈΡΠ΅ ΡΠΎΠ±ΡΡΠ²Π΅Π½ΠΈ ΠΏΡΠ»ΠΎΠ²Π΅ ΠΎΡ Π²ΡΠ·Π»ΠΈ.
Π ΡΠ»ΡΡΠ°Ρ Π½Π° ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° ΡΠ΅Π·ΠΈ ΡΠΈΠΏΠΎΠ²Π΅ ΡΠ° ΡΠ°Π·Π΄Π΅Π»Π΅Π½ΠΈ Π½Π° Π·Π°ΡΠ²ΠΊΠΈ ΠΊΡΠΌ ΠΌΡΠ΅ΠΆΠ°ΡΠ°, API, Git SSH/HTTPS ΠΈ ΡΠ΅Π³ΠΈΡΡΡΡ. Π ΡΠ»ΡΡΠ°Ρ Π½Π° Π±Π΅ΠΊΠ΅Π½Π΄Π°, Π½ΠΈΠ΅ ΡΠ°Π·Π΄Π΅Π»ΡΠΌΠ΅ Π·Π°Π΄Π°Π½ΠΈΡΡΠ° Π² ΠΎΠΏΠ°ΡΠΊΠ°ΡΠ° ΡΠΏΠΎΡΠ΅Π΄ ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ Ρ
Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈ, Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ ΠΎΡ
ΠΡΠΈΡΠΊΠΈ ΡΠ΅Π·ΠΈ ΡΡΠ»ΡΠ³ΠΈ Π½Π° GitLab.com ΡΠ° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠ°Π½ΠΈ Ρ Π½Π΅ΠΌΠΎΠ΄ΠΈΡΠΈΡΠΈΡΠ°Π½Π° Π΄ΠΈΠ°Π³ΡΠ°ΠΌΠ° GitLab Helm. ΠΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠ°Π½Π΅ΡΠΎ ΡΠ΅ ΠΈΠ·Π²ΡΡΡΠ²Π° Π² ΠΏΠΎΠ΄Π΄ΠΈΠ°Π³ΡΠ°ΠΌΠΈ, ΠΊΠΎΠΈΡΠΎ ΠΌΠΎΠ³Π°Ρ Π΄Π° Π±ΡΠ΄Π°Ρ ΠΈΠ·Π±ΠΈΡΠ°ΡΠ΅Π»Π½ΠΎ Π°ΠΊΡΠΈΠ²ΠΈΡΠ°Π½ΠΈ, Π΄ΠΎΠΊΠ°ΡΠΎ ΠΏΠΎΡΡΠ΅ΠΏΠ΅Π½Π½ΠΎ ΠΌΠΈΠ³ΡΠΈΡΠ°ΠΌΠ΅ ΡΡΠ»ΡΠ³ΠΈ ΠΊΡΠΌ ΠΊΠ»ΡΡΡΠ΅ΡΠ°. ΠΠΎΡΠΈ Ρ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ΡΠΎ Π΄Π° Π½Π΅ Π²ΠΊΠ»ΡΡΠ²Π°ΠΌΠ΅ Π½ΡΠΊΠΎΠΈ ΠΎΡ Π½Π°ΡΠΈΡΠ΅ ΡΡΠ»ΡΠ³ΠΈ ΡΡΡ ΡΡΡΡΠΎΡΠ½ΠΈΠ΅ ΠΊΠ°ΡΠΎ Redis, Postgres, GitLab Pages ΠΈ Gitaly Π² ΠΌΠΈΠ³ΡΠ°ΡΠΈΡΡΠ°, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ΡΠΎ Π½Π° Kubernetes Π½ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π΄Π° Π½Π°ΠΌΠ°Π»ΠΈΠΌ Π΄ΡΠ°ΡΡΠΈΡΠ½ΠΎ Π±ΡΠΎΡ Π½Π° Π²ΠΈΡΡΡΠ°Π»Π½ΠΈΡΠ΅ ΠΌΠ°ΡΠΈΠ½ΠΈ, ΡΠΏΡΠ°Π²Π»ΡΠ²Π°Π½ΠΈ Π² ΠΌΠΎΠΌΠ΅Π½ΡΠ° ΠΎΡ Chef.
ΠΡΠΎΠ·ΡΠ°ΡΠ½ΠΎΡΡ ΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡΡΠ° Π½Π° Kubernetes
ΠΡΠΈΡΠΊΠΈ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΡΠ΅ ΡΠΏΡΠ°Π²Π»ΡΠ²Π°Ρ ΠΎΡ ΡΠ°ΠΌΠΈΡ GitLab. ΠΠ° ΡΠΎΠ²Π° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ ΡΡΠΈ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΎΠ½Π½ΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠ°, Π±Π°Π·ΠΈΡΠ°Π½ΠΈ Π½Π° Terraform ΠΈ Helm. ΠΠΏΠΈΡΠ²Π°ΠΌΠ΅ ΡΠ΅ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ ΡΠ°ΠΌΠΈΡ GitLab, ΠΊΠΎΠ³Π°ΡΠΎ Π΅ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π·Π° Π΄Π° ΡΡΠ°ΡΡΠΈΡΠ°ΠΌΠ΅ GitLab, Π½ΠΎ Π·Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ²Π½ΠΈ Π·Π°Π΄Π°ΡΠΈ ΠΈΠΌΠ°ΠΌΠ΅ ΠΎΡΠ΄Π΅Π»Π½Π° ΠΈΠ½ΡΡΠ°Π»Π°ΡΠΈΡ Π½Π° GitLab. Π’ΠΎΠ²Π° Π΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ, Π·Π° Π΄Π° Π½Π΅ Π·Π°Π²ΠΈΡΠΈ ΠΎΡ Π½Π°Π»ΠΈΡΠ½ΠΎΡΡΡΠ° Π½Π° GitLab.com ΠΏΡΠΈ ΠΈΠ·Π²ΡΡΡΠ²Π°Π½Π΅ Π½Π° Π²Π½Π΅Π΄ΡΡΠ²Π°Π½ΠΈΡ ΠΈ Π°ΠΊΡΡΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π½Π° GitLab.com.
ΠΡΠΏΡΠ΅ΠΊΠΈ ΡΠ΅ Π½Π°ΡΠΈΡΠ΅ ΡΡΡΠ±ΠΎΠΏΡΠΎΠ²ΠΎΠ΄ΠΈ Π·Π° ΠΊΠ»ΡΡΡΠ΅ΡΠ° Kubernetes ΡΠ°Π±ΠΎΡΡΡ Π½Π° ΠΎΡΠ΄Π΅Π»Π½Π° ΠΈΠ½ΡΡΠ°Π»Π°ΡΠΈΡ Π½Π° GitLab, ΠΈΠΌΠ° ΠΎΠ³Π»Π΅Π΄Π°Π»Π½ΠΈ ΠΊΠΎΠΏΠΈΡ Π½Π° Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ°ΡΠ° Π½Π° ΠΊΠΎΠ΄ΠΎΠ²Π΅, ΠΏΡΠ±Π»ΠΈΡΠ½ΠΎ Π΄ΠΎΡΡΡΠΏΠ½ΠΈ Π½Π° ΡΠ»Π΅Π΄Π½ΠΈΡΠ΅ Π°Π΄ΡΠ΅ΡΠΈ:
-
k8s-workloads/gitlab-com β ΠΠ±Π²ΡΡΠ·Π²Π°Π½Π΅ Π½Π° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡΡΠ° Π½Π° GitLab.com Π·Π° GitLab Helm-Π΄ΠΈΠ°Π³ΡΠ°ΠΌΠ°; -
k8s-workloads/gitlab-helmfiles - ΡΡΠ΄ΡΡΠΆΠ° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ Π·Π° ΡΡΠ»ΡΠ³ΠΈ, ΠΊΠΎΠΈΡΠΎ Π½Π΅ ΡΠ° ΠΏΡΡΠΊΠΎ ΡΠ²ΡΡΠ·Π°Π½ΠΈ Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ GitLab. Π’Π΅ Π²ΠΊΠ»ΡΡΠ²Π°Ρ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ Π·Π° ΡΠ΅Π³ΠΈΡΡΡΠΈΡΠ°Π½Π΅ ΠΈ Π½Π°Π±Π»ΡΠ΄Π΅Π½ΠΈΠ΅ Π½Π° ΠΊΠ»ΡΡΡΠ΅ΡΠΈ, ΠΊΠ°ΠΊΡΠΎ ΠΈ ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΠ°Π½ΠΈ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΈ ΠΊΠ°ΡΠΎ PlantUML; -
gitlab-com-ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ° - ΠΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ Π½Π° Terraform Π·Π° Kubernetes ΠΈ Π½Π°ΡΠ»Π΅Π΄Π΅Π½Π° VM ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ°. Π’ΡΠΊ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠ°ΡΠ΅ Π²ΡΠΈΡΠΊΠΈ ΡΠ΅ΡΡΡΡΠΈ, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΈ Π·Π° ΡΡΠ°ΡΡΠΈΡΠ°Π½Π΅ Π½Π° ΠΊΠ»ΡΡΡΠ΅ΡΠ°, Π²ΠΊΠ»ΡΡΠΈΡΠ΅Π»Π½ΠΎ ΡΠ°ΠΌΠΈΡ ΠΊΠ»ΡΡΡΠ΅Ρ, ΠΏΡΠ»ΠΎΠ²Π΅ ΠΎΡ Π²ΡΠ·Π»ΠΈ, Π°ΠΊΠ°ΡΠ½ΡΠΈ Π·Π° ΡΡΠ»ΡΠ³ΠΈ, ΡΠ΅Π·Π΅ΡΠ²ΠΈΡΠ°Π½Π΅ Π½Π° IP Π°Π΄ΡΠ΅Ρ.
ΠΠΎΠ³Π°ΡΠΎ ΡΠ΅ Π½Π°ΠΏΡΠ°Π²ΡΡ ΠΏΡΠΎΠΌΠ΅Π½ΠΈ, ΡΠ΅ ΠΏΠΎΠΊΠ°Π·Π²Π° ΠΏΡΠ±Π»ΠΈΡΠ½ΠΈΡΡ ΠΈΠ·Π³Π»Π΅Π΄.
ΠΠ° SRE Π²ΡΡΠ·ΠΊΠ°ΡΠ° Π²ΠΎΠ΄ΠΈ Π΄ΠΎ ΠΏΠΎΠ΄ΡΠΎΠ±Π½Π° ΡΠ°Π·Π»ΠΈΠΊΠ° Π² ΠΈΠ½ΡΡΠ°Π»Π°ΡΠΈΡΡΠ° Π½Π° GitLab, ΠΊΠΎΡΡΠΎ ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π·Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΠ²ΠΎ ΠΈ Π΄ΠΎΡΡΡΠΏΡΡ Π΄ΠΎ ΠΊΠΎΡΡΠΎ Π΅ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½. Π’ΠΎΠ²Π° ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π½Π° ΡΠ»ΡΠΆΠΈΡΠ΅Π»ΠΈΡΠ΅ ΠΈ ΠΎΠ±ΡΠ½ΠΎΡΡΡΠ° Π±Π΅Π· Π΄ΠΎΡΡΡΠΏ Π΄ΠΎ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ²Π½ΠΈΡ Π΄ΠΈΠ·Π°ΠΉΠ½ (ΠΊΠΎΠΉΡΠΎ Π΅ ΠΎΡΠ²ΠΎΡΠ΅Π½ ΡΠ°ΠΌΠΎ Π·Π° SRE) Π΄Π° ΠΏΡΠ΅Π³Π»Π΅ΠΆΠ΄Π°Ρ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΡΠ΅ ΠΏΡΠΎΠΌΠ΅Π½ΠΈ Π² ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡΡΠ°. Π§ΡΠ΅Π· ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡΠ°Π½Π΅ Π½Π° ΠΏΡΠ±Π»ΠΈΡΠ΅Π½ Π΅ΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ Π½Π° GitLab Π·Π° ΠΊΠΎΠ΄ Ρ ΡΠ°ΡΡΠ΅Π½ Π΅ΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ Π·Π° CI ΡΡΡΠ±ΠΎΠΏΡΠΎΠ²ΠΎΠ΄ΠΈ, Π½ΠΈΠ΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ°ΠΌΠ΅ Π΅Π΄ΠΈΠ½ ΡΠ°Π±ΠΎΡΠ΅Π½ ΠΏΠΎΡΠΎΠΊ, ΠΊΠ°ΡΠΎ ΡΡΡΠ΅Π²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ Π³Π°ΡΠ°Π½ΡΠΈΡΠ°ΠΌΠ΅ Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ ΠΎΡ GitLab.com Π·Π° Π°ΠΊΡΡΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π½Π° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡΡΠ°.
ΠΠ°ΠΊΠ²ΠΎ Π½Π°ΡΡΠΈΡ ΠΌΠ΅ ΠΏΠΎ Π²ΡΠ΅ΠΌΠ΅ Π½Π° ΠΌΠΈΠ³ΡΠ°ΡΠΈΡΡΠ°
ΠΠΎ Π²ΡΠ΅ΠΌΠ΅ Π½Π° ΠΏΡΠ΅ΠΌΠ΅ΡΡΠ²Π°Π½Π΅ΡΠΎ Π±Π΅ΡΠ΅ Π½Π°ΡΡΡΠΏΠ°Π½ ΠΎΠΏΠΈΡ, ΠΊΠΎΠΉΡΠΎ ΠΏΡΠΈΠ»Π°Π³Π°ΠΌΠ΅ ΠΊΡΠΌ Π½ΠΎΠ²ΠΈ ΠΌΠΈΠ³ΡΠ°ΡΠΈΠΈ ΠΈ Π²Π½Π΅Π΄ΡΡΠ²Π°Π½ΠΈΡ Π² Kubernetes.
1. ΠΠΎΠ²ΠΈΡΠ΅Π½ΠΈ ΡΠ°Π·Ρ ΠΎΠ΄ΠΈ ΠΏΠΎΡΠ°Π΄ΠΈ ΡΡΠ°ΡΠΈΠΊΠ° ΠΌΠ΅ΠΆΠ΄Ρ Π·ΠΎΠ½ΠΈΡΠ΅ Π½Π° Π΄ΠΎΡΡΡΠΏΠ½ΠΎΡΡ
ΠΠΆΠ΅Π΄Π½Π΅Π²Π½Π° ΡΡΠ°ΡΠΈΡΡΠΈΠΊΠ° Π·Π° ΠΈΠ·Π»ΠΈΠ·Π°Π½Π΅ (Π±Π°ΠΉΡΠΎΠ²Π΅ Π½Π° Π΄Π΅Π½) Π·Π° ΠΏΠ°ΡΠΊΠ° Π·Π° ΡΡΡ
ΡΠ°Π½Π΅Π½ΠΈΠ΅ Π½Π° Git Π½Π° GitLab.com
Google ΡΠ°Π·Π΄Π΅Π»Ρ ΠΌΡΠ΅ΠΆΠ°ΡΠ° ΡΠΈ Π½Π° ΡΠ΅Π³ΠΈΠΎΠ½ΠΈ. Π’Π΅ ΠΎΡ ΡΠ²ΠΎΡ ΡΡΡΠ°Π½Π° ΡΠ° ΡΠ°Π·Π΄Π΅Π»Π΅Π½ΠΈ Π½Π° Π·ΠΎΠ½ΠΈ Π½Π° Π΄ΠΎΡΡΡΠΏΠ½ΠΎΡΡ (AZ). Git Ρ ΠΎΡΡΠΈΠ½Π³ΡΡ Π΅ ΡΠ²ΡΡΠ·Π°Π½ Ρ Π³ΠΎΠ»Π΅ΠΌΠΈ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π° Π΄Π°Π½Π½ΠΈ, ΡΠ°ΠΊΠ° ΡΠ΅ Π·Π° Π½Π°Ρ Π΅ Π²Π°ΠΆΠ½ΠΎ Π΄Π° ΠΊΠΎΠ½ΡΡΠΎΠ»ΠΈΡΠ°ΠΌΠ΅ ΠΈΠ·Π»ΠΈΠ·Π°Π½Π΅ΡΠΎ ΠΎΡ ΠΌΡΠ΅ΠΆΠ°ΡΠ°. Π ΡΠ»ΡΡΠ°ΠΉ Π½Π° Π²ΡΡΡΠ΅ΡΠ΅Π½ ΡΡΠ°ΡΠΈΠΊ ΠΈΠ·Π»ΠΈΠ·Π°Π½Π΅ΡΠΎ Π΅ Π±Π΅Π·ΠΏΠ»Π°ΡΠ½ΠΎ ΡΠ°ΠΌΠΎ Π°ΠΊΠΎ ΠΎΡΡΠ°Π½Π΅ Π² Π³ΡΠ°Π½ΠΈΡΠΈΡΠ΅ Π½Π° Π΅Π΄Π½Π° Π·ΠΎΠ½Π° Π½Π° Π΄ΠΎΡΡΡΠΏΠ½ΠΎΡΡ. ΠΡΠΌ ΠΌΠΎΠΌΠ΅Π½ΡΠ° Π½Π° ΠΏΠΈΡΠ°Π½Π΅ Π½Π° ΡΠΎΠ²Π°, Π½ΠΈΠ΅ ΡΠ°Π·Π΄Π°Π²Π°ΠΌΠ΅ ΠΏΡΠΈΠ±Π»ΠΈΠ·ΠΈΡΠ΅Π»Π½ΠΎ 100TB Π΄Π°Π½Π½ΠΈ Π½Π° ΡΠΈΠΏΠΈΡΠ΅Π½ ΡΠ°Π±ΠΎΡΠ΅Π½ Π΄Π΅Π½ (ΠΈ ΡΠΎΠ²Π° Π΅ ΡΠ°ΠΌΠΎ Π·Π° Git Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ°). Π£ΡΠ»ΡΠ³ΠΈΡΠ΅, ΠΊΠΎΠΈΡΠΎ Π±ΡΡ Π° Π² Π΅Π΄Π½ΠΈ ΠΈ ΡΡΡΠΈ Π²ΠΈΡΡΡΠ°Π»Π½ΠΈ ΠΌΠ°ΡΠΈΠ½ΠΈ Π² Π½Π°ΡΠ°ΡΠ° ΡΡΠ°ΡΠ° VM-Π±Π°Π·ΠΈΡΠ°Π½Π° ΡΠΎΠΏΠΎΠ»ΠΎΠ³ΠΈΡ, ΡΠ΅Π³Π° ΡΠ΅ ΠΈΠ·ΠΏΡΠ»Π½ΡΠ²Π°Ρ Π² ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ Kubernetes pods. Π’ΠΎΠ²Π° ΠΎΠ·Π½Π°ΡΠ°Π²Π°, ΡΠ΅ ΡΠ°ΡΡ ΠΎΡ ΡΡΠ°ΡΠΈΠΊΠ°, ΠΊΠΎΠΉΡΠΎ ΠΏΡΠ΅Π΄ΠΈ Π΅ Π±ΠΈΠ» Π»ΠΎΠΊΠ°Π»Π΅Π½ Π·Π° VM, ΠΏΠΎΡΠ΅Π½ΡΠΈΠ°Π»Π½ΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΈΠ·Π»Π΅Π·Π΅ ΠΈΠ·Π²ΡΠ½ Π·ΠΎΠ½ΠΈΡΠ΅ Π½Π° Π΄ΠΎΡΡΡΠΏΠ½ΠΎΡΡ.
Π Π΅Π³ΠΈΠΎΠ½Π°Π»Π½ΠΈΡΠ΅ GKE ΠΊΠ»ΡΡΡΠ΅ΡΠΈ Π²ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π°Ρ Π΄Π° ΠΎΠ±Ρ
Π²Π°Π½Π΅ΡΠ΅ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ Π·ΠΎΠ½ΠΈ Π½Π° Π½Π°Π»ΠΈΡΠ½ΠΎΡΡ Π·Π° ΡΠ΅Π·Π΅ΡΠ²ΠΈΡΠ°Π½Π΅. ΠΠ±ΠΌΠΈΡΠ»ΡΠΌΠ΅ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΠ°
2. ΠΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ, Π·Π°ΡΠ²ΠΊΠΈ Π·Π° ΡΠ΅ΡΡΡΡΠΈ ΠΈ ΠΌΠ°ΡΠ°Π±ΠΈΡΠ°Π½Π΅
ΠΡΠΎΡΡ ΡΠ΅ΠΏΠ»ΠΈΠΊΠΈ, ΠΎΠ±ΡΠ°Π±ΠΎΡΠ²Π°ΡΠΈ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΠ²Π΅Π½ ΡΡΠ°ΡΠΈΠΊ ΠΊΡΠΌ registry.gitlab.com. ΠΠΈΠΊ Π½Π° ΡΡΠ°ΡΠΈΠΊΠ° Π² ~15:00 UTC.
ΠΠ°ΡΠ°ΡΠ° ΠΈΡΡΠΎΡΠΈΡ Π·Π° ΠΌΠΈΠ³ΡΠ°ΡΠΈΡ Π·Π°ΠΏΠΎΡΠ½Π° ΠΏΡΠ΅Π· Π°Π²Π³ΡΡΡ 2019 Π³., ΠΊΠΎΠ³Π°ΡΠΎ ΠΌΠΈΠ³ΡΠΈΡΠ°Ρ ΠΌΠ΅ ΠΏΡΡΠ²Π°ΡΠ° ΡΡΠ»ΡΠ³Π°, GitLab Container Registry, ΠΊΡΠΌ Kubernetes. Π’Π°Π·ΠΈ ΠΊΡΠΈΡΠΈΡΠ½ΠΎ Π²Π°ΠΆΠ½Π° Π·Π° ΠΌΠΈΡΠΈΡΡΠ° ΡΡΠ»ΡΠ³Π° Ρ Π³ΠΎΠ»ΡΠΌ ΡΡΠ°ΡΠΈΠΊ Π±Π΅ΡΠ΅ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΡΡΠ° Π·Π° ΠΏΡΡΠ²Π°ΡΠ° ΠΌΠΈΠ³ΡΠ°ΡΠΈΡ, Π·Π°ΡΠΎΡΠΎ Π΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π±Π΅Π· ΡΡΡΡΠΎΡΠ½ΠΈΠ΅ Ρ ΠΌΠ°Π»ΠΊΠΎ Π²ΡΠ½ΡΠ½ΠΈ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ. ΠΡΡΠ²ΠΈΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌ, ΠΊΠΎΠΉΡΠΎ ΡΡΠ΅ΡΠ½Π°Ρ ΠΌΠ΅, Π±Π΅ΡΠ΅ Π³ΠΎΠ»ΡΠΌ Π±ΡΠΎΠΉ ΠΏΠΎΠ΄ΠΎΠ²Π΅, ΠΊΠΎΠΈΡΠΎ Π±ΡΡ Π° ΠΈΠ·ΡΠ»Π°ΡΠΊΠ°Π½ΠΈ ΠΏΠΎΡΠ°Π΄ΠΈ Π»ΠΈΠΏΡΠ° Π½Π° ΠΏΠ°ΠΌΠ΅Ρ Π½Π° Π²ΡΠ·Π»ΠΈΡΠ΅. ΠΠΎΡΠ°Π΄ΠΈ ΡΠΎΠ²Π° ΡΡΡΠ±Π²Π°ΡΠ΅ Π΄Π° ΠΏΡΠΎΠΌΠ΅Π½ΠΈΠΌ Π·Π°ΡΠ²ΠΊΠΈΡΠ΅ ΠΈ Π»ΠΈΠΌΠΈΡΠΈΡΠ΅.
ΠΠ΅ΡΠ΅ ΡΡΡΠ°Π½ΠΎΠ²Π΅Π½ΠΎ, ΡΠ΅ Π² ΡΠ»ΡΡΠ°ΠΉ Π½Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΡΠΈΠ΅ΡΠΎ ΠΏΠΎΡΡΠ΅Π±Π»Π΅Π½ΠΈΠ΅ Π½Π° ΠΏΠ°ΠΌΠ΅Ρ Π½Π°ΡΠ°ΡΡΠ²Π° Ρ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Π½Π° Π²ΡΠ΅ΠΌΠ΅ΡΠΎ, Π½ΠΈΡΠΊΠΈΡΠ΅ ΡΡΠΎΠΉΠ½ΠΎΡΡΠΈ Π·Π° Π·Π°ΡΠ²ΠΊΠΈ (Π·Π°ΠΏΠ°Π·Π²Π°Π½Π΅ Π½Π° ΠΏΠ°ΠΌΠ΅Ρ Π·Π° Π²ΡΡΠΊΠ° ΠΊΠ°ΠΏΡΡΠ»Π°), ΡΡΡΠ΅ΡΠ°Π½ΠΎ Ρ βΡΠ΅Π΄ΡΡβ ΡΠ²ΡΡΠ΄ Π»ΠΈΠΌΠΈΡ Π·Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅, Π²ΠΎΠ΄ΡΡ Π΄ΠΎ Π½Π°ΡΠΈΡΠ°Π½Π΅ (Π½Π°ΡΠΈΡΠ°Π½Π΅) Π²ΡΠ·Π»ΠΈ ΠΈ Π²ΠΈΡΠΎΠΊΠΎ Π½ΠΈΠ²ΠΎ Π½Π° ΠΈΠ·ΠΌΠ΅ΡΡΠ²Π°Π½ΠΈΡ. ΠΠ° Π΄Π° ΡΠ΅ ΡΠΏΡΠ°Π²ΠΈ Ρ ΡΠΎΠ·ΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌ, Π±Π΅ΡΠ΅
3. ΠΠ΅ΡΡΠΈΠΊΠΈ ΠΈ Π΄Π½Π΅Π²Π½ΠΈΡΠΈ
ΠΡΠ΄Π΅Π»ΡΡ Π·Π° ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ° ΡΠ΅ ΡΠΎΠΊΡΡΠΈΡΠ° Π²ΡΡΡ
Ρ Π»Π°ΡΠ΅Π½ΡΠ½ΠΎΡΡΡΠ°, ΠΏΡΠΎΡΠ΅Π½ΡΠ° Π½Π° Π³ΡΠ΅ΡΠΊΠΈ ΠΈ Π½Π°ΡΠΈΡΠ°Π½Π΅ΡΠΎ Ρ ΡΡΡΠ°Π½ΠΎΠ²Π΅Π½ΠΈ
ΠΡΠ΅Π· ΠΈΠ·ΠΌΠΈΠ½Π°Π»Π°ΡΠ° Π³ΠΎΠ΄ΠΈΠ½Π° Π΅Π΄Π½ΠΎ ΠΎΡ ΠΊΠ»ΡΡΠΎΠ²ΠΈΡΠ΅ ΡΠ°Π·Π²ΠΈΡΠΈΡ Π² ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ½ΠΈΡ ΠΎΡΠ΄Π΅Π» Π±ΡΡ Π° ΠΏΠΎΠ΄ΠΎΠ±ΡΠ΅Π½ΠΈΡΡΠ° Π² Π½Π°Π±Π»ΡΠ΄Π΅Π½ΠΈΠ΅ΡΠΎ ΠΈ ΡΠ°Π±ΠΎΡΠ°ΡΠ° ΡΡΡ SLO. SLO Π½ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ Π° Π΄Π° Π·Π°Π΄Π°Π΄Π΅ΠΌ ΡΠ΅Π»ΠΈ Π·Π° ΠΎΡΠ΄Π΅Π»Π½ΠΈ ΡΡΠ»ΡΠ³ΠΈ, ΠΊΠΎΠΈΡΠΎ Π½Π°Π±Π»ΡΠ΄Π°Π²Π°Ρ ΠΌΠ΅ Π²Π½ΠΈΠΌΠ°ΡΠ΅Π»Π½ΠΎ ΠΏΠΎ Π²ΡΠ΅ΠΌΠ΅ Π½Π° ΠΌΠΈΠ³ΡΠ°ΡΠΈΡΡΠ°. ΠΠΎ Π΄ΠΎΡΠΈ ΠΈ Ρ ΡΠ°Π·ΠΈ ΠΏΠΎΠ΄ΠΎΠ±ΡΠ΅Π½Π° Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡ, Π½Π΅ Π²ΠΈΠ½Π°Π³ΠΈ Π΅ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎ Π½Π΅Π·Π°Π±Π°Π²Π½ΠΎ Π΄Π° Π²ΠΈΠ΄ΠΈΡΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° ΠΏΠΎΠΊΠ°Π·Π°ΡΠ΅Π»ΠΈ ΠΈ ΡΠΈΠ³Π½Π°Π»ΠΈ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΊΠ°ΡΠΎ ΡΠ΅ ΡΡΡΡΠ΅Π΄ΠΎΡΠΎΡΠ°Π²Π°ΠΌΠ΅ Π²ΡΡΡ Ρ Π·Π°Π±Π°Π²ΡΠ½Π΅ΡΠΎ ΠΈ ΠΏΡΠΎΡΠ΅Π½ΡΠΈΡΠ΅ Π½Π° Π³ΡΠ΅ΡΠΊΠΈ, Π½ΠΈΠ΅ Π½Π΅ ΠΏΠΎΠΊΡΠΈΠ²Π°ΠΌΠ΅ Π½Π°ΠΏΡΠ»Π½ΠΎ Π²ΡΠΈΡΠΊΠΈ ΡΠ»ΡΡΠ°ΠΈ Π½Π° ΡΠΏΠΎΡΡΠ΅Π±Π° Π·Π° ΡΡΠ»ΡΠ³Π°, ΠΊΠΎΡΡΠΎ ΡΠ΅ ΠΌΠΈΠ³ΡΠΈΡΠ°.
Π’ΠΎΠ·ΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌ Π±Π΅ΡΠ΅ ΠΎΡΠΊΡΠΈΡ ΠΏΠΎΡΡΠΈ Π²Π΅Π΄Π½Π°Π³Π° ΡΠ»Π΅Π΄ ΠΏΡΠ΅ΠΌΠ΅ΡΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° Π½ΡΠΊΠΎΠΈ ΠΎΡ Π½Π°ΡΠΎΠ²Π°ΡΠ²Π°Π½ΠΈΡΡΠ° ΠΊΡΠΌ ΠΊΠ»ΡΡΡΠ΅ΡΠ°. Π’Ρ ΡΠ΅ ΠΏΡΠΎΡΠ²ΠΈ ΠΎΡΠΎΠ±Π΅Π½ΠΎ ΠΎΡΡΡΠΎ, ΠΊΠΎΠ³Π°ΡΠΎ ΡΡΡΠ±Π²Π°ΡΠ΅ Π΄Π° ΠΏΡΠΎΠ²Π΅ΡΡΠ²Π°ΠΌΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΊΡΠΌ ΠΊΠΎΠΈΡΠΎ Π±ΡΠΎΡΡ Π½Π° Π·Π°ΡΠ²ΠΊΠΈΡΠ΅ Π΅ ΠΌΠ°Π»ΡΠΊ, Π½ΠΎ ΠΊΠΎΠΈΡΠΎ ΠΈΠΌΠ°Ρ ΠΌΠ½ΠΎΠ³ΠΎ ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ½ΠΈ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡΡΠ°. ΠΠ΄ΠΈΠ½ ΠΎΡ ΠΊΠ»ΡΡΠΎΠ²ΠΈΡΠ΅ ΠΏΠΎΡΠΊΠΈ ΠΎΡ ΠΌΠΈΠ³ΡΠ°ΡΠΈΡΡΠ° Π±Π΅ΡΠ΅ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎΡΡΡΠ° Π΄Π° ΡΠ΅ Π²Π·Π΅ΠΌΠ°Ρ ΠΏΠΎΠ΄ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΠΏΡΠΈ Π½Π°Π±Π»ΡΠ΄Π΅Π½ΠΈΠ΅ΡΠΎ Π½Π΅ ΡΠ°ΠΌΠΎ Π½Π° ΠΏΠΎΠΊΠ°Π·Π°ΡΠ΅Π»ΠΈΡΠ΅, Π½ΠΎ ΠΈ Π½Π° ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΠΎΠ½Π½ΠΈΡΠ΅ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ ΠΈ βΠ΄ΡΠ»Π³Π°ΡΠ° ΠΎΠΏΠ°ΡΠΊΠ°β (ΡΡΠ°Π²Π° Π΄ΡΠΌΠ° Π·Π°
ΠΠ±ΡΠ»ΡΠΆΠ²Π°Π½Π΅ΡΠΎ Π½Π° Π΅Π΄Π½ΠΈ ΠΈ ΡΡΡΠΈ Π·Π°ΡΠ²ΠΊΠΈ ΠΏΠ°ΡΠ°Π»Π΅Π»Π½ΠΎ Π½Π° ΡΡΠ°ΡΠ°ΡΠ° VM ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ° ΠΈ Π½ΠΎΠ²Π°ΡΠ°, Π±Π°Π·ΠΈΡΠ°Π½Π° Π½Π° Kubernetes, Π±Π΅ΡΠ΅ ΡΠ½ΠΈΠΊΠ°Π»Π½ΠΎ ΠΏΡΠ΅Π΄ΠΈΠ·Π²ΠΈΠΊΠ°ΡΠ΅Π»ΡΡΠ²ΠΎ. ΠΠ° ΡΠ°Π·Π»ΠΈΠΊΠ° ΠΎΡ ΠΌΠΈΠ³ΡΠ°ΡΠΈΡΡΠ° Ρ ΠΏΠΎΠ²Π΄ΠΈΠ³Π°Π½Π΅ ΠΈ ΡΠΌΡΠ½Π° (Π±ΡΡΠ·ΠΎ ΠΏΡΠ΅Ρ
Π²ΡΡΠ»ΡΠ½Π΅ Π½Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ βΠΊΠ°ΠΊΡΠΎ ΡΠ°β ΠΊΡΠΌ Π½ΠΎΠ²Π° ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ°; Π·Π° ΠΏΠΎΠ²Π΅ΡΠ΅ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎΡΡΠΈ Π²ΠΈΠΆΡΠ΅ Π½Π°ΠΏΡ.
4. ΠΡΠ΅Π²ΠΊΠ»ΡΡΠ²Π°Π½Π΅ Π½Π° ΡΡΠ°ΡΠΈΠΊΠ° ΠΊΡΠΌ Π½ΠΎΠ²ΠΈΡ ΠΊΠ»ΡΡΡΠ΅Ρ
ΠΠ° GitLab.com Π½ΡΠΊΠΎΠΈ ΠΎΡ ΡΡΡΠ²ΡΡΠΈΡΠ΅ ΡΠ° ΡΠ°Π·ΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈ ΠΏΠΎΠ΄
Π ΡΠ»ΡΡΠ°ΠΉ Π½Π° ΠΌΠΈΠ³ΡΠ°ΡΠΈΡ ΡΠΎΠ²Π° ΠΎΠ·Π½Π°ΡΠ°Π²Π°, ΡΠ΅ ΠΏΡΡΠ²ΠΈΡΠ΅ Π·Π°ΡΠ²ΠΊΠΈ ΠΊΡΠΌ Π²ΡΡΡΠ΅ΡΠ½ΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠΈ ΡΠ΅ ΠΈΠ·ΠΏΡΠ°ΡΠ°Ρ Π΄ΠΎ Kubernetes ΠΈ ΡΠ»Π΅Π΄ ΡΠΎΠ²Π° ΠΏΠΎΡΡΠ΅ΠΏΠ΅Π½Π½ΠΎ ΠΏΡΠ΅Π²ΠΊΠ»ΡΡΠ²Π°ΠΌΠ΅ ΠΎΡΡΠ°Π½Π°Π»ΠΈΡ ΡΡΠ°ΡΠΈΠΊ ΠΊΡΠΌ ΠΊΠ»ΡΡΡΠ΅ΡΠ°, ΠΊΠ°ΡΠΎ ΠΏΡΠΎΠΌΠ΅Π½ΡΠΌΠ΅ ΡΠ΅Π³Π»ΠΎΡΠΎ Π·Π° Π±Π΅ΠΊΠ΅Π½Π΄Π° ΡΡΠ΅Π· HAProxy. ΠΠΎ Π²ΡΠ΅ΠΌΠ΅ Π½Π° ΠΏΡΠ΅Ρ ΠΎΠ΄Π° ΠΎΡ VM ΠΊΡΠΌ Kubernetes ΡΡΠ°Π½Π° ΡΡΠ½ΠΎ, ΡΠ΅ Π΅ ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ Π΄Π° ΠΈΠΌΠ°ΡΠ΅ Π»Π΅ΡΠ΅Π½ Π½Π°ΡΠΈΠ½ Π·Π° ΠΏΡΠ΅Π½Π°ΡΠΎΡΠ²Π°Π½Π΅ Π½Π° ΡΡΠ°ΡΠΈΠΊΠ° ΠΌΠ΅ΠΆΠ΄Ρ ΡΡΠ°ΡΠ°ΡΠ° ΠΈ Π½ΠΎΠ²Π°ΡΠ° ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ° ΠΈ ΡΡΠΎΡΠ²Π΅ΡΠ½ΠΎ Π΄Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ°ΡΠ΅ ΡΡΠ°ΡΠ°ΡΠ° ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ° Π³ΠΎΡΠΎΠ²Π° Π·Π° Π²ΡΡΡΠ°Π½Π΅ ΠΏΡΠ΅Π· ΠΏΡΡΠ²ΠΈΡΠ΅ Π½ΡΠΊΠΎΠ»ΠΊΠΎ Π΄Π½ΠΈ ΡΠ»Π΅Π΄ ΠΌΠΈΠ³ΡΠ°ΡΠΈΡΡΠ°.
5. Π Π΅Π·Π΅ΡΠ²Π½Π° ΠΌΠΎΡΠ½ΠΎΡΡ Π½Π° ΡΡΡΡΠ»ΠΊΠΈΡΠ΅ ΠΈ ΡΡΡ Π½ΠΎΡΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅
ΠΠΎΡΡΠΈ Π²Π΅Π΄Π½Π°Π³Π° Π±Π΅ΡΠ΅ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΡΠΈΡΠ°Π½ ΡΠ»Π΅Π΄Π½ΠΈΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌ: pods Π·Π° ΡΡΠ»ΡΠ³Π°ΡΠ° Registry ΡΡΠ°ΡΡΠΈΡΠ°Ρ
Π° Π±ΡΡΠ·ΠΎ, Π½ΠΎ ΡΡΠ°ΡΡΠΈΡΠ°Π½Π΅ΡΠΎ Π½Π° pods Π·Π° Sidekiq ΠΎΡΠ½Π΅ Π΄ΠΎ
Π ΡΠΎΠ·ΠΈ ΡΠ»ΡΡΠ°ΠΉ ΡΡΠΎΠΊΡΡ Π±Π΅ΡΠ΅, ΡΠ΅ Π΄ΠΎΠΊΠ°ΡΠΎ Horizontal Pod Autoscaler (HPA) Π² Kubernetes ΡΠ΅ ΡΠΏΡΠ°Π²Ρ Π΄ΠΎΠ±ΡΠ΅ Ρ Π½Π°ΡΠ°ΡΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° ΡΡΠ°ΡΠΈΠΊΠ°, Π²Π°ΠΆΠ½ΠΎ Π΅ Π΄Π° ΡΠ΅ Π²Π·Π΅ΠΌΠ°Ρ ΠΏΡΠ΅Π΄Π²ΠΈΠ΄ Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈΡΠ΅ Π½Π° Π½Π°ΡΠΎΠ²Π°ΡΠ²Π°Π½Π΅ΡΠΎ ΠΈ Π΄Π° ΡΠ΅ ΡΠ°Π·ΠΏΡΠ΅Π΄Π΅Π»ΠΈ ΡΠ΅Π·Π΅ΡΠ²Π΅Π½ ΠΊΠ°ΠΏΠ°ΡΠΈΡΠ΅Ρ Π½Π° pod (ΠΎΡΠΎΠ±Π΅Π½ΠΎ ΠΊΠΎΠ³Π°ΡΠΎ ΡΡΡΡΠ΅Π½Π΅ΡΠΎ Π΅ Π½Π΅ΡΠ°Π²Π½ΠΎΠΌΠ΅ΡΠ½ΠΎ). Π Π½Π°ΡΠΈΡ ΡΠ»ΡΡΠ°ΠΉ ΠΈΠΌΠ°ΡΠ΅ Π²Π½Π΅Π·Π°ΠΏΠ΅Π½ Π²Π·ΡΠΈΠ² ΠΎΡ Π·Π°Π΄Π°Π½ΠΈΡ, ΠΊΠΎΠ΅ΡΠΎ Π΄ΠΎΠ²Π΅Π΄Π΅ Π΄ΠΎ Π±ΡΡΠ·ΠΎ ΠΌΠ°ΡΠ°Π±ΠΈΡΠ°Π½Π΅, ΠΊΠΎΠ΅ΡΠΎ Π΄ΠΎΠ²Π΅Π΄Π΅ Π΄ΠΎ Π½Π°ΡΠΈΡΠ°Π½Π΅ Π½Π° ΡΠ΅ΡΡΡΡΠΈΡΠ΅ Π½Π° ΠΏΡΠΎΡΠ΅ΡΠΎΡΠ°, ΠΏΡΠ΅Π΄ΠΈ Π΄Π° ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° ΠΌΠ°ΡΠ°Π±ΠΈΡΠ°ΠΌΠ΅ ΠΏΡΠ»Π° ΠΎΡ Π²ΡΠ·Π»ΠΈ.
ΠΠΈΠ½Π°Π³ΠΈ Π΅ ΠΈΠ·ΠΊΡΡΠ°Π²Π°ΡΠΎ Π΄Π° ΠΈΠ·ΡΡΡΠ³Π½Π΅ΠΌ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉ-ΠΌΠ½ΠΎΠ³ΠΎ ΠΎΡ Π΅Π΄ΠΈΠ½ ΠΊΠ»ΡΡΡΠ΅Ρ, Π½ΠΎ ΠΏΡΡΠ²ΠΎΠ½Π°ΡΠ°Π»Π½ΠΎ ΡΠ΅ Π½Π°ΡΡΠΊΠ½Π°Ρ
ΠΌΠ΅ Π½Π° ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ Ρ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡΡΠ° ΠΈ ΡΠ΅Π³Π° Π·Π°ΠΏΠΎΡΠ²Π°ΠΌΠ΅ Ρ ΡΠ΅Π΄ΡΡ Π±ΡΠ΄ΠΆΠ΅Ρ Π·Π° ΠΏΠΎΠ΄ ΠΈ Π³ΠΎ Π½Π°ΠΌΠ°Π»ΡΠ²Π°ΠΌΠ΅ ΠΏΠΎ-ΠΊΡΡΠ½ΠΎ, ΡΠ»Π΅Π΄Π΅ΠΉΠΊΠΈ Π²Π½ΠΈΠΌΠ°ΡΠ΅Π»Π½ΠΎ SLO. Π‘ΡΠ°ΡΡΠΈΡΠ°Π½Π΅ΡΠΎ Π½Π° ΠΏΠ°ΠΊΠ΅ΡΠΈ Π·Π° ΡΡΠ»ΡΠ³Π°ΡΠ° Sidekiq Π΅ Π·Π½Π°ΡΠΈΡΠ΅Π»Π½ΠΎ ΡΡΠΊΠΎΡΠ΅Π½ΠΎ ΠΈ ΡΠ΅Π³Π° ΠΎΡΠ½Π΅ΠΌΠ° ΡΡΠ΅Π΄Π½ΠΎ ΠΎΠΊΠΎΠ»ΠΎ 40 ΡΠ΅ΠΊΡΠ½Π΄ΠΈ.
ΠΠ°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
Π‘Π»Π΅Π΄ ΠΌΠΈΠ³ΡΠΈΡΠ°Π½Π΅ΡΠΎ Π½Π° Π²ΡΡΠΊΠ° ΡΡΠ»ΡΠ³Π° ΡΠ΅ Π·Π°ΡΠ°Π΄Π²Π°Ρ ΠΌΠ΅ Π½Π° ΠΏΡΠ΅Π΄ΠΈΠΌΡΡΠ²Π°ΡΠ° ΠΎΡ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ΡΠΎ Π½Π° Kubernetes Π² ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΠ²ΠΎΡΠΎ: ΠΏΠΎ-Π±ΡΡΠ·ΠΎ ΠΈ ΠΏΠΎ-Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎ Π²Π½Π΅Π΄ΡΡΠ²Π°Π½Π΅ Π½Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΠΌΠ°ΡΠ°Π±ΠΈΡΠ°Π½Π΅ ΠΈ ΠΏΠΎ-Π΅ΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎ ΡΠ°Π·ΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π½Π° ΡΠ΅ΡΡΡΡΠΈΡΠ΅. ΠΡΠ²Π΅Π½ ΡΠΎΠ²Π° ΠΏΡΠ΅Π΄ΠΈΠΌΡΡΠ²Π°ΡΠ° Π½Π° ΠΌΠΈΠ³ΡΠ°ΡΠΈΡΡΠ° Π½Π°Π΄Ρ Π²ΡΡΠ»ΡΡ ΡΡΠ»ΡΠ³Π°ΡΠ° GitLab.com. Π‘ Π²ΡΡΠΊΠΎ ΠΏΠΎΠ΄ΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ Π½Π° ΠΎΡΠΈΡΠΈΠ°Π»Π½Π°ΡΠ° Helm Chart, Π½Π΅ΠΉΠ½ΠΈΡΠ΅ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΠΈ ΡΡΡΠΎ ΡΠ΅ Π²ΡΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ.
ΠΠ°Π΄ΡΠ²Π°ΠΌ ΡΠ΅, ΡΠ΅ ΡΡΠ΅ Ρ Π°ΡΠ΅ΡΠ°Π»ΠΈ ΠΈΡΡΠΎΡΠΈΡΡΠ° Π½Π° Π½Π°ΡΠ΅ΡΠΎ ΠΌΠΈΠ³ΡΠ°ΡΠΈΠΎΠ½Π½ΠΎ ΠΏΡΠΈΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ Π½Π° Kubernetes. ΠΡΠΎΠ΄ΡΠ»ΠΆΠ°Π²Π°ΠΌΠ΅ Π΄Π° ΠΌΠΈΠ³ΡΠΈΡΠ°ΠΌΠ΅ Π²ΡΠΈΡΠΊΠΈ Π½ΠΎΠ²ΠΈ ΡΡΠ»ΡΠ³ΠΈ ΠΊΡΠΌ ΠΊΠ»ΡΡΡΠ΅ΡΠ°. ΠΠΎΠΏΡΠ»Π½ΠΈΡΠ΅Π»Π½Π° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° Π½Π°ΠΌΠ΅ΡΠΈΡΠ΅ Π² ΡΠ»Π΅Π΄Π½ΠΈΡΠ΅ ΠΏΡΠ±Π»ΠΈΠΊΠ°ΡΠΈΠΈ:
- Β«
ΠΠ°ΡΠΎ ΠΌΠΈΠ³ΡΠΈΡΠ°ΠΌΠ΅ ΠΊΡΠΌ Kubernetes? Β»; - Β«
GitLab.com Π½Π° Kubernetes Β»; -
ΠΠΏΠΎΡ Π° Π·Π° ΠΌΠΈΠ³ΡΠΈΡΠ°Π½Π΅ΡΠΎ Π½Π° GitLab.com ΠΊΡΠΌ Kubernetes .
PS ΠΎΡ ΠΏΡΠ΅Π²ΠΎΠ΄Π°ΡΠ°
ΠΡΠΎΡΠ΅ΡΠ΅ΡΠ΅ ΡΡΡΠΎ Π² Π½Π°ΡΠΈΡ Π±Π»ΠΎΠ³:
- Β«
3 Π³ΠΎΠ΄ΠΈΠ½ΠΈ Ρ Kubernetes Π² ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΠ²ΠΎ: Π΅ΡΠΎ ΠΊΠ°ΠΊΠ²ΠΎ ΡΠ°Π·Π±ΡΠ°Ρ ΠΌΠ΅ Β»; - Β«
10 ΡΠ΅ΡΡΠΎ ΡΡΠ΅ΡΠ°Π½ΠΈ Π³ΡΠ΅ΡΠΊΠΈ Π² Kubernetes Β»; - Β«
ΠΡΡΠΎΡΠΈΠΈ Π½Π° ΡΡΠΏΠ΅Ρ Π° Π½Π° Kubernetes Π² ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΠ²ΠΎΡΠΎ. Π§Π°ΡΡ 3: GitHub Β»; - Β«
ΠΡΠ΅Ρ ΠΎΠ΄ΡΡ Π½Π° Tinder ΠΊΡΠΌ Kubernetes ".
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: www.habr.com