ΠΠ΄ΡΠ°Π²Π΅ΠΉΡΠ΅ Π²ΡΠΈΡΠΊΠΈ! ΠΠ°Π·Π²Π°ΠΌ ΡΠ΅ ΠΠ°Π²Π΅Π» ΠΠ³Π°Π»Π΅ΡΠΊΠΈ. Π Π°Π±ΠΎΡΡ ΠΊΠ°ΡΠΎ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΠΈΡΠ΅Π» Π½Π° Π΅ΠΊΠΈΠΏ, ΠΊΠΎΠΉΡΠΎ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ²Π° ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ° Π·Π° Π΄ΠΎΡΡΠ°Π²ΠΊΠ° Lamoda. ΠΡΠ΅Π· 2018 Π³. Π³ΠΎΠ²ΠΎΡΠΈΡ Π½Π° ΠΊΠΎΠ½ΡΠ΅ΡΠ΅Π½ΡΠΈΡΡΠ° HighLoad ++ ΠΈ Π΄Π½Π΅Ρ ΠΈΡΠΊΠ°ΠΌ Π΄Π° ΠΏΡΠ΅Π΄ΡΡΠ°Π²Ρ ΠΏΡΠ΅ΠΏΠΈΡ Π½Π° ΠΌΠΎΡ Π΄ΠΎΠΊΠ»Π°Π΄.
ΠΠΎΡΡΠ° ΡΠ΅ΠΌΠ° Π΅ ΠΏΠΎΡΠ²Π΅ΡΠ΅Π½Π° Π½Π° ΠΎΠΏΠΈΡΠ° Π½Π° Π½Π°ΡΠ°ΡΠ° ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΡ Π² Π²Π½Π΅Π΄ΡΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° ΡΠΈΡΡΠ΅ΠΌΠΈ ΠΈ ΡΡΠ»ΡΠ³ΠΈ Π² ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΡΡΠ΅Π΄ΠΈ. ΠΠ°ΠΏΠΎΡΠ²Π°ΠΉΠΊΠΈ ΠΎΡ Π½Π°ΡΠΈΡΠ΅ ΠΏΡΠ°ΠΈΡΡΠΎΡΠΈΡΠ΅ΡΠΊΠΈ Π²ΡΠ΅ΠΌΠ΅Π½Π°, ΠΊΠΎΠ³Π°ΡΠΎ Π²Π½Π΅Π΄ΡΠΈΡ ΠΌΠ΅ Π²ΡΠΈΡΠΊΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ Π² ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΈ Π²ΠΈΡΡΡΠ°Π»Π½ΠΈ ΡΡΡΠ²ΡΡΠΈ, Π·Π°Π²ΡΡΡΠ²Π°ΠΉΠΊΠΈ Ρ ΠΏΠΎΡΡΠ΅ΠΏΠ΅Π½Π΅Π½ ΠΏΡΠ΅Ρ ΠΎΠ΄ ΠΎΡ Π²Π½Π΅Π΄ΡΡΠ²Π°Π½Π΅ Π½Π° Nomad ΠΊΡΠΌ Kubernetes. Π©Π΅ Π²ΠΈ ΠΊΠ°ΠΆΠ° Π·Π°ΡΠΎ Π³ΠΎ Π½Π°ΠΏΡΠ°Π²ΠΈΡ ΠΌΠ΅ ΠΈ ΠΊΠ°ΠΊΠ²ΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ ΠΈΠΌΠ°Ρ ΠΌΠ΅ Π² ΠΏΡΠΎΡΠ΅ΡΠ°.
Π Π°Π·ΠΏΠΎΠ»ΠΎΠΆΠ΅ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π²ΡΠ² VM
ΠΠ° Π·Π°ΠΏΠΎΡΠ½Π΅ΠΌ Ρ ΡΠ°ΠΊΡΠ°, ΡΠ΅ ΠΏΡΠ΅Π΄ΠΈ 3 Π³ΠΎΠ΄ΠΈΠ½ΠΈ Π²ΡΠΈΡΠΊΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ ΠΈ ΡΡΠ»ΡΠ³ΠΈ Π½Π° ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΡΡΠ° Π±ΡΡ Π° ΡΠ°Π·ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈ Π½Π° ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΈ Π²ΠΈΡΡΡΠ°Π»Π½ΠΈ ΡΡΡΠ²ΡΡΠΈ. Π’Π΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠΈ Π±Π΅ΡΠ΅ ΠΎΡΠ³Π°Π½ΠΈΠ·ΠΈΡΠ°Π½ ΠΏΠΎ ΡΠ°ΠΊΡΠ² Π½Π°ΡΠΈΠ½, ΡΠ΅ ΡΠ΅Π»ΠΈΡΡ ΠΊΠΎΠ΄ Π½Π° Π½Π°ΡΠΈΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΠΈ Π΄Π° Π»Π΅ΠΆΠΈ ΠΈ Π΄Π° ΡΠ΅ ΡΠ³Π»ΠΎΠ±ΡΠ²Π° Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΈ Π·Π° Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ½ΠΎ ΡΠ³Π»ΠΎΠ±ΡΠ²Π°Π½Π΅, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΠΊΠΈ jenkins. Π‘ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° Ansible ΡΠΎΠΉ Π²Π΅ΡΠ΅ Π±Π΅ΡΠ΅ ΡΠ°Π·Π³ΡΡΠ½Π°Ρ ΠΎΡ Π½Π°ΡΠ°ΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ° Π·Π° ΠΊΠΎΠ½ΡΡΠΎΠ» Π½Π° Π²Π΅ΡΡΠΈΠΈΡΠ΅ ΠΊΡΠΌ Π²ΠΈΡΡΡΠ°Π»Π½ΠΈ ΡΡΡΠ²ΡΡΠΈ. Π ΡΡΡΠΎΡΠΎ Π²ΡΠ΅ΠΌΠ΅ Π²ΡΡΠΊΠ° ΡΠΈΡΡΠ΅ΠΌΠ°, ΠΊΠΎΡΡΠΎ Π±Π΅ΡΠ΅ Π² Π½Π°ΡΠ°ΡΠ° ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΡ, Π±Π΅ΡΠ΅ ΡΠ°Π·ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½Π° Π½Π° ΠΏΠΎΠ½Π΅ 2 ΡΡΡΠ²ΡΡΠ°: Π΅Π΄ΠΈΠ½ ΠΎΡ ΡΡΡ - Π½Π° Π³Π»Π°Π²Π°ΡΠ°, Π²ΡΠΎΡΠΈΡΡ - Π½Π° ΠΎΠΏΠ°ΡΠΊΠ°ΡΠ°. Π’Π΅Π·ΠΈ Π΄Π²Π΅ ΡΠΈΡΡΠ΅ΠΌΠΈ Π±ΡΡ Π° Π°Π±ΡΠΎΠ»ΡΡΠ½ΠΎ ΠΈΠ΄Π΅Π½ΡΠΈΡΠ½ΠΈ Π΅Π΄Π½Π° Ρ Π΄ΡΡΠ³Π° Π²ΡΠ² Π²ΡΠΈΡΠΊΠΈΡΠ΅ ΡΠΈ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ, ΠΌΠΎΡΠ½ΠΎΡΡ, ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ ΠΈ Ρ.Π½. ΠΠ΄ΠΈΠ½ΡΡΠ²Π΅Π½Π°ΡΠ° ΡΠ°Π·Π»ΠΈΠΊΠ° ΠΌΠ΅ΠΆΠ΄Ρ ΡΡΡ Π΅, ΡΠ΅ Π³Π»Π°Π²Π°ΡΠ° ΠΏΠΎΠ»ΡΡΠ°Π²Π° ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΡΠΊΠΈ ΡΡΠ°ΡΠΈΠΊ, Π΄ΠΎΠΊΠ°ΡΠΎ ΠΎΠΏΠ°ΡΠΊΠ°ΡΠ° Π½ΠΈΠΊΠΎΠ³Π° Π½Π΅ ΠΏΠΎΠ»ΡΡΠ°Π²Π° ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΡΠΊΠΈ ΡΡΠ°ΡΠΈΠΊ Π·Π° ΡΠ΅Π±Π΅ ΡΠΈ.
ΠΠ°ΡΠΎ Π±Π΅ΡΠ΅ Π½Π°ΠΏΡΠ°Π²Π΅Π½ΠΎ ΡΠΎΠ²Π°?
ΠΠΎΠ³Π°ΡΠΎ Π²Π½Π΅Π΄ΡΠΈΡ ΠΌΠ΅ Π½ΠΎΠ²ΠΈ Π²Π΅ΡΡΠΈΠΈ Π½Π° Π½Π°ΡΠ΅ΡΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΠΈΡΠΊΠ°Ρ ΠΌΠ΅ Π΄Π° ΠΎΡΠΈΠ³ΡΡΠΈΠΌ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π·Π° Π±Π΅Π·ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ½ΠΎ Π²Π½Π΅Π΄ΡΡΠ²Π°Π½Π΅, ΡΠΎΠ΅ΡΡ Π±Π΅Π· Π·Π°Π±Π΅Π»Π΅ΠΆΠΈΠΌΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΡΡΠ²ΠΈΡ Π·Π° ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΠΈΡΠ΅. Π’ΠΎΠ²Π° Π±Π΅ΡΠ΅ ΠΏΠΎΡΡΠΈΠ³Π½Π°ΡΠΎ Π±Π»Π°Π³ΠΎΠ΄Π°ΡΠ΅Π½ΠΈΠ΅ Π½Π° ΡΠ°ΠΊΡΠ°, ΡΠ΅ ΡΠ»Π΅Π΄Π²Π°ΡΠΎΡΠΎ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠ°Π½ΠΎ ΠΈΠ·Π΄Π°Π½ΠΈΠ΅, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΡΠΎ Ansible, Π±Π΅ΡΠ΅ ΠΏΡΡΠ½Π°ΡΠΎ Π΄ΠΎ ΠΊΡΠ°Ρ. Π’Π°ΠΌ Ρ ΠΎΡΠ°ΡΠ°, ΡΡΠ°ΡΡΠ²Π°Π»ΠΈ Π² Π²Π½Π΅Π΄ΡΡΠ²Π°Π½Π΅ΡΠΎ, ΠΌΠΎΠΆΠ΅Ρ Π° Π΄Π° ΠΏΡΠΎΠ²Π΅ΡΡΡ ΠΈ Π΄Π° ΡΠ΅ ΡΠ²Π΅ΡΡΡ, ΡΠ΅ Π²ΡΠΈΡΠΊΠΎ Π΅ Π½Π°ΡΠ΅Π΄: Π²ΡΠΈΡΠΊΠΈ ΠΏΠΎΠΊΠ°Π·Π°ΡΠ΅Π»ΠΈ, ΡΠ΅ΠΊΡΠΈΠΈ ΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΡΠ°Π±ΠΎΡΡΡ; Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΈΡΠ΅ ΡΠΊΡΠΈΠΏΡΠΎΠ²Π΅ ΡΠ΅ ΡΡΠ°ΡΡΠΈΡΠ°Ρ. ΠΠ΄Π²Π° ΡΠ»Π΅Π΄ ΠΊΠ°ΡΠΎ ΡΠ΅ ΡΠ±Π΅Π΄ΠΈΡ Π°, ΡΠ΅ Π²ΡΠΈΡΠΊΠΎ Π΅ Π½Π°ΡΠ΅Π΄, Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ ΡΠ΅ ΠΏΡΠ΅Π²ΠΊΠ»ΡΡΠΈ. Π’ΠΎΠΉ Π·Π°ΠΏΠΎΡΠ½Π° Π΄Π° Ρ ΠΎΠ΄ΠΈ Π½Π° ΡΡΡΠ²ΡΡΠ°, ΠΊΠΎΠΉΡΠΎ Π±Π΅ΡΠ΅ ΠΎΠΏΠ°ΡΠΊΠ° ΠΏΡΠ΅Π΄ΠΈ. Π ΡΠΎΠ·ΠΈ, ΠΊΠΎΠΉΡΠΎ ΠΏΡΠ΅Π΄ΠΈ ΡΠΎΠ²Π° Π±Π΅ΡΠ΅ Π³Π»Π°Π²Π°ΡΠ°, ΠΎΡΡΠ°Π½Π° Π±Π΅Π· ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΡΠΊΠΈ ΡΡΠ°ΡΠΈΠΊ, Π΄ΠΎΠΊΠ°ΡΠΎ Ρ ΠΏΡΠ΅Π΄ΠΈΡΠ½Π°ΡΠ° Π²Π΅ΡΡΠΈΡ Π½Π° Π½Π°ΡΠ΅ΡΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π±Π΅ΡΠ΅ Π½Π°Π»ΠΈΡΠ½Π° Π½Π° Π½Π΅Π³ΠΎ.
Π’Π°ΠΊΠ° ΡΠ΅ Π±Π΅ΡΠ΅ Π±Π΅Π·ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ½ΠΎ Π·Π° ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΠΈΡΠ΅. Π’ΡΠΉ ΠΊΠ°ΡΠΎ ΠΏΡΠ΅Π²ΠΊΠ»ΡΡΠ²Π°Π½Π΅ΡΠΎ Π΅ ΠΌΠΈΠ³Π½ΠΎΠ²Π΅Π½ΠΎ, ΡΡΠΉ ΠΊΠ°ΡΠΎ ΡΠΎΠ²Π° Π΅ ΠΏΡΠΎΡΡΠΎ ΠΏΡΠ΅Π²ΠΊΠ»ΡΡΠ²Π°Π½Π΅ Π½Π° Π±Π°Π»Π°Π½ΡΡΠΎΡ. ΠΠ½ΠΎΠ³ΠΎ Π΅ Π»Π΅ΡΠ½ΠΎ Π΄Π° ΡΠ΅ Π²ΡΡΠ½Π΅ΡΠ΅ ΠΊΡΠΌ ΠΏΡΠ΅Π΄ΠΈΡΠ½Π°ΡΠ° Π²Π΅ΡΡΠΈΡ, ΠΊΠ°ΡΠΎ ΠΏΡΠΎΡΡΠΎ ΠΏΡΠ΅Π²ΠΊΠ»ΡΡΠΈΡΠ΅ ΠΎΠ±ΡΠ°ΡΠ½ΠΎ Π±Π°Π»Π°Π½ΡΠΈΡΠ°. ΠΠΎΠΆΠ΅Ρ ΠΌΠ΅ ΡΡΡΠΎ Π΄Π° ΡΠ΅ ΡΠ²Π΅ΡΠΈΠΌ, ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ Π΅ Π³ΠΎΡΠΎΠ²ΠΎ Π·Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΠ²ΠΎ Π΄ΠΎΡΠΈ ΠΏΡΠ΅Π΄ΠΈ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΡΠΊΠΈΡΡ ΡΡΠ°ΡΠΈΠΊ Π΄Π° ΠΎΡΠΈΠ΄Π΅ ΠΊΡΠΌ Π½Π΅Π³ΠΎ, ΠΊΠΎΠ΅ΡΠΎ Π±Π΅ΡΠ΅ Π΄ΠΎΡΡΠ° ΡΠ΄ΠΎΠ±Π½ΠΎ.
ΠΠ°ΠΊΠ²ΠΈ Π΄ΠΎΠ±ΡΠΎΠ΄Π΅ΡΠ΅Π»ΠΈ Π²ΠΈΠΆΠ΄Π°ΠΌΠ΅ Π²ΡΠ² Π²ΡΠΈΡΠΊΠΎ ΡΠΎΠ²Π°?
- ΠΡΡΠ²ΠΎ, ΡΠΎΠ²Π° Π΅ Π΄ΠΎΡΡΠ°ΡΡΡΠ½ΠΎ ΠΏΡΠΎΡΡΠΎ ΡΠ°Π±ΠΎΡΠΈ. ΠΡΠ΅ΠΊΠΈ ΡΠ°Π·Π±ΠΈΡΠ° ΠΊΠ°ΠΊ ΡΠ°Π±ΠΎΡΠΈ ΡΠ°ΠΊΠ°Π²Π° ΡΡ Π΅ΠΌΠ° Π·Π° ΡΠ°Π·ΠΏΠΎΠ»Π°Π³Π°Π½Π΅, Π·Π°ΡΠΎΡΠΎ ΠΏΠΎΠ²Π΅ΡΠ΅ΡΠΎ Ρ ΠΎΡΠ° Π½ΡΠΊΠΎΠ³Π° ΡΠ° ΡΠ°Π·ΠΏΠΎΠ»Π°Π³Π°Π»ΠΈ Π½Π° ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΈ Π²ΠΈΡΡΡΠ°Π»Π½ΠΈ ΡΡΡΠ²ΡΡΠΈ.
- Π’ΠΎΠ²Π° Π΅ Π΄ΠΎΡΡΠ°ΡΡΡΠ½ΠΎ Π½Π°Π΄Π΅ΠΆΠ΄Π½ΠΎ, ΡΡΠΉ ΠΊΠ°ΡΠΎ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΡΡΠ° Π·Π° Π²Π½Π΅Π΄ΡΡΠ²Π°Π½Π΅ Π΅ ΠΏΡΠΎΡΡΠ°, ΡΠ΅ΡΡΠ²Π°Π½Π° ΠΎΡ Ρ ΠΈΠ»ΡΠ΄ΠΈ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ. ΠΠΈΠ»ΠΈΠΎΠ½ΠΈ ΡΡΡΠ²ΡΡΠΈ ΡΠ΅ ΡΠ°Π·ΠΏΠΎΠ»Π°Π³Π°Ρ ΠΏΠΎ ΡΠΎΠ·ΠΈ Π½Π°ΡΠΈΠ½. Π’ΡΡΠ΄Π½ΠΎ Π΅ Π΄Π° ΡΡΡΠΏΠΈΡ Π½Π΅ΡΠΎ.
- Π Π½Π°ΠΉ-Π½Π°ΠΊΡΠ°Ρ ΠΌΠΎΠΆΠ΅Ρ ΠΌΠ΅ Π΄Π° ΠΏΠΎΠ»ΡΡΠΈΠΌ Π°ΡΠΎΠΌΠ½ΠΈ ΡΠ°Π·ΠΏΠΎΠ»Π°Π³Π°Π½ΠΈΡ. ΠΠ½Π΅Π΄ΡΡΠ²Π°Π½ΠΈΡ, ΠΊΠΎΠΈΡΠΎ ΡΠ΅ ΡΠ»ΡΡΠ²Π°Ρ Π΅Π΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ Π·Π° ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΠΈΡΠ΅, Π±Π΅Π· Π·Π°Π±Π΅Π»Π΅ΠΆΠΈΠΌ Π΅ΡΠ°ΠΏ Π½Π° ΠΏΡΠ΅Π²ΠΊΠ»ΡΡΠ²Π°Π½Π΅ ΠΌΠ΅ΠΆΠ΄Ρ ΡΡΠ°ΡΠ°ΡΠ° Π²Π΅ΡΡΠΈΡ ΠΈ Π½ΠΎΠ²Π°ΡΠ°.
ΠΠΎ Π²ΡΠ² Π²ΡΠΈΡΠΊΠΎ ΡΠΎΠ²Π° Π²ΠΈΠ΄ΡΡ ΠΌΠ΅ ΠΈ Π½ΡΠΊΠΎΠ»ΠΊΠΎ Π½Π΅Π΄ΠΎΡΡΠ°ΡΡΠΊΠ°:
- Π Π΄ΠΎΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊΡΠΌ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΠ²Π΅Π½Π°ΡΠ° ΡΡΠ΅Π΄Π°, ΡΡΠ΅Π΄Π°ΡΠ° Π·Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ°, ΠΈΠΌΠ° ΠΈ Π΄ΡΡΠ³ΠΈ ΡΡΠ΅Π΄ΠΈ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, qa ΠΈ ΠΏΡΠ΅Π΄ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΠ²ΠΎ. ΠΠΎ ΡΠΎΠ²Π° Π²ΡΠ΅ΠΌΠ΅ ΠΈΠΌΠ°Ρ ΠΌΠ΅ ΠΌΠ½ΠΎΠ³ΠΎ ΡΡΡΠ²ΡΡΠΈ ΠΈ ΠΎΠΊΠΎΠ»ΠΎ 60 ΡΡΠ»ΡΠ³ΠΈ. ΠΠΎΡΠ°Π΄ΠΈ ΡΠ°Π·ΠΈ ΠΏΡΠΈΡΠΈΠ½Π° ΡΡΡΠ±Π²Π°ΡΠ΅ Π·Π° Π²ΡΡΠΊΠ° ΡΡΠ»ΡΠ³Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ°ΠΉΡΠ΅ Π½Π°ΠΉ-Π½ΠΎΠ²Π°ΡΠ° Π²Π΅ΡΡΠΈΡ Π·Π° Π½Π΅Ρ Π²ΠΈΡΡΡΠ°Π»Π½Π° ΠΌΠ°ΡΠΈΠ½Π°. ΠΡΠ²Π΅Π½ ΡΠΎΠ²Π°, Π°ΠΊΠΎ ΠΈΡΠΊΠ°ΡΠ΅ Π΄Π° Π°ΠΊΡΡΠ°Π»ΠΈΠ·ΠΈΡΠ°ΡΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΠΈΠ»ΠΈ Π΄Π° ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°ΡΠ΅ Π½ΠΎΠ²ΠΈ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ, ΡΡΡΠ±Π²Π° Π΄Π° Π½Π°ΠΏΡΠ°Π²ΠΈΡΠ΅ ΡΠΎΠ²Π° Π²ΡΠ² Π²ΡΠΈΡΠΊΠΈ ΡΡΠ΅Π΄ΠΈ. Π‘ΡΡΠΎ ΡΠ°ΠΊΠ° Π±Π΅ΡΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π΄Π° ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·ΠΈΡΠ°ΡΠ΅ Π²ΡΠ΅ΠΌΠ΅ΡΠΎ, ΠΊΠΎΠ³Π°ΡΠΎ ΡΠ΅ Π²Π½Π΅Π΄ΡΠΈΡΠ΅ ΡΠ»Π΅Π΄Π²Π°ΡΠ°ΡΠ° Π½ΠΎΠ²Π° Π²Π΅ΡΡΠΈΡ Π½Π° Π²Π°ΡΠ΅ΡΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Ρ Π²ΡΠ΅ΠΌΠ΅ΡΠΎ, ΠΊΠΎΠ³Π°ΡΠΎ devops ΠΈΠ·ΠΏΡΠ»Π½ΡΠ²Π° Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΈΡΠ΅ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ Π½Π° ΡΡΠ΅Π΄Π°ΡΠ°. Π ΡΠΎΠ·ΠΈ ΡΠ»ΡΡΠ°ΠΉ Π΅ Π»Π΅ΡΠ½ΠΎ Π΄Π° ΠΏΠΎΠΏΠ°Π΄Π½Π΅ΠΌ Π² ΡΠΈΡΡΠ°ΡΠΈΡ, Π² ΠΊΠΎΡΡΠΎ Π½Π°ΡΠ°ΡΠ° ΡΡΠ΅Π΄Π° ΡΠ΅ Π±ΡΠ΄Π΅ ΠΌΠ°Π»ΠΊΠΎ ΠΏΠΎ-ΡΠ°Π·Π»ΠΈΡΠ½Π° Π½Π°Π²Π΅Π΄Π½ΡΠΆ Π²ΡΠ² Π²ΡΠΈΡΠΊΠΈ ΡΡΠ΅Π΄ΠΈ ΠΏΠΎΠ΄ΡΠ΅Π΄. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ Π² QA ΡΡΠ΅Π΄Π° ΡΠ΅ ΠΈΠΌΠ° Π΅Π΄Π½ΠΈ Π²Π΅ΡΡΠΈΠΈ Π½Π° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ, Π° Π² ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΠ²Π΅Π½Π° β Π΄ΡΡΠ³ΠΈ, ΠΊΠΎΠ΅ΡΠΎ ΡΠ΅ Π΄ΠΎΠ²Π΅Π΄Π΅ Π΄ΠΎ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ.
- Π’ΡΡΠ΄Π½ΠΎΡΡ ΠΏΡΠΈ Π°ΠΊΡΡΠ°Π»ΠΈΠ·ΠΈΡΠ°Π½Π΅ Π½Π° Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΠ°ΡΠ΅ΡΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅. ΠΠ΅ Π·Π°Π²ΠΈΡΠΈ ΠΎΡ ΡΠ΅Π±, Π° ΠΎΡ Π΄ΡΡΠ³ΠΈΡ ΠΎΡΠ±ΠΎΡ. Π ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΎΡ Π΅ΠΊΠΈΠΏΠ° Π½Π° devops, ΠΊΠΎΠΉΡΠΎ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ° ΡΡΡΠ²ΡΡΠΈΡΠ΅. Π’ΡΡΠ±Π²Π° Π΄Π° ΠΈΠΌ Π΄Π°Π΄Π΅ΡΠ΅ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΡΡΠ° Π·Π°Π΄Π°ΡΠ° ΠΈ Π΄Π° ΠΎΠΏΠΈΡΠ΅ΡΠ΅ ΠΊΠ°ΠΊΠ²ΠΎ ΠΈΡΠΊΠ°ΡΠ΅ Π΄Π° Π½Π°ΠΏΡΠ°Π²ΠΈΡΠ΅.
- ΠΠΎ ΡΠΎΠ²Π° Π²ΡΠ΅ΠΌΠ΅ ΡΡΡΠΎ ΠΈΡΠΊΠ°Ρ ΠΌΠ΅ Π΄Π° ΡΠ°Π·Π΄Π΅Π»ΠΈΠΌ Π³ΠΎΠ»Π΅ΠΌΠΈΡΠ΅ Π³ΠΎΠ»Π΅ΠΌΠΈ ΠΌΠΎΠ½ΠΎΠ»ΠΈΡΠΈ, ΠΊΠΎΠΈΡΠΎ ΠΈΠΌΠ°Ρ ΠΌΠ΅, Π½Π° ΠΎΡΠ΄Π΅Π»Π½ΠΈ ΠΌΠ°Π»ΠΊΠΈ ΡΡΠ»ΡΠ³ΠΈ, ΡΡΠΉ ΠΊΠ°ΡΠΎ ΡΠ°Π·Π±ΡΠ°Ρ ΠΌΠ΅, ΡΠ΅ ΡΠ΅ ΠΈΠΌΠ° Π²ΡΠ΅ ΠΏΠΎΠ²Π΅ΡΠ΅ ΠΈ ΠΏΠΎΠ²Π΅ΡΠ΅ ΠΎΡ ΡΡΡ . ΠΠΎ ΡΠΎΠ²Π° Π²ΡΠ΅ΠΌΠ΅ Π²Π΅ΡΠ΅ ΠΈΠΌΠ°Ρ ΠΌΠ΅ ΠΏΠΎΠ²Π΅ΡΠ΅ ΠΎΡ 100. ΠΠ° Π²ΡΡΠΊΠ° Π½ΠΎΠ²Π° ΡΡΠ»ΡΠ³Π° Π±Π΅ΡΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π΄Π° ΡΠ΅ ΡΡΠ·Π΄Π°Π΄Π΅ ΠΎΡΠ΄Π΅Π»Π½Π° Π½ΠΎΠ²Π° Π²ΠΈΡΡΡΠ°Π»Π½Π° ΠΌΠ°ΡΠΈΠ½Π°, ΠΊΠΎΡΡΠΎ ΡΡΡΠΎ ΡΡΡΠ±Π²Π°ΡΠ΅ Π΄Π° Π±ΡΠ΄Π΅ ΠΎΠ±ΡΠ»ΡΠΆΠ²Π°Π½Π° ΠΈ Π²Π½Π΅Π΄ΡΡΠ²Π°Π½Π°. ΠΡΠ²Π΅Π½ ΡΠΎΠ²Π° Π²ΠΈ ΡΡΡΠ±Π²Π° Π½Π΅ Π΅Π΄Π½Π° ΠΊΠΎΠ»Π°, Π° ΠΏΠΎΠ½Π΅ Π΄Π²Π΅. ΠΡΠΌ Π²ΡΠΈΡΠΊΠΎ ΡΠΎΠ²Π° ΡΠ΅ Π΄ΠΎΠ±Π°Π²Ρ QA ΡΡΠ΅Π΄Π°. Π’ΠΎΠ²Π° ΡΡΠ·Π΄Π°Π²Π° ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ ΠΈ Π·Π°ΡΡΡΠ΄Π½ΡΠ²Π° ΠΈΠ·Π³ΡΠ°ΠΆΠ΄Π°Π½Π΅ΡΠΎ ΠΈ ΡΡΠ°ΡΡΠΈΡΠ°Π½Π΅ΡΠΎ Π½Π° Π½ΠΎΠ²ΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ. ΡΠ»ΠΎΠΆΠ΅Π½, ΡΠΊΡΠΏ ΠΈ ΠΏΡΠΎΠ΄ΡΠ»ΠΆΠΈΡΠ΅Π»Π΅Π½ ΠΏΡΠΎΡΠ΅Ρ.
ΠΠ°ΡΠΎΠ²Π° ΡΠ΅ΡΠΈΡ ΠΌΠ΅, ΡΠ΅ Π±ΠΈ Π±ΠΈΠ»ΠΎ ΠΏΠΎ-ΡΠ΄ΠΎΠ±Π½ΠΎ Π΄Π° ΠΏΡΠ΅ΠΌΠΈΠ½Π΅ΠΌ ΠΎΡ Π²Π½Π΅Π΄ΡΡΠ²Π°Π½Π΅ Π½Π° ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΈ Π²ΠΈΡΡΡΠ°Π»Π½ΠΈ ΠΌΠ°ΡΠΈΠ½ΠΈ ΠΊΡΠΌ ΡΠ°Π·ΠΏΠΎΠ»Π°Π³Π°Π½Π΅ Π½Π° Π½Π°ΡΠΈΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π² Π΄ΠΎΠΊΠ΅Ρ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ. ΠΠΊΠΎ ΠΈΠΌΠ°ΡΠ΅ Π΄ΠΎΠΊΠ΅Ρ, ΠΈΠΌΠ°ΡΠ΅ Π½ΡΠΆΠ΄Π° ΠΎΡ ΡΠΈΡΡΠ΅ΠΌΠ°, ΠΊΠΎΡΡΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΈΠ·ΠΏΡΠ»Π½ΡΠ²Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ Π² ΠΊΠ»ΡΡΡΠ΅Ρ, ΡΡΠΉ ΠΊΠ°ΡΠΎ Π½Π΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΡΠΎΡΡΠΎ Π΄Π° ΠΏΠΎΠ²Π΄ΠΈΠ³Π½Π΅ΡΠ΅ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ ΠΏΡΠΎΡΡΠΎ ΡΠ°ΠΊΠ°. ΠΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΎ ΠΈΡΠΊΠ°ΡΠ΅ Π΄Π° ΡΠ»Π΅Π΄ΠΈΡΠ΅ ΠΊΠΎΠ»ΠΊΠΎ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ° ΡΠ° ΠΏΠΎΠ²Π΄ΠΈΠ³Π½Π°ΡΠΈ, ΡΠ°ΠΊΠ° ΡΠ΅ Π΄Π° ΡΠ΅ ΠΏΠΎΠ²Π΄ΠΈΠ³Π°Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ½ΠΎ. ΠΠΎΡΠ°Π΄ΠΈ ΡΠ°Π·ΠΈ ΠΏΡΠΈΡΠΈΠ½Π° ΡΡΡΠ±Π²Π°ΡΠ΅ Π΄Π° ΠΈΠ·Π±Π΅ΡΠ΅ΠΌ ΡΠΈΡΡΠ΅ΠΌΠ° Π·Π° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅.
ΠΡΠ»Π³ΠΎ ΠΌΠΈΡΠ»ΠΈΡ ΠΌΠ΅ ΠΊΠΎΠΉ Π΄Π° Π²Π·Π΅ΠΌΠ΅ΠΌ. Π€Π°ΠΊΡ Π΅, ΡΠ΅ ΠΏΠΎ ΡΠΎΠ²Π° Π²ΡΠ΅ΠΌΠ΅ ΡΠΎΠ·ΠΈ ΡΡΠ΅ΠΊ Π·Π° ΡΠ°Π·ΠΏΠΎΠ»Π°Π³Π°Π½Π΅ Π½Π° ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΈ Π²ΠΈΡΡΡΠ°Π»Π½ΠΈ ΡΡΡΠ²ΡΡΠΈ Π±Π΅ΡΠ΅ ΠΌΠ°Π»ΠΊΠΎ ΠΎΡΡΠ°ΡΡΠ», ΡΡΠΉ ΠΊΠ°ΡΠΎ Π½ΡΠΌΠ°ΡΠ΅ Π½Π°ΠΉ-Π½ΠΎΠ²ΠΈΡΠ΅ Π²Π΅ΡΡΠΈΠΈ Π½Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΈΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΠΈ. Π Π΅Π΄ΠΈΠ½ ΠΌΠΎΠΌΠ΅Π½Ρ Π΄ΠΎΡΠΈ ΠΈΠΌΠ°ΡΠ΅ FreeBSD, ΠΊΠΎΠ΅ΡΠΎ Π½Π΅ Π±Π΅ΡΠ΅ ΠΌΠ½ΠΎΠ³ΠΎ ΡΠ΄ΠΎΠ±Π½ΠΎ Π·Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ°. Π Π°Π·Π±ΡΠ°Ρ ΠΌΠ΅, ΡΠ΅ ΡΡΡΠ±Π²Π° Π΄Π° ΠΌΠΈΠ³ΡΠΈΡΠ°ΠΌΠ΅ ΠΊΡΠΌ docker Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉ-ΡΠΊΠΎΡΠΎ. ΠΠ°ΡΠΈΡΠ΅ devops ΡΠ°Π·Π³Π»Π΅Π΄Π°Ρ Π° ΡΠ΅Ρ Π½ΠΈΡ ΠΎΠΏΠΈΡ Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΡΠ΅ΡΠ΅Π½ΠΈΡ ΠΈ ΠΈΠ·Π±ΡΠ°Ρ Π° ΡΠΈΡΡΠ΅ΠΌΠ° ΠΊΠ°ΡΠΎ Nomad.
ΠΡΠ΅ΠΌΠΈΠ½Π°Π²Π°Π½Π΅ ΠΊΡΠΌ Nomad
Nomad Π΅ ΠΏΡΠΎΠ΄ΡΠΊΡ Π½Π° HashiCorp. Π’Π΅ ΡΠ° ΠΈΠ·Π²Π΅ΡΡΠ½ΠΈ ΠΈ Ρ Π΄ΡΡΠ³ΠΈΡΠ΅ ΡΠΈ ΡΠ΅ΡΠ΅Π½ΠΈΡ:
"ΠΊΠΎΠ½ΡΡΠ»" Π΅ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ Π·Π° ΠΎΡΠΊΡΠΈΠ²Π°Π½Π΅ Π½Π° ΡΡΠ»ΡΠ³ΠΈ.
"Π’Π΅ΡΠ°ΡΠΎΡΠΌ" - ΡΠΈΡΡΠ΅ΠΌΠ° Π·Π° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° ΡΡΡΠ²ΡΡΠΈ, ΠΊΠΎΡΡΠΎ Π²ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π΄Π° Π³ΠΈ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠ°ΡΠ΅ ΡΡΠ΅Π· ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ, ΡΠ°ΠΊΠ° Π½Π°ΡΠ΅ΡΠ΅Π½Π°ΡΠ° ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ° ΠΊΠ°ΡΠΎ ΠΊΠΎΠ΄.
"ΡΠΊΠΈΡΠ½ΠΈΠΊ" Π²ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π΄Π° ΡΠ°Π·Π³ΡΡΡΠ°ΡΠ΅ Π²ΠΈΡΡΡΠ°Π»Π½ΠΈ ΠΌΠ°ΡΠΈΠ½ΠΈ Π»ΠΎΠΊΠ°Π»Π½ΠΎ ΠΈΠ»ΠΈ Π² ΠΎΠ±Π»Π°ΠΊΠ° ΡΡΠ΅Π· ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ½ΠΈ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΎΠ½Π½ΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅.
ΠΠΎ ΡΠΎΠ²Π° Π²ΡΠ΅ΠΌΠ΅ Nomad ΠΈΠ·Π³Π»Π΅ΠΆΠ΄Π°ΡΠ΅ ΠΊΠ°ΡΠΎ Π΄ΠΎΡΡΠ° ΠΏΡΠΎΡΡΠΎ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅, ΠΊΡΠΌ ΠΊΠΎΠ΅ΡΠΎ ΠΌΠΎΠΆΠ΅ Π±ΡΡΠ·ΠΎ Π΄Π° ΡΠ΅ ΠΏΡΠ΅ΠΌΠΈΠ½Π΅, Π±Π΅Π· Π΄Π° ΡΠ΅ ΠΏΡΠΎΠΌΠ΅Π½Ρ ΡΡΠ»Π°ΡΠ° ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ°. Π Π΄ΠΎΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅, ΡΠΎΠΉ Π΅ Π΄ΠΎΡΡΠ° Π»Π΅ΡΠ΅Π½ Π·Π° Π½Π°ΡΡΠ°Π²Π°Π½Π΅. ΠΡΠΎ Π·Π°ΡΠΎ Π³ΠΎ ΠΈΠ·Π±ΡΠ°Ρ ΠΌΠ΅ ΠΊΠ°ΡΠΎ ΡΠΈΠ»ΡΡΠΈΡΠ°ΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ° Π·Π° Π½Π°ΡΠΈΡ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ.
ΠΠ°ΠΊΠ²ΠΎ Π²ΠΈ Π΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ, Π·Π° Π΄Π° Π²Π½Π΅Π΄ΡΠΈΡΠ΅ Π²Π°ΡΠ°ΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ° Π² Nomad?
- ΠΠ° ΠΏΡΡΠ²ΠΎ ΠΌΡΡΡΠΎ, ΡΡΡΠ±Π²Π° Π΄ΠΎΠΊΠ΅Ρ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΠΠ°ΡΠ΅ΡΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅. Π’ΡΡΠ±Π²Π° Π΄Π° Π³ΠΎ ΠΈΠ·Π³ΡΠ°Π΄ΠΈΡΠ΅ ΠΈ Π΄Π° Π³ΠΎ ΠΏΠΎΡΡΠ°Π²ΠΈΡΠ΅ Π² Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅ΡΠΎ Π½Π° Π΄ΠΎΠΊΠ΅Ρ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ. Π Π½Π°ΡΠΈΡ ΡΠ»ΡΡΠ°ΠΉ ΡΠΎΠ²Π° Π΅ Π°ΡΡΠ΅ΡΠ°ΠΊΡ - ΡΠΈΡΡΠ΅ΠΌΠ°, ΠΊΠΎΡΡΠΎ Π²ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π΄Π° ΠΏΡΡ Π°ΡΠ΅ Π² Π½Π΅Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ Π°ΡΡΠ΅ΡΠ°ΠΊΡΠΈ ΠΎΡ ΡΠ°Π·Π»ΠΈΡΠ΅Π½ ΡΠΈΠΏ. ΠΠΎΠΆΠ΅ Π΄Π° ΡΡΡ ΡΠ°Π½ΡΠ²Π° Π°ΡΡ ΠΈΠ²ΠΈ, Π΄ΠΎΠΊΠ΅Ρ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ, PHP ΠΏΠ°ΠΊΠ΅ΡΠΈ Π·Π° ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡΠ°Π½Π΅, NPM ΠΏΠ°ΠΊΠ΅ΡΠΈ ΠΈ Ρ.Π½.
- Π‘ΡΡΠΎ ΡΠ°ΠΊΠ° Π΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΎΠ½Π΅Π½ ΡΠ°ΠΉΠ», ΠΊΠΎΠΉΡΠΎ ΡΠ΅ ΠΊΠ°ΠΆΠ΅ Π½Π° Nomad ΠΊΠ°ΠΊΠ²ΠΎ, ΠΊΡΠ΄Π΅ ΠΈ Π² ΠΊΠ°ΠΊΠ²ΠΎ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΈΡΠΊΠ°ΡΠ΅ Π΄Π° ΡΠ°Π·ΠΏΠΎΠ»ΠΎΠΆΠΈΡΠ΅.
ΠΠΎΠ³Π°ΡΠΎ Π³ΠΎΠ²ΠΎΡΠΈΠΌ Π·Π° Nomad, ΡΠΎΠΉ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π΅Π·ΠΈΠΊΠ° HCL ΠΊΠ°ΡΠΎ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΎΠ½Π΅Π½ ΡΠ°ΠΉΠ»ΠΎΠ² ΡΠΎΡΠΌΠ°Ρ, ΠΊΠΎΠ΅ΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π²Π° ΠΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΎΠ½Π΅Π½ Π΅Π·ΠΈΠΊ Π½Π° HashiCorp. Π’ΠΎΠ²Π° Π΅ Π½Π°Π΄ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ Π½Π° Yaml, ΠΊΠΎΠ΅ΡΠΎ Π²ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π΄Π° ΠΎΠΏΠΈΡΠ΅ΡΠ΅ ΡΡΠ»ΡΠ³Π°ΡΠ° ΡΠΈ Ρ ΡΠ΅ΡΠΌΠΈΠ½ΠΈ Π½Π° Nomad.
Π’Ρ Π²ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π΄Π° ΠΊΠ°ΠΆΠ΅ΡΠ΅ ΠΊΠΎΠ»ΠΊΠΎ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ° ΠΈΡΠΊΠ°ΡΠ΅ Π΄Π° ΡΠ°Π·ΠΏΠΎΠ»ΠΎΠΆΠΈΡΠ΅, ΠΎΡ ΠΊΠΎΠΈ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ Π΄Π° ΠΏΡΠ΅Ρ
Π²ΡΡΠ»ΠΈΡΠ΅ ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΈ ΠΊΡΠΌ ΡΡΡ
ΠΏΠΎ Π²ΡΠ΅ΠΌΠ΅ Π½Π° ΡΠ°Π·Π³ΡΡΡΠ°Π½Π΅ΡΠΎ. Π’Π°ΠΊΠ° ΡΠ΅ ΠΏΠΎΠ΄Π°Π²Π°ΡΠ΅ ΡΠΎΠ·ΠΈ ΡΠ°ΠΉΠ» Π½Π° Nomad ΠΈ ΡΠΎΠΉ ΡΡΠ°ΡΡΠΈΡΠ° ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΈ ΠΊΡΠΌ ΠΏΡΠΎΠ΄ΡΠΊΡΠΈΡΡΠ° ΡΠΏΠΎΡΠ΅Π΄ Π½Π΅Π³ΠΎ.
Π Π½Π°ΡΠΈΡ ΡΠ»ΡΡΠ°ΠΉ ΡΠ°Π·Π±ΡΠ°Ρ ΠΌΠ΅, ΡΠ΅ ΠΏΡΠΎΡΡΠΎ ΠΏΠΈΡΠ°Π½Π΅ΡΠΎ Π½Π° Π°Π±ΡΠΎΠ»ΡΡΠ½ΠΎ Π΅Π΄Π½Π°ΠΊΠ²ΠΈ, ΠΈΠ΄Π΅Π½ΡΠΈΡΠ½ΠΈ HCL ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ Π·Π° Π²ΡΡΠΊΠ° ΡΡΠ»ΡΠ³Π° Π½ΡΠΌΠ° Π΄Π° Π΅ ΠΌΠ½ΠΎΠ³ΠΎ ΡΠ΄ΠΎΠ±Π½ΠΎ, Π·Π°ΡΠΎΡΠΎ ΠΈΠΌΠ° ΠΌΠ½ΠΎΠ³ΠΎ ΡΡΠ»ΡΠ³ΠΈ ΠΈ ΠΏΠΎΠ½ΡΠΊΠΎΠ³Π° ΠΈΡΠΊΠ°ΡΠ΅ Π΄Π° Π³ΠΈ Π°ΠΊΡΡΠ°Π»ΠΈΠ·ΠΈΡΠ°ΡΠ΅. Π‘Π»ΡΡΠ²Π° ΡΠ΅ Π΅Π΄Π½Π° ΡΡΠ»ΡΠ³Π° Π΄Π° Π±ΡΠ΄Π΅ Π²Π½Π΅Π΄ΡΠ΅Π½Π° Π½Π΅ Π² Π΅Π΄ΠΈΠ½ Π΅ΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ, Π° Π² ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ Π΅Π΄Π½Π° ΠΎΡ ΡΠΈΡΡΠ΅ΠΌΠΈΡΠ΅, ΠΊΠΎΠΈΡΠΎ ΠΈΠΌΠ°ΠΌΠ΅ Π² ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΠ²ΠΎ, ΠΈΠΌΠ° Π½Π°Π΄ 100 Π΅ΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠ° Π² ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΠ²ΠΎ. Π’Π΅ ΡΠ°Π±ΠΎΡΡΡ ΠΎΡ Π΅Π΄Π½ΠΈ ΠΈ ΡΡΡΠΈ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ, Π½ΠΎ ΡΠ΅ ΡΠ°Π·Π»ΠΈΡΠ°Π²Π°Ρ ΠΏΠΎ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΎΠ½Π½ΠΈΡΠ΅ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΠΈ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΎΠ½Π½ΠΈΡΠ΅ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅.
ΠΠ°ΡΠΎΠ²Π° ΡΠ΅ΡΠΈΡ ΠΌΠ΅, ΡΠ΅ ΡΠ΅ Π±ΡΠ΄Π΅ ΡΠ΄ΠΎΠ±Π½ΠΎ Π·Π° Π½Π°Ρ Π΄Π° ΡΡΡ ΡΠ°Π½ΡΠ²Π°ΠΌΠ΅ Π²ΡΠΈΡΠΊΠΈ Π½Π°ΡΠΈ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΎΠ½Π½ΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ Π·Π° Π²Π½Π΅Π΄ΡΡΠ²Π°Π½Π΅ Π² Π΅Π΄Π½ΠΎ ΠΎΠ±ΡΠΎ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅. ΠΠΎ ΡΠΎΠ·ΠΈ Π½Π°ΡΠΈΠ½ ΡΠ΅ ΡΡΠ°Π½Π°Ρ Π° Π²ΠΈΠ΄ΠΈΠΌΠΈ: Π±ΡΡ Π° Π»Π΅ΡΠ½ΠΈ Π·Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° ΠΈ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΡΠ΅ Π²ΠΈΠ΄ΠΈ ΠΊΠ°ΠΊΠ²ΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ ΠΈΠΌΠ°ΠΌΠ΅. ΠΠΊΠΎ Π΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ, ΡΡΡΠΎ ΡΠ°ΠΊΠ° Π΅ Π»Π΅ΡΠ½ΠΎ Π΄Π° Π°ΠΊΡΡΠ°Π»ΠΈΠ·ΠΈΡΠ°ΡΠ΅ ΠΈΠ»ΠΈ ΠΏΡΠΎΠΌΠ΅Π½ΠΈΡΠ΅ Π½Π΅ΡΠΎ. ΠΠΎΠ±Π°Π²ΡΠ½Π΅ΡΠΎ Π½Π° Π½ΠΎΠ²Π° ΡΠΈΡΡΠ΅ΠΌΠ° ΡΡΡΠΎ Π½Π΅ Π΅ ΡΡΡΠ΄Π½ΠΎ - ΠΏΡΠΎΡΡΠΎ Π΄ΠΎΠ±Π°Π²Π΅ΡΠ΅ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΎΠ½Π΅Π½ ΡΠ°ΠΉΠ» Π² Π½ΠΎΠ²Π°ΡΠ° Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ. ΠΡΡΡΠ΅ Π² Π½Π΅Π³ΠΎ ΠΈΠΌΠ° ΡΠ°ΠΉΠ»ΠΎΠ²Π΅: service.hcl, ΠΊΠΎΠΉΡΠΎ ΡΡΠ΄ΡΡΠΆΠ° ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ Π½Π° Π½Π°ΡΠ°ΡΠ° ΡΡΠ»ΡΠ³Π° ΠΈ Π½ΡΠΊΠΎΠΈ env ΡΠ°ΠΉΠ»ΠΎΠ²Π΅, ΠΊΠΎΠΈΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π°Ρ ΡΠ°Π·ΠΈ ΡΡΠ»ΡΠ³Π°, ΠΊΠΎΡΡΠΎ Π΅ Π²Π½Π΅Π΄ΡΠ΅Π½Π° Π² ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΠ²ΠΎ, Π΄Π° Π±ΡΠ΄Π΅ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠ°Π½Π°.
ΠΡΠΊΠΎΠΈ ΠΎΡ Π½Π°ΡΠΈΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΠΈ ΠΎΠ±Π°ΡΠ΅ ΡΠ΅ Π²Π½Π΅Π΄ΡΡΠ²Π°Ρ Π² ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΠ²ΠΎ Π½Π΅ Π² Π΅Π΄Π½ΠΎ ΠΊΠΎΠΏΠΈΠ΅, Π° Π² Π½ΡΠΊΠΎΠ»ΠΊΠΎ Π½Π°Π²Π΅Π΄Π½ΡΠΆ. ΠΠ°ΡΠΎΠ²Π° ΡΠ΅ΡΠΈΡ
ΠΌΠ΅, ΡΠ΅ ΡΠ΅ Π½ΠΈ Π΅ ΡΠ΄ΠΎΠ±Π½ΠΎ Π΄Π° ΡΡΡ
ΡΠ°Π½ΡΠ²Π°ΠΌΠ΅ Π½Π΅ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ Π² ΡΠΈΡΡΠ°ΡΠ° ΠΈΠΌ ΡΠΎΡΠΌΠ°, Π° ΡΡΡ
Π½Π°ΡΠ° ΡΠ°Π±Π»ΠΎΠ½Π½Π° ΡΠΎΡΠΌΠ°. Π ΠΊΠ°ΡΠΎ Π΅Π·ΠΈΠΊ Π·Π° ΡΠ°Π±Π»ΠΎΠ½ΠΈ, ΠΊΠΎΠΉΡΠΎ ΠΈΠ·Π±ΡΠ°Ρ
ΠΌΠ΅ Π΄ΠΆΠΈΠ½Π΄ΠΆΠ° 2. Π ΡΠΎΠ·ΠΈ ΡΠΎΡΠΌΠ°Ρ ΡΡΡ
ΡΠ°Π½ΡΠ²Π°ΠΌΠ΅ ΠΊΠ°ΠΊΡΠΎ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈΡΠ΅ Π½Π° ΡΠ°ΠΌΠ°ΡΠ° ΡΡΠ»ΡΠ³Π°, ΡΠ°ΠΊΠ° ΠΈ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΈΡΠ΅ Π·Π° Π½Π΅Ρ env ΡΠ°ΠΉΠ»ΠΎΠ²Π΅.
Π Π΄ΠΎΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅, Π½ΠΈΠ΅ ΠΏΠΎΡΡΠ°Π²ΠΈΡ ΠΌΠ΅ Π² Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅ΡΠΎ ΡΠΊΡΠΈΠΏΡ Π·Π° Π²Π½Π΅Π΄ΡΡΠ²Π°Π½Π΅, ΠΊΠΎΠΉΡΠΎ Π΅ ΠΎΠ±Ρ Π·Π° Π²ΡΠΈΡΠΊΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠΈ, ΠΊΠΎΠ΅ΡΠΎ Π²ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π΄Π° ΡΡΠ°ΡΡΠΈΡΠ°ΡΠ΅ ΠΈ Π²Π½Π΅Π΄ΡΠΈΡΠ΅ ΡΡΠ»ΡΠ³Π°ΡΠ° ΡΠΈ Π² ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΠ²ΠΎ, Π² ΠΏΡΠ°Π²ΠΈΠ»Π½Π°ΡΠ° ΡΡΠ΅Π΄Π°, Π² ΠΏΡΠ°Π²ΠΈΠ»Π½Π°ΡΠ° ΡΠ΅Π». Π ΡΠ»ΡΡΠ°Ρ, ΠΊΠΎΠ³Π°ΡΠΎ ΠΏΡΠ΅Π²ΡΡΠ½Π°Ρ ΠΌΠ΅ Π½Π°ΡΠ°ΡΠ° HCL ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ Π² ΡΠ°Π±Π»ΠΎΠ½, ΡΠΎΠ³Π°Π²Π° HCL ΡΠ°ΠΉΠ»ΡΡ, ΠΊΠΎΠΉΡΠΎ ΠΏΡΠ΅Π΄ΠΈ ΡΠΎΠ²Π° Π±Π΅ΡΠ΅ ΠΎΠ±ΠΈΡΠ°ΠΉΠ½Π°ΡΠ° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ Π½Π° Nomad, Π² ΡΠΎΠ·ΠΈ ΡΠ»ΡΡΠ°ΠΉ Π·Π°ΠΏΠΎΡΠ½Π° Π΄Π° ΠΈΠ·Π³Π»Π΅ΠΆΠ΄Π° ΠΌΠ°Π»ΠΊΠΎ ΠΏΠΎ-ΡΠ°Π·Π»ΠΈΡΠ½ΠΎ.
Π’ΠΎΠ΅ΡΡ, Π·Π°ΠΌΠ΅Π½ΠΈΡ
ΠΌΠ΅ Π½ΡΠΊΠΎΠΈ ΠΏΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈ Π·Π° ΠΌΠ΅ΡΡΠΎΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡΡΠ° Ρ Π²ΠΌΡΠΊΠ½Π°ΡΠΈ ΠΏΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈ, ΠΊΠΎΠΈΡΠΎ ΡΠ° Π²Π·Π΅ΡΠΈ ΠΎΡ env ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ ΠΈΠ»ΠΈ Π΄ΡΡΠ³ΠΈ ΠΈΠ·ΡΠΎΡΠ½ΠΈΡΠΈ. ΠΡΠ²Π΅Π½ ΡΠΎΠ²Π° ΠΏΠΎΠ»ΡΡΠΈΡ
ΠΌΠ΅ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΠ° Π΄Π° ΡΡΠ±ΠΈΡΠ°ΠΌΠ΅ HCL ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ½ΠΎ, ΡΠΎΠ΅ΡΡ ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ Π½Π΅ ΡΠ°ΠΌΠΎ ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΈ Π²ΠΌΡΠΊΠ²Π°Π½ΠΈΡ Π½Π° ΠΏΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈ. Π’ΡΠΉ ΠΊΠ°ΡΠΎ jinja ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ° ΡΠΈΠΊΠ»ΠΈ ΠΈ ΡΡΠ»ΠΎΠ²ΠΈΡ, ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΡΡΠΎ Π΄Π° ΡΡΠ·Π΄Π°Π²Π°ΡΠ΅ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΎΠ½Π½ΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ ΡΠ°ΠΌ, ΠΊΠΎΠΈΡΠΎ ΡΠ΅ ΠΏΡΠΎΠΌΠ΅Π½ΡΡ Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ ΠΎΡ ΡΠΎΠ²Π° ΠΊΡΠ΄Π΅ ΡΠΎΡΠ½ΠΎ ΡΠ°Π·Π³ΡΡΡΠ°ΡΠ΅ Π²Π°ΡΠΈΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ.
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ ΠΈΡΠΊΠ°ΡΠ΅ Π΄Π° Π²Π½Π΅Π΄ΡΠΈΡΠ΅ ΡΡΠ»ΡΠ³Π°ΡΠ° ΡΠΈ Π² ΠΏΡΠ΅Π΄ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΠ²ΠΎ ΠΈ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΠ²ΠΎ. ΠΠ° ΠΊΠ°ΠΆΠ΅ΠΌ, ΡΠ΅ Π² ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»Π½Π°ΡΠ° ΠΏΡΠΎΠ΄ΡΠΊΡΠΈΡ Π½Π΅ ΠΈΡΠΊΠ°ΡΠ΅ Π΄Π° ΠΈΠ·ΠΏΡΠ»Π½ΡΠ²Π°ΡΠ΅ cron ΡΠΊΡΠΈΠΏΡΠΎΠ²Π΅, Π° ΠΏΡΠΎΡΡΠΎ ΠΈΡΠΊΠ°ΡΠ΅ Π΄Π° Π²ΠΈΠ΄ΠΈΡΠ΅ ΡΡΠ»ΡΠ³Π°ΡΠ° Π½Π° ΠΎΡΠ΄Π΅Π»Π΅Π½ Π΄ΠΎΠΌΠ΅ΠΉΠ½, Π·Π° Π΄Π° ΡΡΠ΅ ΡΠΈΠ³ΡΡΠ½ΠΈ, ΡΠ΅ ΡΠ°Π±ΠΎΡΠΈ. ΠΠ° Π²ΡΠ΅ΠΊΠΈ, ΠΊΠΎΠΉΡΠΎ Π²Π½Π΅Π΄ΡΡΠ²Π° ΡΡΠ»ΡΠ³Π°, ΠΏΡΠΎΡΠ΅ΡΡΡ Π΅ ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΡΡ ΠΈ ΠΏΡΠΎΠ·ΡΠ°ΡΠ΅Π½. ΠΠΎΡΡΠ°ΡΡΡΠ½ΠΎ Π΅ Π΄Π° ΠΈΠ·ΠΏΡΠ»Π½ΠΈΡΠ΅ ΡΠ°ΠΉΠ»Π° deploy.sh, Π΄Π° ΠΏΠΎΡΠΎΡΠΈΡΠ΅ ΠΊΠΎΡ ΡΡΠ»ΡΠ³Π° ΠΈΡΠΊΠ°ΡΠ΅ Π΄Π° Π²Π½Π΅Π΄ΡΠΈΡΠ΅ ΠΈ ΠΊΡΠΌ ΠΊΠΎΡ ΡΠ΅Π». ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ ΠΈΡΠΊΠ°ΡΠ΅ Π΄Π° ΡΠ°Π·ΠΏΠΎΠ»ΠΎΠΆΠΈΡΠ΅ Π½ΡΠΊΠ°ΠΊΠ²Π° ΡΠΈΡΡΠ΅ΠΌΠ° Π² Π ΡΡΠΈΡ, ΠΠ΅Π»Π°ΡΡΡ ΠΈΠ»ΠΈ ΠΠ°Π·Π°Ρ ΡΡΠ°Π½. ΠΠ° Π΄Π° Π½Π°ΠΏΡΠ°Π²ΠΈΡΠ΅ ΡΠΎΠ²Π°, ΠΏΡΠΎΡΡΠΎ ΠΏΡΠΎΠΌΠ΅Π½Π΅ΡΠ΅ Π΅Π΄ΠΈΠ½ ΠΎΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΈΡΠ΅ ΠΈ ΡΠ΅ ΠΈΠΌΠ°ΡΠ΅ ΠΏΡΠ°Π²ΠΈΠ»Π½ΠΈΡ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΎΠ½Π΅Π½ ΡΠ°ΠΉΠ».
ΠΠΎΠ³Π°ΡΠΎ ΡΡΠ»ΡΠ³Π°ΡΠ° Nomad Π²Π΅ΡΠ΅ Π΅ Π²Π½Π΅Π΄ΡΠ΅Π½Π° Π²ΡΠ² Π²Π°ΡΠΈΡ ΠΊΠ»ΡΡΡΠ΅Ρ, ΡΡ ΠΈΠ·Π³Π»Π΅ΠΆΠ΄Π° ΡΠ°ΠΊΠ°.
ΠΠ°ΡΠΎ Π½Π°ΡΠ°Π»ΠΎ ΠΈΠΌΠ°ΡΠ΅ Π½ΡΠΆΠ΄Π° ΠΎΡ Π²ΡΠ½ΡΠ΅Π½ Π±Π°Π»Π°Π½ΡΡΠΎΡ Π½Π° Π½Π°ΡΠΎΠ²Π°ΡΠ²Π°Π½Π΅ΡΠΎ, ΠΊΠΎΠΉΡΠΎ ΡΠ΅ ΠΏΠΎΠ΅ΠΌΠ΅ ΡΠ΅Π»ΠΈΡ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΡΠΊΠΈ ΡΡΠ°ΡΠΈΠΊ Π² ΡΠ΅Π±Π΅ ΡΠΈ. Π’ΠΎΠΉ ΡΠ΅ ΡΠ°Π±ΠΎΡΠΈ Π·Π°Π΅Π΄Π½ΠΎ Ρ Consul ΠΈ ΡΠ΅ Π½Π°ΡΡΠ°Π²Π° ΠΎΡ Π½Π΅Π³ΠΎ ΠΊΡΠ΄Π΅, Π½Π° ΠΊΠΎΠΉ Π²ΡΠ·Π΅Π», Π½Π° ΠΊΠ°ΠΊΡΠ² IP Π°Π΄ΡΠ΅Ρ ΡΠ΅ Π½Π°ΠΌΠΈΡΠ° Π΄Π°Π΄Π΅Π½Π° ΡΡΠ»ΡΠ³Π°, ΠΊΠΎΡΡΠΎ ΠΎΡΠ³ΠΎΠ²Π°ΡΡ Π½Π° ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎ ΠΈΠΌΠ΅ Π½Π° Π΄ΠΎΠΌΠ΅ΠΉΠ½. Π£ΡΠ»ΡΠ³ΠΈΡΠ΅ Π² Consul ΠΈΠ΄Π²Π°Ρ ΠΎΡ ΡΠ°ΠΌΠΈΡ Nomad. Π’ΡΠΉ ΠΊΠ°ΡΠΎ ΡΠΎΠ²Π° ΡΠ° ΠΏΡΠΎΠ΄ΡΠΊΡΠΈ Π½Π° Π΅Π΄Π½Π° ΠΈ ΡΡΡΠ° ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΡ, ΡΠ΅ ΡΠ° Π΄ΠΎΠ±ΡΠ΅ ΡΠ²ΡΡΠ·Π°Π½ΠΈ. ΠΠΎΠΆΠ΅ΠΌ Π΄Π° ΠΊΠ°ΠΆΠ΅ΠΌ, ΡΠ΅ ΠΈΠ·Π²ΡΠ½ ΠΊΡΡΠΈΡΡΠ° Nomad ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅Π³ΠΈΡΡΡΠΈΡΠ° Π²ΡΠΈΡΠΊΠΈ ΡΡΠ»ΡΠ³ΠΈ, ΡΡΠ°ΡΡΠΈΡΠ°Π½ΠΈ Π² Π½Π΅Π³ΠΎ, Π² Consul.
Π‘Π»Π΅Π΄ ΠΊΠ°ΡΠΎ Π²Π°ΡΠΈΡΡ Π²ΡΠ½ΡΠ΅Π½ Π±Π°Π»Π°Π½ΡΡΠΎΡ Π·Π½Π°Π΅ ΠΊΡΠΌ ΠΊΠΎΡ ΡΡΠ»ΡΠ³Π° Π΄Π° ΠΈΠ·ΠΏΡΠ°ΡΠΈ ΡΡΠ°ΡΠΈΠΊ, ΡΠΎΠΉ Π³ΠΎ ΠΏΡΠ΅Π½Π°ΡΠΎΡΠ²Π° ΠΊΡΠΌ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΡΡΠΈΡ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ ΠΈΠ»ΠΈ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΈ, ΠΊΠΎΠΈΡΠΎ ΡΡΠΎΡΠ²Π΅ΡΡΡΠ²Π°Ρ Π½Π° Π²Π°ΡΠ΅ΡΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅. ΠΡΡΠ΅ΡΡΠ²Π΅Π½ΠΎ Π΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π΄Π° ΡΠ΅ ΠΌΠΈΡΠ»ΠΈ ΠΈ Π·Π° Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΡΠ°. ΠΡΠΏΡΠ΅ΠΊΠΈ ΡΠ΅ Π²ΡΠΈΡΠΊΠΈ ΡΡΠ»ΡΠ³ΠΈ ΡΠ°Π±ΠΎΡΡΡ Π½Π° Π΅Π΄Π½ΠΈ ΠΈ ΡΡΡΠΈ Π²ΠΈΡΡΡΠ°Π»Π½ΠΈ ΠΌΠ°ΡΠΈΠ½ΠΈ Π² ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΈ, ΡΠΎΠ²Π° ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΎ ΠΈΠ·ΠΈΡΠΊΠ²Π° Π²ΡΡΠΊΠ° ΡΡΠ»ΡΠ³Π° Π΄Π° Π±ΡΠ΄Π΅ ΠΎΡΠΊΠ°Π·Π°Π½ ΡΠ²ΠΎΠ±ΠΎΠ΄Π΅Π½ Π΄ΠΎΡΡΡΠΏ Π΄ΠΎ Π²ΡΡΠΊΠ° Π΄ΡΡΠ³Π°. ΠΠΎΡΡΠΈΠ³Π½Π°Ρ ΠΌΠ΅ ΡΠΎΠ²Π° ΡΡΠ΅Π· ΡΠ΅Π³ΠΌΠ΅Π½ΡΠΈΡΠ°Π½Π΅. ΠΡΡΠΊΠ° ΡΡΠ»ΡΠ³Π° Π±Π΅ΡΠ΅ ΡΡΠ°ΡΡΠΈΡΠ°Π½Π° Π² ΡΠΎΠ±ΡΡΠ²Π΅Π½Π° Π²ΠΈΡΡΡΠ°Π»Π½Π° ΠΌΡΠ΅ΠΆΠ°, Π½Π° ΠΊΠΎΡΡΠΎ Π±ΡΡ Π° Π½Π°ΠΏΠΈΡΠ°Π½ΠΈ ΠΏΡΠ°Π²ΠΈΠ»Π° Π·Π° ΠΌΠ°ΡΡΡΡΡΠΈΠ·ΠΈΡΠ°Π½Π΅ ΠΈ ΠΏΡΠ°Π²ΠΈΠ»Π° Π·Π° ΡΠ°Π·ΡΠ΅ΡΠ°Π²Π°Π½Π΅ / ΠΎΡΠΊΠ°Π· Π½Π° Π΄ΠΎΡΡΡΠΏ Π΄ΠΎ Π΄ΡΡΠ³ΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ ΠΈ ΡΡΠ»ΡΠ³ΠΈ. Π’Π΅ ΠΌΠΎΠ³Π°Ρ Π΄Π° Π±ΡΠ΄Π°Ρ ΠΊΠ°ΠΊΡΠΎ Π²ΡΡΡΠ΅ Π² ΡΠΎΠ·ΠΈ ΠΊΠ»ΡΡΡΠ΅Ρ, ΡΠ°ΠΊΠ° ΠΈ ΠΈΠ·Π²ΡΠ½ Π½Π΅Π³ΠΎ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π°ΠΊΠΎ ΠΈΡΠΊΠ°ΡΠ΅ Π΄Π° ΠΏΠΎΠΏΡΠ΅ΡΠΈΡΠ΅ Π½Π° Π΄Π°Π΄Π΅Π½Π° ΡΡΠ»ΡΠ³Π° Π΄Π° ΡΠ΅ ΡΠ²ΡΡΠ·Π²Π° Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π° Π±Π°Π·Π° Π΄Π°Π½Π½ΠΈ, ΡΠΎΠ²Π° ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΡΠ°Π½Π΅ ΡΡΠ΅Π· ΡΠ΅Π³ΠΌΠ΅Π½ΡΠΈΡΠ°Π½Π΅ Π½Π° Π½ΠΈΠ²ΠΎ ΠΌΡΠ΅ΠΆΠ°. Π’ΠΎΠ΅ΡΡ, Π΄ΠΎΡΠΈ ΠΈ ΠΏΠΎ ΠΏΠΎΠ³ΡΠ΅ΡΠΊΠ°, Π½Π΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ»ΡΡΠ°ΠΉΠ½ΠΎ Π΄Π° ΡΠ΅ ΡΠ²ΡΡΠΆΠ΅ΡΠ΅ ΠΎΡ ΡΠ΅ΡΡΠΎΠ²Π°ΡΠ° ΡΡΠ΅Π΄Π° ΠΊΡΠΌ Π²Π°ΡΠ°ΡΠ° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΠ²Π΅Π½Π° Π±Π°Π·Π°.
ΠΠΎΠ»ΠΊΠΎ Π½ΠΈ ΡΡΡΡΠ²Π° ΠΏΡΠ΅Ρ ΠΎΠ΄ΡΡ ΠΊΠ°ΡΠΎ ΠΊΠ°Π΄ΡΠΈ?
ΠΡΠΈΠ±Π»ΠΈΠ·ΠΈΡΠ΅Π»Π½ΠΎ 5-6 ΠΌΠ΅ΡΠ΅ΡΠ° ΠΎΡΠ½Π΅ ΠΏΡΠ΅Ρ ΠΎΠ΄ΡΡ Π½Π° ΡΡΠ»Π°ΡΠ° ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΡ ΠΊΡΠΌ Nomad. ΠΡΠ΅ΠΌΠ΅ΡΡΠΈΡ ΠΌΠ΅ ΡΡΠ»ΡΠ³Π° ΠΏΠΎ ΡΡΠ»ΡΠ³Π°, Π½ΠΎ Ρ Π΄ΠΎΡΡΠ° Π±ΡΡΠ·ΠΈ ΡΠ΅ΠΌΠΏΠΎΠ²Π΅. ΠΡΠ΅ΠΊΠΈ ΠΎΡΠ±ΠΎΡ ΡΡΡΠ±Π²Π°ΡΠ΅ Π΄Π° ΡΡΠ·Π΄Π°Π΄Π΅ ΡΠ²ΠΎΠΈ ΡΠΎΠ±ΡΡΠ²Π΅Π½ΠΈ ΡΠ΅ΡΠ²ΠΈΠ·Π½ΠΈ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΈ.
ΠΡΠ·ΠΏΡΠΈΠ΅Ρ ΠΌΠ΅ ΡΠ°ΠΊΡΠ² ΠΏΠΎΠ΄Ρ ΠΎΠ΄, ΡΠ΅ Π²ΡΠ΅ΠΊΠΈ Π΅ΠΊΠΈΠΏ Π΅ ΠΎΡΠ³ΠΎΠ²ΠΎΡΠ΅Π½ Π·Π° Π΄ΠΎΠΊΠ΅Ρ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡΡΠ° Π½Π° ΡΠ²ΠΎΠΈΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΠΈ Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎ. Devops, ΠΎΡ Π΄ΡΡΠ³Π° ΡΡΡΠ°Π½Π°, ΠΎΡΠΈΠ³ΡΡΡΠ²Π° ΠΎΠ±ΡΠ°ΡΠ° ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ°, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠ° Π·Π° Π²Π½Π΅Π΄ΡΡΠ²Π°Π½Π΅, ΡΠΎΠ΅ΡΡ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° ΡΠ°ΠΌΠΈΡ ΠΊΠ»ΡΡΡΠ΅Ρ, ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° CI ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ° ΠΈ Ρ.Π½. Π ΠΏΠΎ ΡΠΎΠ²Π° Π²ΡΠ΅ΠΌΠ΅ ΠΈΠΌΠ°Ρ ΠΌΠ΅ ΠΏΠΎΠ²Π΅ΡΠ΅ ΠΎΡ 60 ΡΠΈΡΡΠ΅ΠΌΠΈ, ΠΏΡΠ΅ΠΌΠ΅ΡΡΠ΅Π½ΠΈ Π² Nomad, ΠΊΠΎΠ΅ΡΠΎ ΡΠ΅ ΠΎΠΊΠ°Π·Π° ΠΎΠΊΠΎΠ»ΠΎ 2 Ρ ΠΈΠ»ΡΠ΄ΠΈ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ°.
DevOps ΠΎΡΠ³ΠΎΠ²Π°ΡΡ Π·Π° ΡΡΠ»ΠΎΡΡΠ½Π°ΡΠ° ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ° Π½Π° Π²ΡΠΈΡΠΊΠΎ, ΡΠ²ΡΡΠ·Π°Π½ΠΎ Ρ Π²Π½Π΅Π΄ΡΡΠ²Π°Π½Π΅ΡΠΎ, ΡΡΡ ΡΡΡΠ²ΡΡΠΈ. Π Π²ΡΠ΅ΠΊΠΈ Π΅ΠΊΠΈΠΏ Π·Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ°, ΠΎΡ ΡΠ²ΠΎΡ ΡΡΡΠ°Π½Π°, Π΅ ΠΎΡΠ³ΠΎΠ²ΠΎΡΠ΅Π½ Π·Π° Π²Π½Π΅Π΄ΡΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΈ Π·Π° ΡΡΡ Π½Π°ΡΠ° ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½Π° ΡΠΈΡΡΠ΅ΠΌΠ°, ΡΡΠΉ ΠΊΠ°ΡΠΎ Π΅ΠΊΠΈΠΏΡΡ Π·Π½Π°Π΅ ΠΎΡ ΠΊΠ°ΠΊΠ²ΠΎ ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΎ ΡΠ΅ Π½ΡΠΆΠ΄Π°Π΅ Π² ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ΅Π½ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ.
ΠΡΠΈΡΠΈΠ½ΠΈ Π·Π° Π½Π°ΠΏΡΡΠΊΠ°Π½Π΅ Π½Π° Nomad
ΠΠ°ΠΊΠ²ΠΈ ΠΏΡΠ΅Π΄ΠΈΠΌΡΡΠ²Π° ΠΏΠΎΠ»ΡΡΠΈΡ ΠΌΠ΅, ΠΊΠ°ΡΠΎ ΠΏΡΠ΅ΠΌΠΈΠ½Π°Ρ ΠΌΠ΅ ΠΊΡΠΌ Π²Π½Π΅Π΄ΡΡΠ²Π°Π½Π΅, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΠΊΠΈ ΡΡΡΠΎ Nomad ΠΈ docker?
- ΠΠΈΠ΅ ΠΎΡΠΈΠ³ΡΡΠ΅Π½ΠΈ ΡΠ°Π²Π½ΠΈ ΡΡΠ»ΠΎΠ²ΠΈΡ Π·Π° Π²ΡΠΈΡΠΊΠΈ ΡΡΠ΅Π΄ΠΈ. ΠΡΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ°ΡΠ°, QA-ΡΡΠ΅Π΄Π°ΡΠ°, ΠΏΡΠ΅Π΄ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΠ²ΠΎΡΠΎ, ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΠ²ΠΎΡΠΎ ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ Π΅Π΄Π½ΠΈ ΠΈ ΡΡΡΠΈ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ Π½Π° ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΈ, ΡΡΡ ΡΡΡΠΈΡΠ΅ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ. Π‘ΡΠΎΡΠ²Π΅ΡΠ½ΠΎ, Π½ΡΠΌΠ°ΡΠ΅ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ Π½ΠΈΠΊΠ°ΠΊΡΠ² ΡΠ°Π½Ρ Π½Π΅ΡΠΎ ΡΠ°Π·Π»ΠΈΡΠ½ΠΎ ΠΎΡ ΡΠΎΠ²Π°, ΠΊΠΎΠ΅ΡΠΎ ΡΡΠ΅ ΡΠ΅ΡΡΠ²Π°Π»ΠΈ ΠΏΡΠ΅Π΄ΠΈ ΡΠΎΠ²Π° Π»ΠΎΠΊΠ°Π»Π½ΠΎ ΠΈΠ»ΠΈ Π² ΡΠ΅ΡΡΠΎΠ²Π° ΡΡΠ΅Π΄Π°, Π΄Π° ΡΠ΅ ΠΏΠΎΡΠ²ΠΈ Π² ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΠ²ΠΎΡΠΎ.
- ΠΠΈΠ΅ ΡΡΡΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡ ΠΌΠ΅, ΡΠ΅ Π΅ Π΄ΠΎΡΡΠ°ΡΡΡΠ½ΠΎ Π»Π΅ΡΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΡΠ½Π΅ Π½Π° Π½ΠΎΠ²Π° ΡΡΠ»ΡΠ³Π°. ΠΡΠΈΡΠΊΠΈ Π½ΠΎΠ²ΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ ΠΏΠΎ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΠ΅ Π½Π° Π²Π½Π΅Π΄ΡΡΠ²Π°Π½Π΅ΡΠΎ ΡΠ΅ ΡΡΠ°ΡΡΠΈΡΠ°Ρ ΠΌΠ½ΠΎΠ³ΠΎ Π»Π΅ΡΠ½ΠΎ. ΠΠΎΡΡΠ°ΡΡΡΠ½ΠΎ Π΅ Π΄Π° ΠΎΡΠΈΠ΄Π΅ΡΠ΅ Π² Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅ΡΠΎ, ΠΊΠΎΠ΅ΡΠΎ ΡΡΡ ΡΠ°Π½ΡΠ²Π° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈΡΠ΅, Π΄Π° Π΄ΠΎΠ±Π°Π²ΠΈΡΠ΅ ΡΠ»Π΅Π΄Π²Π°ΡΠ°ΡΠ° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ Π·Π° Π²Π°ΡΠ°ΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ° ΡΠ°ΠΌ ΠΈ ΡΡΠ΅ Π³ΠΎΡΠΎΠ²ΠΈ. ΠΠΎΠΆΠ΅ΡΠ΅ Π΄Π° Π²Π½Π΅Π΄ΡΠΈΡΠ΅ Π²Π°ΡΠ°ΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ° Π² ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΠ²ΠΎ Π±Π΅Π· Π΄ΠΎΠΏΡΠ»Π½ΠΈΡΠ΅Π»Π½ΠΈ ΡΡΠΈΠ»ΠΈΡ ΠΎΡ devops.
- Π²ΡΠΈΡΠΊΠΈ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΎΠ½Π½ΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ Π² Π΅Π΄Π½ΠΎ ΠΎΠ±ΡΠΎ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅ ΡΠ΅ ΠΎΠΊΠ°Π·Π° Π² ΠΏΡΠΎΡΠ΅Ρ Π½Π° ΠΏΡΠΎΠ²Π΅ΡΠΊΠ°. Π ΠΌΠΎΠΌΠ΅Π½ΡΠ°, Π² ΠΊΠΎΠΉΡΠΎ ΡΠ°Π·ΠΏΠΎΠ»ΠΎΠΆΠΈΡ ΠΌΠ΅ ΡΠΈΡΡΠ΅ΠΌΠΈΡΠ΅ ΡΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° Π²ΠΈΡΡΡΠ°Π»Π½ΠΈ ΡΡΡΠ²ΡΡΠΈ, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ ΠΌΠ΅ Ansible, Π² ΠΊΠΎΠΉΡΠΎ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈΡΠ΅ Π±ΡΡ Π° Π² ΡΡΡΠΎΡΠΎ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅. ΠΠ° ΠΏΠΎΠ²Π΅ΡΠ΅ΡΠΎ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈ ΠΎΠ±Π°ΡΠ΅ ΡΠΎΠ²Π° Π±Π΅ΡΠ΅ ΠΌΠ°Π»ΠΊΠΎ ΠΏΠΎ-ΡΡΡΠ΄Π½ΠΎ Π·Π° ΡΠ°Π±ΠΎΡΠ°. Π’ΡΠΊ ΠΎΠ±Π΅ΠΌΡΡ ΠΎΡ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ ΠΈ ΠΊΠΎΠ΄, ΠΊΠΎΠΈΡΠΎ ΡΡΡΠ±Π²Π° Π΄Π° Π΄ΠΎΠ±Π°Π²ΠΈΡΠ΅, Π·Π° Π΄Π° Π²Π½Π΅Π΄ΡΠΈΡΠ΅ ΡΡΠ»ΡΠ³Π°ΡΠ°, Π΅ ΡΡΠ°Π½Π°Π» ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎ-ΠΌΠ°Π»ΡΠΊ. ΠΡΠ²Π΅Π½ ΡΠΎΠ²Π° Π·Π° devops Π΅ ΠΌΠ½ΠΎΠ³ΠΎ Π»Π΅ΡΠ½ΠΎ Π΄Π° Π³ΠΎ ΠΏΠΎΠΏΡΠ°Π²ΠΈΡΠ΅ ΠΈΠ»ΠΈ ΠΏΡΠΎΠΌΠ΅Π½ΠΈΡΠ΅. Π ΡΠ»ΡΡΠ°ΠΉ Π½Π° ΠΏΡΠ΅Ρ ΠΎΠ΄ΠΈ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΊΡΠΌ Π½ΠΎΠ²Π° Π²Π΅ΡΡΠΈΡ Π½Π° Nomad, ΡΠ΅ ΠΌΠΎΠ³Π°Ρ Π΄Π° Π²Π·Π΅ΠΌΠ°Ρ ΠΈ ΠΌΠ°ΡΠΎΠ²ΠΎ Π΄Π° Π°ΠΊΡΡΠ°Π»ΠΈΠ·ΠΈΡΠ°Ρ Π²ΡΠΈΡΠΊΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅, ΡΠ°Π·ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈ Π½Π° Π΅Π΄Π½ΠΎ ΠΈ ΡΡΡΠΎ ΠΌΡΡΡΠΎ.
ΠΠΎ ΡΡΡΠΎ ΡΠ°ΠΊΠ° ΡΡΠ΅ΡΠ½Π°Ρ ΠΌΠ΅ Π½ΡΠΊΠΎΠ»ΠΊΠΎ Π½Π΅Π΄ΠΎΡΡΠ°ΡΡΠΊΠ°:
ΠΠΊΠ°Π·Π° ΡΠ΅, ΡΠ΅ Π½ΠΈΠ΅ Π½Π΅ ΡΡΠΏΡ Π΄Π° ΠΏΠΎΡΡΠΈΠ³Π½Π΅ Π±Π΅Π·ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ½ΠΎ Π²Π½Π΅Π΄ΡΡΠ²Π°Π½Π΅ Π² ΡΠ»ΡΡΠ°Ρ Ρ Nomad. ΠΡΠΈ ΡΠ°Π·Π³ΡΡΡΠ°Π½Π΅ Π½Π° ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΈ ΠΎΡ ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΡΡΠ»ΠΎΠ²ΠΈΡ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΎΠΊΠ°ΠΆΠ΅, ΡΠ΅ ΡΠ΅ Π΅ ΠΎΠΊΠ°Π·Π°Π»ΠΎ ΡΠ°Π±ΠΎΡΠ΅ΡΠΎ ΠΈ Nomad Π³ΠΎ Π΅ Π²ΡΠ·ΠΏΡΠΈΠ΅Π» ΠΊΠ°ΡΠΎ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ, Π³ΠΎΡΠΎΠ² Π΄Π° ΠΏΠΎΠ»ΡΡΠΈ ΡΡΠ°ΡΠΈΠΊ. Π’ΠΎΠ²Π° ΡΠ΅ ΡΠ»ΡΡΠΈ Π΄ΠΎΡΠΈ ΠΏΡΠ΅Π΄ΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ Π² Π½Π΅Π³ΠΎ Π΄Π° ΠΈΠΌΠ° Π²ΡΠ΅ΠΌΠ΅ Π΄Π° ΡΡΠ°ΡΡΠΈΡΠ°. ΠΠΎΡΠ°Π΄ΠΈ ΡΠ°Π·ΠΈ ΠΏΡΠΈΡΠΈΠ½Π° ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ° Π·Π°ΠΏΠΎΡΠ½Π° Π΄Π° ΠΈΠ·Π΄Π°Π²Π° 500 Π³ΡΠ΅ΡΠΊΠΈ Π·Π° ΠΊΡΠ°ΡΠΊΠΎ Π²ΡΠ΅ΠΌΠ΅, Π·Π°ΡΠΎΡΠΎ ΡΡΠ°ΡΠΈΠΊΡΡ Π·Π°ΠΏΠΎΡΠ½Π° Π΄Π° ΠΎΡΠΈΠ²Π° ΠΊΡΠΌ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ°, ΠΊΠΎΠΉΡΠΎ Π²ΡΠ΅ ΠΎΡΠ΅ Π½Π΅ Π±Π΅ΡΠ΅ Π³ΠΎΡΠΎΠ² Π΄Π° Π³ΠΎ ΠΏΡΠΈΠ΅ΠΌΠ΅.
Π‘ΡΠ΅ΡΠ°Π»ΠΈ ΡΠΌΠ΅ Π½ΡΠΊΠΎΠΈ ΠΊΡΠ°ΠΉ Π±Π»Π°ΡΠ°ΡΠ°. ΠΠ°ΠΉ-ΡΡΡΠ΅ΡΡΠ²Π΅Π½ΠΈΡΡ Π±ΡΠ³ Π΅, ΡΠ΅ Nomad Π½Π΅ ΡΠ΅ ΡΠΏΡΠ°Π²Ρ ΠΌΠ½ΠΎΠ³ΠΎ Π΄ΠΎΠ±ΡΠ΅ Ρ Π³ΠΎΠ»ΡΠΌ ΠΊΠ»ΡΡΡΠ΅Ρ, Π°ΠΊΠΎ ΠΈΠΌΠ°ΡΠ΅ ΠΌΠ½ΠΎΠ³ΠΎ ΡΠΈΡΡΠ΅ΠΌΠΈ ΠΈ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΈ. ΠΠΎΠ³Π°ΡΠΎ ΠΈΡΠΊΠ°ΡΠ΅ Π΄Π° ΠΈΠ·Π²Π°Π΄ΠΈΡΠ΅ Π΅Π΄ΠΈΠ½ ΠΎΡ ΡΡΡΠ²ΡΡΠΈΡΠ΅, ΠΊΠΎΠΉΡΠΎ Π΅ Π²ΠΊΠ»ΡΡΠ΅Π½ Π² ΠΊΠ»ΡΡΡΠ΅ΡΠ° Nomad Π·Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ°, ΠΈΠΌΠ° Π΄ΠΎΡΡΠ° Π³ΠΎΠ»ΡΠΌΠ° Π²Π΅ΡΠΎΡΡΠ½ΠΎΡΡ ΠΊΠ»ΡΡΡΠ΅ΡΡΡ Π΄Π° Π½Π΅ ΡΠ΅ ΡΡΠ²ΡΡΠ²Π° ΠΌΠ½ΠΎΠ³ΠΎ Π΄ΠΎΠ±ΡΠ΅ ΠΈ Π΄Π° ΡΠ΅ ΡΠ°Π·ΠΏΠ°Π΄Π½Π΅. ΠΡΠΊΠΎΠΈ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΈ ΠΌΠΎΠΆΠ΅ Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ Π΄Π° ΠΏΠ°Π΄Π½Π°Ρ ΠΈ Π΄Π° Π½Π΅ ΡΠ΅ ΠΈΠ·Π΄ΠΈΠ³Π½Π°Ρ - ΡΠΎΠ²Π° ΡΠ΅ Π²ΠΈ ΡΡΡΡΠ²Π° ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎ-ΠΊΡΡΠ½ΠΎ, Π°ΠΊΠΎ Π²ΡΠΈΡΠΊΠΈΡΠ΅ Π²ΠΈ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΠ²Π΅Π½ΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ ΡΠ° ΡΠ°Π·ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈ Π² ΠΊΠ»ΡΡΡΠ΅Ρ, ΡΠΏΡΠ°Π²Π»ΡΠ²Π°Π½ ΠΎΡ Nomad.
ΠΠ°ΡΠΎΠ²Π° ΡΠ΅ΡΠΈΡ ΠΌΠ΅ Π΄Π° ΠΏΠΎΠΌΠΈΡΠ»ΠΈΠΌ ΠΊΡΠ΄Π΅ Π΄Π° ΠΎΡΠΈΠ΄Π΅ΠΌ ΡΠ»Π΅Π΄ ΡΠΎΠ²Π°. ΠΠΎ ΡΠΎΠ²Π° Π²ΡΠ΅ΠΌΠ΅ ΡΡΠ°Π½Π°Ρ ΠΌΠ΅ ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎ-Π½Π°ΡΡΠ½ΠΎ ΠΊΠ°ΠΊΠ²ΠΎ ΠΈΡΠΊΠ°ΠΌΠ΅ Π΄Π° ΠΏΠΎΡΡΠΈΠ³Π½Π΅ΠΌ. Π ΠΈΠΌΠ΅Π½Π½ΠΎ: ΠΈΡΠΊΠ°ΠΌΠ΅ Π½Π°Π΄Π΅ΠΆΠ΄Π½ΠΎΡΡ, ΠΌΠ°Π»ΠΊΠΎ ΠΏΠΎΠ²Π΅ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΎΡΠΊΠΎΠ»ΠΊΠΎΡΠΎ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Ρ Nomad, ΠΈ ΠΏΠΎ-Π·ΡΡΠ»Π°, ΠΏΠΎ-ΡΡΠ°Π±ΠΈΠ»Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ°.
Π ΡΠ°Π·ΠΈ Π²ΡΡΠ·ΠΊΠ° Π½Π°ΡΠΈΡΡ ΠΈΠ·Π±ΠΎΡ ΠΏΠ°Π΄Π½Π° Π²ΡΡΡ Ρ Kubernetes ΠΊΠ°ΡΠΎ Π½Π°ΠΉ-ΠΏΠΎΠΏΡΠ»ΡΡΠ½Π°ΡΠ° ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ° Π·Π° ΡΡΠ°ΡΡΠΈΡΠ°Π½Π΅ Π½Π° ΠΊΠ»ΡΡΡΠ΅ΡΠΈ. ΠΡΠΎΠ±Π΅Π½ΠΎ ΠΊΠ°ΡΠΎ ΡΠ΅ ΠΈΠΌΠ° ΠΏΡΠ΅Π΄Π²ΠΈΠ΄, ΡΠ΅ ΡΠ°Π·ΠΌΠ΅ΡΡΡ ΠΈ Π±ΡΠΎΡΡ Π½Π° Π½Π°ΡΠΈΡΠ΅ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΈ Π±Π΅ΡΠ΅ Π΄ΠΎΡΡΠ°ΡΡΡΠ½ΠΎ Π³ΠΎΠ»ΡΠΌ. ΠΠ° ΡΠ°ΠΊΠΈΠ²Π° ΡΠ΅Π»ΠΈ Kubernetes ΠΈΠ·Π³Π»Π΅ΠΆΠ΄Π°ΡΠ΅ Π½Π°ΠΉ-ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΡΡΠ°ΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ° ΠΎΡ ΡΠ΅Π·ΠΈ, ΠΊΠΎΠΈΡΠΎ ΠΌΠΎΠΆΠ΅Ρ ΠΌΠ΅ Π΄Π° ΡΠ°Π·Π³Π»Π΅Π΄Π°ΠΌΠ΅.
ΠΡΠ΅Ρ ΠΎΠ΄ ΠΊΡΠΌ Kubernetes
Π©Π΅ Π²ΠΈ ΡΠ°Π·ΠΊΠ°ΠΆΠ° ΠΌΠ°Π»ΠΊΠΎ Π·Π° ΠΎΡΠ½ΠΎΠ²Π½ΠΈΡΠ΅ ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΠΈ Π½Π° Kubernetes ΠΈ ΠΊΠ°ΠΊ ΡΠ΅ ΡΠ°Π·Π»ΠΈΡΠ°Π²Π°Ρ ΠΎΡ Nomad.
ΠΠ° ΠΏΡΡΠ²ΠΎ ΠΌΡΡΡΠΎ, Π½Π°ΠΉ-ΠΎΡΠ½ΠΎΠ²Π½Π°ΡΠ° ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΡ Π² Kubernetes Π΅ ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΡΡΠ° Π·Π° pod. Π¨ΡΡΡΠ»ΠΊΠ° Π΅ Π³ΡΡΠΏΠ° ΠΎΡ Π΅Π΄ΠΈΠ½ ΠΈΠ»ΠΈ ΠΏΠΎΠ²Π΅ΡΠ΅ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΈ, ΠΊΠΎΠΈΡΠΎ Π²ΠΈΠ½Π°Π³ΠΈ Π·Π°ΠΏΠΎΡΠ²Π°Ρ Π·Π°Π΅Π΄Π½ΠΎ. Π ΡΠ΅ ΡΠ°Π±ΠΎΡΡΡ ΡΡΠΊΠ°Ρ Π²ΠΈΠ½Π°Π³ΠΈ ΡΡΡΠΎΠ³ΠΎ Π½Π° Π΅Π΄Π½Π° ΠΈ ΡΡΡΠ° Π²ΠΈΡΡΡΠ°Π»Π½Π° ΠΌΠ°ΡΠΈΠ½Π°. Π’Π΅ ΡΠ° Π΄ΠΎΡΡΡΠΏΠ½ΠΈ Π΅Π΄ΠΈΠ½ Π·Π° Π΄ΡΡΠ³ ΡΡΠ΅Π· IP Π°Π΄ΡΠ΅Ρ 127.0.0.1 Π½Π° ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΠΏΠΎΡΡΠΎΠ²Π΅.
ΠΠ° ΠΏΡΠΈΠ΅ΠΌΠ΅ΠΌ, ΡΠ΅ ΠΈΠΌΠ°ΡΠ΅ PHP ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΠΊΠΎΠ΅ΡΠΎ ΡΠ΅ ΡΡΡΡΠΎΠΈ ΠΎΡ nginx ΠΈ php-fpm - ΠΊΠ»Π°ΡΠΈΡΠ΅ΡΠΊΠΈΡΡ ΠΌΠΎΠ΄Π΅Π». ΠΠ°ΠΉ-Π²Π΅ΡΠΎΡΡΠ½ΠΎ ΡΠ΅ ΠΈΡΠΊΠ°ΡΠ΅ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΈΡΠ΅ nginx ΠΈ php-fpm Π²ΠΈΠ½Π°Π³ΠΈ Π΄Π° ΡΠ° Π·Π°Π΅Π΄Π½ΠΎ. Kubernetes Π²ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π΄Π° ΠΏΠΎΡΡΠΈΠ³Π½Π΅ΡΠ΅ ΡΠΎΠ²Π°, ΠΊΠ°ΡΠΎ Π³ΠΈ ΠΎΠΏΠΈΡΠ²Π°ΡΠ΅ ΠΊΠ°ΡΠΎ Π΅Π΄Π½Π° ΠΎΠ±ΡΠ° ΠΊΠ°ΠΏΡΡΠ»Π°. Π’ΠΎΡΠ½ΠΎ ΡΠΎΠ²Π° Π½Π΅ ΠΌΠΎΠΆΠ°Ρ ΠΌΠ΅ Π΄Π° ΠΏΠΎΠ»ΡΡΠΈΠΌ Ρ Nomad.
ΠΡΠΎΡΠ°ΡΠ° ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΡ Π΅ Π²Π½Π΅Π΄ΡΡΠ²Π°Π½Π΅. ΠΡΠΏΡΠΎΡΡΡ Π΅, ΡΠ΅ ΡΠ°ΠΌΠ°ΡΠ° ΠΊΠ°ΠΏΡΡΠ»Π° Π΅ Π΅ΡΠΈΠΌΠ΅ΡΠ½ΠΎ Π½Π΅ΡΠΎ, Π·Π°ΠΏΠΎΡΠ²Π° ΠΈ ΠΈΠ·ΡΠ΅Π·Π²Π°. ΠΠ΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎ Π΄Π°Π»ΠΈ ΠΈΡΠΊΠ°ΡΠ΅ ΠΏΡΡΠ²ΠΎ Π΄Π° ΡΠ½ΠΈΡΠΎΠΆΠΈΡΠ΅ Π²ΡΠΈΡΠΊΠΈΡΠ΅ ΡΠΈ ΠΏΡΠ΅Π΄ΠΈΡΠ½ΠΈ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΈ ΠΈ ΡΠ»Π΅Π΄ ΡΠΎΠ²Π° Π²Π΅Π΄Π½Π°Π³Π° Π΄Π° ΡΡΠ°ΡΡΠΈΡΠ°ΡΠ΅ Π½ΠΎΠ²ΠΈ Π²Π΅ΡΡΠΈΠΈ, ΠΈΠ»ΠΈ ΠΈΡΠΊΠ°ΡΠ΅ Π΄Π° Π³ΠΈ Π²Π½Π΅Π΄ΡΠΈΡΠ΅ ΠΏΠΎΡΡΠ΅ΠΏΠ΅Π½Π½ΠΎ - ΡΠΎΠ²Π° Π΅ ΡΠΎΡΠ½ΠΎ ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΡΡΠ° Π·Π° Π²Π½Π΅Π΄ΡΡΠ²Π°Π½Π΅, ΠΊΠΎΡΡΠΎ Π΅ ΠΎΡΠ³ΠΎΠ²ΠΎΡΠ½Π° Π·Π° ΡΠΎΠ·ΠΈ ΠΏΡΠΎΡΠ΅Ρ. Π’ΠΎΠΉ ΠΎΠΏΠΈΡΠ²Π° ΠΊΠ°ΠΊ ΡΠ°Π·Π³ΡΡΡΠ°ΡΠ΅ ΡΠ²ΠΎΠΈΡΠ΅ ΠΏΠΎΠ΄ΠΎΠ²Π΅, ΠΊΠΎΠ»ΠΊΠΎ ΠΈ ΠΊΠ°ΠΊ Π΄Π° Π³ΠΈ Π°ΠΊΡΡΠ°Π»ΠΈΠ·ΠΈΡΠ°ΡΠ΅.
Π’ΡΠ΅ΡΠ°ΡΠ° ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΡ Π΅ ΠΎΠ±ΡΠ»ΡΠΆΠ²Π°Π½Π΅. ΠΠ°ΡΠ°ΡΠ° ΡΡΠ»ΡΠ³Π° Π²ΡΡΡΠ½ΠΎΡΡ Π΅ Π²Π°ΡΠ°ΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ°, ΠΊΠΎΡΡΠΎ ΠΏΡΠΈΠ΅ΠΌΠ° ΠΌΠ°Π»ΠΊΠΎ ΡΡΠ°ΡΠΈΠΊ ΠΈ ΡΠ»Π΅Π΄ ΡΠΎΠ²Π° Π³ΠΎ Π½Π°ΡΠΎΡΠ²Π° ΠΊΡΠΌ Π΅Π΄ΠΈΠ½ ΠΈΠ»ΠΈ ΠΏΠΎΠ²Π΅ΡΠ΅ ΠΏΠΎΠ΄ΠΎΠ²Π΅, ΡΡΠΎΡΠ²Π΅ΡΡΡΠ²Π°ΡΠΈ Π½Π° Π²Π°ΡΠ°ΡΠ° ΡΡΠ»ΡΠ³Π°. Π’ΠΎΠ΅ΡΡ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π²ΠΈ Π΄Π° ΠΊΠ°ΠΆΠ΅ΡΠ΅, ΡΠ΅ ΡΠ΅Π»ΠΈΡΡ Π²Ρ ΠΎΠ΄ΡΡ ΡΡΠ°ΡΠΈΠΊ ΠΊΡΠΌ ΡΠ°ΠΊΠ°Π²Π° ΠΈ ΡΠ°ΠΊΠ°Π²Π° ΡΡΠ»ΡΠ³Π° Ρ ΡΠ°ΠΊΠΎΠ²Π° ΠΈ ΡΠ°ΠΊΠΎΠ²Π° ΠΈΠΌΠ΅ ΡΡΡΠ±Π²Π° Π΄Π° Π±ΡΠ΄Π΅ ΠΈΠ·ΠΏΡΠ°ΡΠ΅Π½ Π΄ΠΎ ΡΠ΅Π·ΠΈ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΈ ΠΏΠΎΠ΄ΠΎΠ²Π΅. Π Π² ΡΡΡΠΎΡΠΎ Π²ΡΠ΅ΠΌΠ΅ Π²ΠΈ ΠΎΡΠΈΠ³ΡΡΡΠ²Π° Π±Π°Π»Π°Π½ΡΠΈΡΠ°Π½Π΅ Π½Π° ΡΡΠ°ΡΠΈΠΊΠ°. Π’ΠΎΠ²Π° ΠΎΠ·Π½Π°ΡΠ°Π²Π°, ΡΠ΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΡΡΠ°ΡΡΠΈΡΠ°ΡΠ΅ Π΄Π²Π΅ Π³ΡΡΠΏΠΈ ΠΎΡ Π²Π°ΡΠ΅ΡΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΈ ΡΠ΅Π»ΠΈΡΡ Π²Ρ ΠΎΠ΄ΡΡ ΡΡΠ°ΡΠΈΠΊ ΡΠ΅ Π±ΡΠ΄Π΅ ΡΠ°Π²Π½ΠΎΠΌΠ΅ΡΠ½ΠΎ Π±Π°Π»Π°Π½ΡΠΈΡΠ°Π½ ΠΌΠ΅ΠΆΠ΄Ρ Π³ΡΡΠΏΠΈΡΠ΅, ΡΠ²ΡΡΠ·Π°Π½ΠΈ Ρ ΡΠ°Π·ΠΈ ΡΡΠ»ΡΠ³Π°.
Π ΡΠ΅ΡΠ²ΡΡΡΠ°ΡΠ° ΠΎΡΠ½ΠΎΠ²Π½Π° ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΡ - ΠΠ»ΠΈΠ·Π°Π½Π΅. Π’ΠΎΠ²Π° Π΅ ΡΡΠ»ΡΠ³Π°, ΠΊΠΎΡΡΠΎ ΡΠ°Π±ΠΎΡΠΈ Π½Π° ΠΊΠ»ΡΡΡΠ΅Ρ Kubernetes. Π’ΠΎΠΉ Π΄Π΅ΠΉΡΡΠ²Π° ΠΊΠ°ΡΠΎ Π²ΡΠ½ΡΠ΅Π½ Π±Π°Π»Π°Π½ΡΡΠΎΡ Π½Π° Π½Π°ΡΠΎΠ²Π°ΡΠ²Π°Π½Π΅ΡΠΎ, ΠΊΠΎΠΉΡΠΎ ΠΏΠΎΠ΅ΠΌΠ° Π²ΡΠΈΡΠΊΠΈ Π·Π°ΡΠ²ΠΊΠΈ. ΠΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΠΊΠΈ Kubernetes API, Ingress ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈ ΠΊΡΠ΄Π΅ ΡΡΡΠ±Π²Π° Π΄Π° Π±ΡΠ΄Π°Ρ ΠΈΠ·ΠΏΡΠ°ΡΠ΅Π½ΠΈ ΡΠ΅Π·ΠΈ Π·Π°ΡΠ²ΠΊΠΈ. ΠΡΠ²Π΅Π½ ΡΠΎΠ²Π° ΡΠΎΠΉ ΠΏΡΠ°Π²ΠΈ ΡΠΎΠ²Π° ΠΌΠ½ΠΎΠ³ΠΎ Π³ΡΠ²ΠΊΠ°Π²ΠΎ. ΠΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΠΊΠ°ΠΆΠ΅ΡΠ΅, ΡΠ΅ Π²ΡΠΈΡΠΊΠΈ Π·Π°ΡΠ²ΠΊΠΈ ΠΊΡΠΌ ΡΠΎΠ·ΠΈ Ρ ΠΎΡΡ ΠΈ ΡΠ°ΠΊΡΠ² ΠΈ ΡΠ°ΠΊΡΠ² URL ΡΠ΅ ΠΈΠ·ΠΏΡΠ°ΡΠ°Ρ ΠΊΡΠΌ ΡΠ°Π·ΠΈ ΡΡΠ»ΡΠ³Π°. Π ΡΠ΅Π·ΠΈ Π·Π°ΡΠ²ΠΊΠΈ, ΠΈΠ΄Π²Π°ΡΠΈ Π΄ΠΎ ΡΠΎΠ·ΠΈ Ρ ΠΎΡΡ ΠΈ Π΄ΠΎ Π΄ΡΡΠ³ URL, ΡΠ΅ ΠΈΠ·ΠΏΡΠ°ΡΠ°Ρ Π΄ΠΎ Π΄ΡΡΠ³Π° ΡΡΠ»ΡΠ³Π°.
ΠΠ°ΠΉ-ΡΠΊΠΎΡΠΎ Π½Π΅ΡΠΎ ΠΎΡ Π³Π»Π΅Π΄Π½Π° ΡΠΎΡΠΊΠ° Π½Π° Π½ΡΠΊΠΎΠΉ, ΠΊΠΎΠΉΡΠΎ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ²Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, Π΅, ΡΠ΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΡΠΏΡΠ°Π²Π»ΡΠ²Π°ΡΠ΅ Π²ΡΠΈΡΠΊΠΎ ΡΠΎΠ²Π° ΡΠ°ΠΌΠΈ. ΠΠ°ΡΠΎ Π·Π°Π΄Π°Π΄Π΅ΡΠ΅ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡΡΠ° Π½Π° Ingress, ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΠΈΠ·ΠΏΡΠ°ΡΠΈΡΠ΅ ΡΠ΅Π»ΠΈΡ ΡΡΠ°ΡΠΈΠΊ, ΠΈΠ΄Π²Π°Ρ ΠΊΡΠΌ ΡΠ°ΠΊΡΠ² ΠΈ ΡΠ°ΠΊΡΠ² API, ΠΊΡΠΌ ΠΎΡΠ΄Π΅Π»Π½ΠΈ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΈ, ΡΠ΅Π³ΠΈΡΡΡΠΈΡΠ°Π½ΠΈ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π² Go. ΠΠΎ ΡΠΎΠ·ΠΈ ΡΡΠ°ΡΠΈΠΊ, ΠΊΠΎΠΉΡΠΎ ΠΈΠ΄Π²Π° ΠΊΡΠΌ ΡΡΡΠΈΡ Π΄ΠΎΠΌΠ΅ΠΉΠ½, Π½ΠΎ ΠΊΡΠΌ ΡΠ°Π·Π»ΠΈΡΠ΅Π½ URL, ΡΠ΅ ΠΈΠ·ΠΏΡΠ°ΡΠ° ΠΊΡΠΌ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΈ, Π½Π°ΠΏΠΈΡΠ°Π½ΠΈ Π½Π° PHP, ΠΊΡΠ΄Π΅ΡΠΎ ΠΈΠΌΠ° ΠΌΠ½ΠΎΠ³ΠΎ Π»ΠΎΠ³ΠΈΠΊΠ°, Π½ΠΎ Π½Π΅ ΡΠ° ΠΌΠ½ΠΎΠ³ΠΎ Π±ΡΡΠ·ΠΈ.
ΠΠΊΠΎ ΡΡΠ°Π²Π½ΠΈΠΌ Π²ΡΠΈΡΠΊΠΈ ΡΠ΅Π·ΠΈ ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΠΈ Ρ Nomad, ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° ΠΊΠ°ΠΆΠ΅ΠΌ, ΡΠ΅ ΠΏΡΡΠ²ΠΈΡΠ΅ ΡΡΠΈ ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΠΈ ΡΠ° Π·Π°Π΅Π΄Π½ΠΎ ΡΡΠ»ΡΠ³Π°. Π ΠΏΠΎΡΠ»Π΅Π΄Π½Π°ΡΠ° ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΡ ΠΎΡΡΡΡΡΠ²Π° Π² ΡΠ°ΠΌΠΈΡ Nomad. ΠΠ°ΡΠΎ Π½Π΅Π³ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ ΠΌΠ΅ Π²ΡΠ½ΡΠ΅Π½ Π±Π°Π»Π°Π½ΡΡΠΎΡ: ΠΌΠΎΠΆΠ΅ Π΄Π° Π±ΡΠ΄Π΅ haproxy, nginx, nginx+ ΠΈ Ρ.Π½. Π ΡΠ»ΡΡΠ°ΠΉ Π½Π° ΠΊΡΠ± Π½Π΅ Π΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π΄Π° Π²ΡΠ²Π΅ΠΆΠ΄Π°ΡΠ΅ ΡΠ°Π·ΠΈ Π΄ΠΎΠΏΡΠ»Π½ΠΈΡΠ΅Π»Π½Π° ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΡ ΠΎΡΠ΄Π΅Π»Π½ΠΎ. ΠΡΠΏΡΠ΅ΠΊΠΈ ΡΠΎΠ²Π°, Π°ΠΊΠΎ ΠΏΠΎΠ³Π»Π΅Π΄Π½Π΅ΡΠ΅ Ingress Π²ΡΡΡΠ΅ΡΠ½ΠΎ, ΡΠΎΠΉ Π΅ ΠΈΠ»ΠΈ nginx, haproxy ΠΈΠ»ΠΈ traefik, Π½ΠΎ Π½Π΅ΡΠΎ ΠΊΠ°ΡΠΎ Π²Π³ΡΠ°Π΄Π΅Π½ Π² Kubernetes.
ΠΡΠΈΡΠΊΠΈ ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΠΈ, ΠΊΠΎΠΈΡΠΎ ΠΎΠΏΠΈΡΠ°Ρ , Π²ΡΡΡΠ½ΠΎΡΡ ΡΠ° ΡΠ΅ΡΡΡΡΠΈ, ΠΊΠΎΠΈΡΠΎ ΡΡΡΠ΅ΡΡΠ²ΡΠ²Π°Ρ Π² ΠΊΠ»ΡΡΡΠ΅Ρ Π½Π° Kubernetes. ΠΠ° Π΄Π° Π³ΠΈ ΠΎΠΏΠΈΡΠ΅ Π² ΠΊΡΠ±Π°, ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΡΠΎΡΠΌΠ°Ρ yaml, ΠΊΠΎΠΉΡΠΎ Π΅ ΠΏΠΎ-ΡΠ΅ΡΠ»ΠΈΠ² ΠΈ ΠΏΠΎΠ·Π½Π°Ρ ΠΎΡ HCL ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ΡΠ΅ Π² ΡΠ»ΡΡΠ°Ρ Π½Π° Nomad. ΠΠΎ ΡΡΡΡΠΊΡΡΡΠ½ΠΎ ΡΠ΅ ΠΎΠΏΠΈΡΠ²Π°Ρ Π΅Π΄Π½ΠΎ ΠΈ ΡΡΡΠΎ Π½Π΅ΡΠΎ Π² ΡΠ»ΡΡΠ°Ρ Π½Π° ΠΏΠΎΠ΄Ρ. Π’Π΅ ΠΊΠ°Π·Π²Π°Ρ - ΠΈΡΠΊΠ°ΠΌ Π΄Π° ΡΠ°Π·ΠΏΠΎΠ»ΠΎΠΆΠ° ΡΠ°ΠΌ ΡΠ°ΠΊΠΈΠ²Π° ΠΈ ΡΠ°ΠΊΠΈΠ²Π° ΠΊΠ°ΠΏΡΡΠ»ΠΈ, Ρ ΡΠ°ΠΊΠΈΠ²Π° ΠΈ ΡΠ°ΠΊΠΈΠ²Π° ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ, Π² ΡΠ°ΠΊΠΈΠ²Π° ΠΈ ΡΠ°ΠΊΠΈΠ²Π° ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π°.
ΠΡΠ²Π΅Π½ ΡΠΎΠ²Π° ΡΠ°Π·Π±ΡΠ°Ρ
ΠΌΠ΅, ΡΠ΅ Π½Π΅ ΠΈΡΠΊΠ°ΠΌΠ΅ Π΄Π° ΡΡΠ·Π΄Π°Π²Π°ΠΌΠ΅ ΡΡΡΠ½ΠΎ Π²ΡΠ΅ΠΊΠΈ ΠΎΡΠ΄Π΅Π»Π΅Π½ ΡΠ΅ΡΡΡΡ: Π²Π½Π΅Π΄ΡΡΠ²Π°Π½Π΅, ΡΡΠ»ΡΠ³ΠΈ, Ingress ΠΈ Ρ.Π½. ΠΠΌΠ΅ΡΡΠΎ ΡΠΎΠ²Π° ΠΈΡΠΊΠ°Ρ
ΠΌΠ΅ Π΄Π° ΠΎΠΏΠΈΡΠ΅ΠΌ Π²ΡΡΠΊΠ° Π½Π°ΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ° ΠΎΡ Π³Π»Π΅Π΄Π½Π° ΡΠΎΡΠΊΠ° Π½Π° Kubernetes ΠΏΠΎ Π²ΡΠ΅ΠΌΠ΅ Π½Π° Π²Π½Π΅Π΄ΡΡΠ²Π°Π½Π΅ΡΠΎ, ΡΠ°ΠΊΠ° ΡΠ΅ Π΄Π° Π½Π΅ ΡΠ΅ Π½Π°Π»Π°Π³Π° Π΄Π° ΠΏΡΠ΅ΡΡΠ·Π΄Π°Π²Π°ΠΌΠ΅ ΡΡΡΠ½ΠΎ Π²ΡΠΈΡΠΊΠΈ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΈ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ Π½Π° ΡΠ΅ΡΡΡΡΠΈΡΠ΅ Π² ΠΏΡΠ°Π²ΠΈΠ»Π½ΠΈΡ ΡΠ΅Π΄. Helm Π±Π΅ΡΠ΅ ΠΈΠ·Π±ΡΠ°Π½ ΠΊΠ°ΡΠΎ ΡΠ°ΠΊΠ°Π²Π° ΡΠΈΡΡΠ΅ΠΌΠ°, ΠΊΠΎΡΡΠΎ Π½ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈ Π΄Π° Π½Π°ΠΏΡΠ°Π²ΠΈΠΌ ΡΠΎΠ²Π°.
ΠΡΠ½ΠΎΠ²Π½ΠΈ ΠΏΠΎΠ½ΡΡΠΈΡ Π² Helm
Π¨Π»Π΅ΠΌΡΡ Π΅ ΠΌΠ΅Π½ΠΈΠ΄ΠΆΡΡ Π½Π° ΠΏΠ°ΠΊΠ΅ΡΠΈ Π·Π° Kubernetes. Π’ΠΎΠ²Π° Π΅ ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎ Π½Π° ΡΠΎΠ²Π° ΠΊΠ°ΠΊ ΡΠ°Π±ΠΎΡΡΡ ΠΌΠ΅Π½ΠΈΠ΄ΠΆΡΡΠΈΡΠ΅ Π½Π° ΠΏΠ°ΠΊΠ΅ΡΠΈ Π² Π΅Π·ΠΈΡΠΈΡΠ΅ Π·Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈΡΠ°Π½Π΅. Π’Π΅ Π²ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π°Ρ Π΄Π° ΡΡΡ ΡΠ°Π½ΡΠ²Π°ΡΠ΅ ΡΡΠ»ΡΠ³Π°, ΡΡΡΡΠΎΡΡΠ° ΡΠ΅ ΠΎΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠ°Π·Π³ΡΡΡΠ°Π½Π΅ Π½Π° nginx, ΡΠ°Π·Π³ΡΡΡΠ°Π½Π΅ Π½Π° php-fpm, ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ Π·Π° Ingress, configmaps (ΡΠΎΠ²Π° Π΅ ΠΎΠ±Π΅ΠΊΡ, ΠΊΠΎΠΉΡΠΎ Π²ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π΄Π° Π·Π°Π΄Π°Π²Π°ΡΠ΅ env ΠΈ Π΄ΡΡΠ³ΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΈ Π·Π° Π²Π°ΡΠ°ΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ°) ΠΏΠΎΠ΄ ΡΠΎΡΠΌΠ°ΡΠ° Π½Π° ΡΠ°ΠΊΠ°- Π½Π°ΡΠ΅ΡΠ΅Π½ΠΈ Π΄ΠΈΠ°Π³ΡΠ°ΠΌΠΈ. Π ΡΡΡΠΎΡΠΎ Π²ΡΠ΅ΠΌΠ΅ Π₯Π΅Π»ΠΌ ΡΠ°Π±ΠΎΡΠΈ Π²ΡΡΡ Ρ Kubernetes. Π’ΠΎΠ΅ΡΡ, ΡΠΎΠ²Π° Π½Π΅ Π΅ Π½ΡΠΊΠ°ΠΊΠ²Π° ΡΠΈΡΡΠ΅ΠΌΠ°, ΠΊΠΎΡΡΠΎ ΡΡΠΎΠΈ Π½Π°ΡΡΡΠ°Π½Π°, Π° ΠΏΡΠΎΡΡΠΎ Π΄ΡΡΠ³Π° ΡΡΠ»ΡΠ³Π°, ΡΠ°Π±ΠΎΡΠ΅ΡΠ° Π²ΡΡΡΠ΅ Π² ΠΊΡΠ±Π°. ΠΠΈΠ΅ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²Π°ΡΠ΅ Ρ Π½Π΅Π³ΠΎ ΡΡΠ΅Π· Π½Π΅Π³ΠΎΠ²ΠΈΡ API ΡΡΠ΅Π· ΠΊΠΎΠ½Π·ΠΎΠ»Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π°. ΠΠ΅Π³ΠΎΠ²ΠΎΡΠΎ ΡΠ΄ΠΎΠ±ΡΡΠ²ΠΎ ΠΈ ΡΠ°Ρ Π΅, ΡΠ΅ Π΄ΠΎΡΠΈ Π°ΠΊΠΎ helm ΡΠ΅ ΡΡΡΠΏΠΈ ΠΈΠ»ΠΈ Π³ΠΎ ΠΏΡΠ΅ΠΌΠ°Ρ Π½Π΅ΡΠ΅ ΠΎΡ ΠΊΠ»ΡΡΡΠ΅ΡΠ°, Π²Π°ΡΠΈΡΠ΅ ΡΡΠ»ΡΠ³ΠΈ Π½ΡΠΌΠ° Π΄Π° ΠΈΠ·ΡΠ΅Π·Π½Π°Ρ, ΡΡΠΉ ΠΊΠ°ΡΠΎ helm ΠΏΠΎ ΡΡΡΠ΅ΡΡΠ²ΠΎ ΡΠ»ΡΠΆΠΈ ΡΠ°ΠΌΠΎ Π·Π° ΡΡΠ°ΡΡΠΈΡΠ°Π½Π΅ Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ°. Π‘Π°ΠΌΠ°ΡΠ° Kubernetes Π½ΠΎΡΠΈ Π΄ΠΎΠΏΡΠ»Π½ΠΈΡΠ΅Π»Π½Π° ΠΎΡΠ³ΠΎΠ²ΠΎΡΠ½ΠΎΡΡ Π·Π° Π·Π΄ΡΠ°Π²Π΅ΡΠΎ ΠΈ ΡΡΡΡΠΎΡΠ½ΠΈΠ΅ΡΠΎ Π½Π° ΡΡΠ»ΡΠ³ΠΈΡΠ΅.
Π’ΠΎΠ²Π° ΡΡΡΠΎ Π³ΠΎ ΡΠ°Π·Π±ΡΠ°Ρ ΠΌΠ΅ ΡΠ°Π±Π»ΠΎΠ½ΠΈΡΠ°Π½Π΅, ΠΊΠΎΠ΅ΡΠΎ ΠΏΡΠ΅Π΄ΠΈ ΡΠΎΠ²Π° Π±ΡΡ ΠΌΠ΅ ΠΏΡΠΈΠ½ΡΠ΄Π΅Π½ΠΈ Π΄Π° Π½Π°ΠΏΡΠ°Π²ΠΈΠΌ ΡΠ°ΠΌΠΈ ΡΡΠ΅Π· Π²ΡΠ²Π΅ΠΆΠ΄Π°Π½Π΅ Π½Π° jinja Π² Π½Π°ΡΠΈΡΠ΅ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ, Π΅ Π΅Π΄Π½Π° ΠΎΡ ΠΎΡΠ½ΠΎΠ²Π½ΠΈΡΠ΅ Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈ Π½Π° helm. ΠΡΠΈΡΠΊΠΈ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ, ΠΊΠΎΠΈΡΠΎ ΡΡΠ·Π΄Π°Π²Π°ΡΠ΅ Π·Π° Π²Π°ΡΠΈΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΠΈ, ΡΠ΅ ΡΡΡ ΡΠ°Π½ΡΠ²Π°Ρ Π² helm ΠΏΠΎΠ΄ ΡΠΎΡΠΌΠ°ΡΠ° Π½Π° ΡΠ°Π±Π»ΠΎΠ½ΠΈ, ΠΌΠ°Π»ΠΊΠΎ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΈ Π½Π° jinja, Π½ΠΎ Π²ΡΡΡΠ½ΠΎΡΡ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΠΊΠΈ ΡΠ°Π±Π»ΠΎΠ½ΠΈΡΠ΅ Π½Π° Π΅Π·ΠΈΠΊΠ° Go, Π½Π° ΠΊΠΎΠΉΡΠΎ Π΅ Π½Π°ΠΏΠΈΡΠ°Π½ helm, ΠΊΠ°ΡΠΎ Kubernetes.
Helm Π½ΠΈ Π΄ΠΎΠ±Π°Π²Ρ ΠΎΡΠ΅ Π½ΡΠΊΠΎΠ»ΠΊΠΎ Π΄ΠΎΠΏΡΠ»Π½ΠΈΡΠ΅Π»Π½ΠΈ ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΠΈ.
ΠΡΠ°ΡΠΈΠΊΠ° Π΅ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ Π½Π° Π²Π°ΡΠ°ΡΠ° ΡΡΠ»ΡΠ³Π°. Π Π΄ΡΡΠ³ΠΈ ΠΌΠ΅Π½ΠΈΠ΄ΠΆΡΡΠΈ Π½Π° ΠΏΠ°ΠΊΠ΅ΡΠΈ ΡΠ΅ ΡΠ΅ Π½Π°ΡΠΈΡΠ° ΠΏΠ°ΠΊΠ΅Ρ, ΠΏΠ°ΠΊΠ΅Ρ ΠΈΠ»ΠΈ Π½Π΅ΡΠΎ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎ. Π’ΡΠΊ ΡΠ΅ Π½Π°ΡΠΈΡΠ° Π΄ΠΈΠ°Π³ΡΠ°ΠΌΠ°.
Π¦Π΅Π½Π½ΠΎΡΡΠΈ ΡΠ° ΠΏΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈΡΠ΅, ΠΊΠΎΠΈΡΠΎ ΠΈΡΠΊΠ°ΡΠ΅ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΡΠ΅ Π·Π° ΠΈΠ·Π³ΡΠ°ΠΆΠ΄Π°Π½Π΅ Π½Π° Π²Π°ΡΠΈΡΠ΅ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ ΠΎΡ ΡΠ°Π±Π»ΠΎΠ½ΠΈ.
ΠΡΠ²ΠΎΠ±ΠΎΠ΄Π΅ΡΠ΅. ΠΡΠ΅ΠΊΠΈ ΠΏΡΡ, ΠΊΠΎΠ³Π°ΡΠΎ ΡΡΠ»ΡΠ³Π°, ΠΊΠΎΡΡΠΎ ΡΠ΅ Π²Π½Π΅Π΄ΡΡΠ²Π° Ρ helm, ΠΏΠΎΠ»ΡΡΠ°Π²Π° Π΄ΠΎΠΏΡΠ»Π½ΠΈΡΠ΅Π»Π½Π° Π²Π΅ΡΡΠΈΡ Π½Π° ΠΈΠ·Π΄Π°Π½ΠΈΠ΅ΡΠΎ. Helm ΠΏΠΎΠΌΠ½ΠΈ ΠΊΠ°ΠΊΠ²Π° Π±Π΅ΡΠ΅ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡΡΠ° Π½Π° ΡΡΠ»ΡΠ³Π°ΡΠ° Π·Π° ΠΏΡΠ΅Π΄ΠΈΡΠ½Π°ΡΠ° Π²Π΅ΡΡΠΈΡ, ΠΏΡΠ΅Π΄Ρ ΠΎΠ΄Π½Π°ΡΠ° Π³ΠΎΠ΄ΠΈΠ½Π° ΠΈ Ρ.Π½. Π‘Π»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»Π½ΠΎ, Π°ΠΊΠΎ ΡΡΡΠ±Π²Π° Π΄Π° ΡΠ΅ Π²ΡΡΠ½Π΅ΡΠ΅ Π½Π°Π·Π°Π΄, ΠΏΡΠΎΡΡΠΎ ΠΈΠ·ΠΏΡΠ»Π½Π΅ΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΡΠ° Π·Π° ΠΎΠ±ΡΠ°ΡΠ½ΠΎ ΠΈΠ·Π²ΠΈΠΊΠ²Π°Π½Π΅ Π½Π° ΠΊΠΎΡΠΌΠΈΠ»ΠΎΡΠΎ, ΠΊΠ°ΡΠΎ Ρ Π½Π°ΡΠΎΡΠΈΡΠ΅ ΠΊΡΠΌ ΠΏΡΠ΅Π΄ΠΈΡΠ½Π°ΡΠ° Π²Π΅ΡΡΠΈΡ Π½Π° ΠΈΠ·Π΄Π°Π½ΠΈΠ΅ΡΠΎ. ΠΠΎΡΠΈ Π°ΠΊΠΎ ΡΡΠΎΡΠ²Π΅ΡΠ½Π°ΡΠ° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ Π²ΡΠ² Π²Π°ΡΠ΅ΡΠΎ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅ Π½Π΅ Π΅ Π½Π°Π»ΠΈΡΠ½Π° ΠΏΠΎ Π²ΡΠ΅ΠΌΠ΅ Π½Π° Π²ΡΡΡΠ°Π½Π΅ΡΠΎ Π½Π°Π·Π°Π΄, helm ΠΏΠ°ΠΊ ΡΠ΅ Π·Π°ΠΏΠΎΠΌΠ½ΠΈ ΠΊΠ°ΠΊΠ²ΠΎ Π΅ Π±ΠΈΠ»ΠΎ ΠΈ ΡΠ΅ Π²ΡΡΠ½Π΅ Π²Π°ΡΠ°ΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ° Π΄ΠΎ ΡΡΡΡΠΎΡΠ½ΠΈΠ΅ΡΠΎ, Π² ΠΊΠΎΠ΅ΡΠΎ Π΅ Π±ΠΈΠ»Π° Π² ΠΏΡΠ΅Π΄ΠΈΡΠ½Π°ΡΠ° Π²Π΅ΡΡΠΈΡ.
Π ΡΠ»ΡΡΠ°ΠΉ, ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ helm, ΠΎΠ±ΠΈΡΠ°ΠΉΠ½ΠΈΡΠ΅ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ Π·Π° Kubernetes ΡΡΡΠΎ ΡΠ΅ ΠΏΡΠ΅Π²ΡΡΡΠ°Ρ Π² ΡΠ°Π±Π»ΠΎΠ½ΠΈ, Π² ΠΊΠΎΠΈΡΠΎ Π΅ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎ Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ ΠΏΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈ, ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈ Π΄Π° ΡΠ΅ ΠΏΡΠΈΠ»Π°Π³Π°Ρ ΡΡΠ»ΠΎΠ²Π½ΠΈ ΠΈΠ·ΡΠ°Π·ΠΈ. ΠΠΎ ΡΠΎΠ·ΠΈ Π½Π°ΡΠΈΠ½ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΡΡΠ±Π΅ΡΠ΅ΡΠ΅ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡΡΠ° Π½Π° Π²Π°ΡΠ°ΡΠ° ΡΡΠ»ΡΠ³Π° Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ ΠΎΡ ΡΡΠ΅Π΄Π°ΡΠ°.
ΠΠ° ΠΏΡΠ°ΠΊΡΠΈΠΊΠ° ΡΠ΅ΡΠΈΡ
ΠΌΠ΅ Π΄Π° Π½Π°ΠΏΡΠ°Π²ΠΈΠΌ Π½Π΅ΡΠ°ΡΠ° ΠΌΠ°Π»ΠΊΠΎ ΠΏΠΎ-ΡΠ°Π·Π»ΠΈΡΠ½ΠΎ, ΠΎΡΠΊΠΎΠ»ΠΊΠΎΡΠΎ Π½Π°ΠΏΡΠ°Π²ΠΈΡ
ΠΌΠ΅ Ρ Nomad. ΠΠΊΠΎ Nomad ΡΡΡ
ΡΠ°Π½ΡΠ²Π° ΠΊΠ°ΠΊΡΠΎ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ Π·Π° Π²Π½Π΅Π΄ΡΡΠ²Π°Π½Π΅, ΡΠ°ΠΊΠ° ΠΈ n-ΠΏΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈ, ΠΊΠΎΠΈΡΠΎ ΡΠ° Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΈ Π·Π° Π²Π½Π΅Π΄ΡΡΠ²Π°Π½Π΅ Π½Π° Π½Π°ΡΠ°ΡΠ° ΡΡΠ»ΡΠ³Π° Π² Π΅Π΄Π½ΠΎ Ρ
ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅, ΡΠΎΠ³Π°Π²Π° ΡΡΠΊ ΡΠ΅ΡΠΈΡ
ΠΌΠ΅ Π΄Π° Π³ΠΈ ΡΠ°Π·Π΄Π΅Π»ΠΈΠΌ Π½Π° Π΄Π²Π΅ ΠΎΡΠ΄Π΅Π»Π½ΠΈ Ρ
ΡΠ°Π½ΠΈΠ»ΠΈΡΠ°. Π₯ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅ΡΠΎ "deploy" ΡΡΡ
ΡΠ°Π½ΡΠ²Π° ΡΠ°ΠΌΠΎ n-ΠΏΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈΡΠ΅, Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΈ Π·Π° Π²Π½Π΅Π΄ΡΡΠ²Π°Π½Π΅, Π΄ΠΎΠΊΠ°ΡΠΎ Ρ
ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅ΡΠΎ "helm" ΡΡΡ
ΡΠ°Π½ΡΠ²Π° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ ΠΈΠ»ΠΈ Π΄ΠΈΠ°Π³ΡΠ°ΠΌΠΈ.
ΠΠ°ΠΊΠ²ΠΎ Π½ΠΈ Π΄Π°Π΄Π΅?
ΠΡΠΏΡΠ΅ΠΊΠΈ ΡΠ°ΠΊΡΠ°, ΡΠ΅ Π½ΠΈΠ΅ Π½Π΅ ΡΡΡ ΡΠ°Π½ΡΠ²Π°ΠΌΠ΅ Π½Π°ΠΈΡΡΠΈΠ½Π° ΡΡΠ²ΡΡΠ²ΠΈΡΠ΅Π»Π½ΠΈ Π΄Π°Π½Π½ΠΈ Π² ΡΠ°ΠΌΠΈΡΠ΅ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΎΠ½Π½ΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ ΠΏΠ°ΡΠΎΠ»ΠΈ Π·Π° Π±Π°Π·ΠΈ Π΄Π°Π½Π½ΠΈ. Π’Π΅ ΡΠ΅ ΡΡΡ ΡΠ°Π½ΡΠ²Π°Ρ ΠΊΠ°ΡΠΎ ΡΠ°ΠΉΠ½ΠΈ Π² Kubernetes, Π½ΠΎ Π²ΡΠΏΡΠ΅ΠΊΠΈ ΡΠΎΠ²Π° Π²ΡΠ΅ ΠΎΡΠ΅ ΠΈΠΌΠ° ΠΎΡΠ΄Π΅Π»Π½ΠΈ Π½Π΅ΡΠ°, ΠΊΠΎΠΈΡΠΎ Π½Π΅ ΠΈΡΠΊΠ°ΠΌΠ΅ Π΄Π° Π΄Π°Π²Π°ΠΌΠ΅ Π΄ΠΎΡΡΡΠΏ Π½Π° Π²ΡΠΈΡΠΊΠΈ ΠΏΠΎΠ΄ΡΠ΅Π΄. ΠΠΎΡΠ°Π΄ΠΈ ΡΠΎΠ²Π° Π΄ΠΎΡΡΡΠΏΡΡ Π΄ΠΎ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅ΡΠΎ "deploy" Π΅ ΠΏΠΎ-ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½, Π° Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅ΡΠΎ "helm" ΡΡΠ΄ΡΡΠΆΠ° ΡΠ°ΠΌΠΎ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ Π½Π° ΡΡΠ»ΡΠ³Π°ΡΠ°. ΠΠΎΡΠ°Π΄ΠΈ ΡΠ°Π·ΠΈ ΠΏΡΠΈΡΠΈΠ½Π° ΠΌΠΎΠΆΠ΅ Π΄Π° Π±ΡΠ΄Π΅ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π΅Π½ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ΅Π½ Π΄ΠΎΡΡΡΠΏ Π½Π° ΠΏΠΎ-Π³ΠΎΠ»ΡΠΌ ΠΊΡΡΠ³ ΠΎΡ Ρ ΠΎΡΠ°.
Π’ΡΠΉ ΠΊΠ°ΡΠΎ ΠΈΠΌΠ°ΠΌΠ΅ Π½Π΅ ΡΠ°ΠΌΠΎ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΠ²ΠΎ, Π½ΠΎ ΠΈ Π΄ΡΡΠ³ΠΈ ΡΡΠ΅Π΄ΠΈ, Π±Π»Π°Π³ΠΎΠ΄Π°ΡΠ΅Π½ΠΈΠ΅ Π½Π° ΡΠΎΠ²Π° ΡΠ°Π·Π΄Π΅Π»ΡΠ½Π΅, ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎ Π½Π°ΡΠΈΡΠ΅ Π΄ΠΈΠ°Π³ΡΠ°ΠΌΠΈ Π·Π° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅, Π·Π° Π΄Π° Π²Π½Π΅Π΄ΡΠΈΠΌ ΡΡΠ»ΡΠ³ΠΈ Π½Π΅ ΡΠ°ΠΌΠΎ Π² ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΠ²ΠΎΡΠΎ, Π½ΠΎ ΡΡΡΠΎ ΡΠ°ΠΊΠ°, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π² QA ΡΡΠ΅Π΄Π°. ΠΠΎΡΠΈ Π΄Π° Π³ΠΈ ΡΠ°Π·ΠΏΠΎΠ»ΠΎΠΆΠΈΡΠ΅ Π»ΠΎΠΊΠ°Π»Π½ΠΎ Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° ΠΠΈΠ½ΠΈΠΊΡΠ±Π΅ - ΡΠΎΠ²Π° Π΅ ΡΠ°ΠΊΠΎΠ²Π° Π½Π΅ΡΠΎ Π·Π° Π»ΠΎΠΊΠ°Π»Π½ΠΎ ΡΡΠ°ΡΡΠΈΡΠ°Π½Π΅ Π½Π° Kubernetes.
ΠΡΠ² Π²ΡΡΠΊΠΎ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅ ΠΎΡΡΠ°Π²ΠΈΡ ΠΌΠ΅ ΡΠ°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π½Π° ΠΎΡΠ΄Π΅Π»Π½ΠΈ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ Π·Π° Π²ΡΡΠΊΠ° ΡΡΠ»ΡΠ³Π°. Π’ΠΎΠ΅ΡΡ Π²ΡΠ² Π²ΡΡΠΊΠ° Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ ΠΈΠΌΠ° ΡΠ°Π±Π»ΠΎΠ½ΠΈ, ΡΠ²ΡΡΠ·Π°Π½ΠΈ ΡΡΡ ΡΡΠΎΡΠ²Π΅ΡΠ½Π°ΡΠ° Π΄ΠΈΠ°Π³ΡΠ°ΠΌΠ° ΠΈ ΠΎΠΏΠΈΡΠ²Π°ΡΠΈ ΡΠ΅ΡΡΡΡΠΈΡΠ΅, ΠΊΠΎΠΈΡΠΎ ΡΡΡΠ±Π²Π° Π΄Π° Π±ΡΠ΄Π°Ρ Π²Π½Π΅Π΄ΡΠ΅Π½ΠΈ, Π·Π° Π΄Π° ΡΠ°Π±ΠΎΡΠΈ Π½Π°ΡΠ°ΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ°. ΠΡΡΠ°Π²ΠΈΡ ΠΌΠ΅ ΡΠ°ΠΌΠΎ envs Π² Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅ΡΠΎ Π·Π° βΡΠ°Π·Π³ΡΡΡΠ°Π½Π΅β. Π ΡΠΎΠ·ΠΈ ΡΠ»ΡΡΠ°ΠΉ Π½Π΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ ΠΌΠ΅ ΡΠ°Π±Π»ΠΎΠ½ΠΈΡΠ°Π½Π΅ Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° jinja, ΡΡΠΉ ΠΊΠ°ΡΠΎ ΡΠ°ΠΌΠΈΡΡ helm ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Ρ ΡΠ°Π±Π»ΠΎΠ½ΠΈΡΠ°Π½Π΅ ΠΈΠ·Π²ΡΠ½ ΠΊΡΡΠΈΡΡΠ° - ΡΠΎΠ²Π° Π΅ Π΅Π΄Π½Π° ΠΎΡ ΠΎΡΠ½ΠΎΠ²Π½ΠΈΡΠ΅ ΠΌΡ ΡΡΠ½ΠΊΡΠΈΠΈ.
ΠΡΡΠ°Π²ΠΈΡ ΠΌΠ΅ ΡΠΊΡΠΈΠΏΡΠ° Π·Π° Π²Π½Π΅Π΄ΡΡΠ²Π°Π½Π΅ - deploy.sh, ΠΊΠΎΠΉΡΠΎ ΠΎΠΏΡΠΎΡΡΡΠ²Π° ΠΈ ΡΡΠ°Π½Π΄Π°ΡΡΠΈΠ·ΠΈΡΠ° ΡΡΠ°ΡΡΠΈΡΠ°Π½Π΅ΡΠΎ Π·Π° Π²Π½Π΅Π΄ΡΡΠ²Π°Π½Π΅ Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° helm. ΠΠΎ ΡΠΎΠ·ΠΈ Π½Π°ΡΠΈΠ½, Π·Π° Π²ΡΠ΅ΠΊΠΈ, ΠΊΠΎΠΉΡΠΎ ΠΈΡΠΊΠ° Π΄Π° Π²Π½Π΅Π΄ΡΠΈ, ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΡΡ Π·Π° Π²Π½Π΅Π΄ΡΡΠ²Π°Π½Π΅ ΠΈΠ·Π³Π»Π΅ΠΆΠ΄Π° ΡΠΎΡΠ½ΠΎ ΠΊΠ°ΠΊΡΠΎ Π±Π΅ΡΠ΅ Π² ΡΠ»ΡΡΠ°ΠΉ Π½Π° Π²Π½Π΅Π΄ΡΡΠ²Π°Π½Π΅ ΡΡΠ΅Π· Nomad. Π‘ΡΡΠΈΡΡ deploy.sh, ΠΈΠΌΠ΅ΡΠΎ Π½Π° Π²Π°ΡΠ°ΡΠ° ΡΡΠ»ΡΠ³Π° ΠΈ ΠΊΡΠ΄Π΅ ΠΈΡΠΊΠ°ΡΠ΅ Π΄Π° Ρ Π²Π½Π΅Π΄ΡΠΈΡΠ΅. Π’ΠΎΠ²Π° ΠΊΠ°ΡΠ° ΠΊΠΎΡΠΌΠΈΠ»ΠΎΡΠΎ Π΄Π° ΡΠ°Π±ΠΎΡΠΈ Π²ΡΡΡΠ΅ΡΠ½ΠΎ. Π’ΠΎΠΉ ΠΎΡ ΡΠ²ΠΎΡ ΡΡΡΠ°Π½Π° ΡΡΠ±ΠΈΡΠ° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ ΠΎΡ ΡΠ°Π±Π»ΠΎΠ½ΠΈ, Π·Π°ΠΌΠ΅ΡΡΠ²Π° Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΈΡΠ΅ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ ΡΡΡ ΡΡΠΎΠΉΠ½ΠΎΡΡΠΈ Π² ΡΡΡ , ΡΠ»Π΅Π΄ ΠΊΠΎΠ΅ΡΠΎ Π³ΠΈ ΡΠ°Π·ΠΏΠΎΠ»Π°Π³Π°, ΡΡΠ°ΡΡΠΈΡΠ°ΠΉΠΊΠΈ Π³ΠΈ Π² Kubernetes.
ΠΠ°Π½Π½ΠΈ
Π£ΡΠ»ΡΠ³Π°ΡΠ° Kubernetes ΠΈΠ·Π³Π»Π΅ΠΆΠ΄Π° ΠΏΠΎ-ΡΠ»ΠΎΠΆΠ½Π° ΠΎΡ Nomad.
Π’ΡΠΊ ΠΈΠ·Ρ
ΠΎΠ΄ΡΡΠΈΡΡ ΡΡΠ°ΡΠΈΠΊ ΠΈΠ΄Π²Π° ΠΊΡΠΌ Ingress. Π’ΠΎΠ²Π° Π΅ ΡΠ°ΠΌΠΎ ΠΏΡΠ΅Π΄Π½ΠΈΡΡ ΠΊΠΎΠ½ΡΡΠΎΠ»Π΅Ρ, ΠΊΠΎΠΉΡΠΎ ΠΏΠΎΠ΅ΠΌΠ° Π²ΡΠΈΡΠΊΠΈ Π·Π°ΡΠ²ΠΊΠΈ ΠΈ Π²ΠΏΠΎΡΠ»Π΅Π΄ΡΡΠ²ΠΈΠ΅ Π³ΠΈ ΠΈΠ·ΠΏΡΠ°ΡΠ° ΠΊΡΠΌ ΡΡΠ»ΡΠ³ΠΈΡΠ΅, ΡΡΠΎΡΠ²Π΅ΡΡΡΠ²Π°ΡΠΈ Π½Π° Π΄Π°Π½Π½ΠΈΡΠ΅ Π·Π° Π·Π°ΡΠ²ΠΊΠ°ΡΠ°. Π’ΠΎΠΉ Π³ΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»Ρ Π²ΡΠ· ΠΎΡΠ½ΠΎΠ²Π° Π½Π° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ, ΠΊΠΎΠΈΡΠΎ ΡΠ° ΡΠ°ΡΡ ΠΎΡ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ΡΠΎ Π½Π° Π²Π°ΡΠ΅ΡΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π² helm ΠΈ ΠΊΠΎΠΈΡΠΎ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈΡΠ΅ Π·Π°Π΄Π°Π²Π°Ρ ΡΠ°ΠΌΠΈ. Π£ΡΠ»ΡΠ³Π°ΡΠ° ΠΈΠ·ΠΏΡΠ°ΡΠ° Π·Π°ΡΠ²ΠΊΠΈ Π΄ΠΎ ΡΠ²ΠΎΠΈΡΠ΅ ΠΏΠΎΠ΄ΠΎΠ²Π΅, ΡΠΎΠ΅ΡΡ ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ½ΠΈ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΈ, ΠΊΠ°ΡΠΎ Π±Π°Π»Π°Π½ΡΠΈΡΠ° Π²Ρ
ΠΎΠ΄ΡΡΠΈΡ ΡΡΠ°ΡΠΈΠΊ ΠΌΠ΅ΠΆΠ΄Ρ Π²ΡΠΈΡΠΊΠΈ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΈ, ΠΊΠΎΠΈΡΠΎ ΠΏΡΠΈΠ½Π°Π΄Π»Π΅ΠΆΠ°Ρ Π½Π° ΡΠ°Π·ΠΈ ΡΡΠ»ΡΠ³Π°. Π, ΡΠ°Π·Π±ΠΈΡΠ° ΡΠ΅, Π½Π΅ ΡΡΡΠ±Π²Π° Π΄Π° Π·Π°Π±ΡΠ°Π²ΡΠΌΠ΅, ΡΠ΅ Π½Π΅ ΡΡΡΠ±Π²Π° Π΄Π° ΡΠ΅ ΠΎΡΠΊΠ»ΠΎΠ½ΡΠ²Π°ΠΌΠ΅ ΠΎΡ ΡΠΈΠ³ΡΡΠ½ΠΎΡΡΡΠ° Π½Π° Π½ΠΈΠ²ΠΎ ΠΌΡΠ΅ΠΆΠ°. Π‘Π»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»Π½ΠΎ ΡΠ΅Π³ΠΌΠ΅Π½ΡΠΈΡΠ°Π½Π΅ΡΠΎ ΡΠ°Π±ΠΎΡΠΈ Π² ΠΊΠ»ΡΡΡΠ΅Ρ Π½Π° Kubernetes, ΠΊΠΎΠΉΡΠΎ ΡΠ΅ ΠΎΡΠ½ΠΎΠ²Π°Π²Π° Π½Π° ΠΌΠ°ΡΠΊΠΈΡΠ°Π½Π΅. ΠΡΠΈΡΠΊΠΈ ΡΡΠ»ΡΠ³ΠΈ ΠΈΠΌΠ°Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈ ΡΠ°Π³ΠΎΠ²Π΅, ΠΊΡΠΌ ΠΊΠΎΠΈΡΠΎ ΡΠ° ΡΠ²ΡΡΠ·Π°Π½ΠΈ ΠΏΡΠ°Π²Π°ΡΠ° Π·Π° Π΄ΠΎΡΡΡΠΏ Π½Π° ΡΡΠ»ΡΠ³ΠΈΡΠ΅ Π΄ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈ Π²ΡΠ½ΡΠ½ΠΈ/Π²ΡΡΡΠ΅ΡΠ½ΠΈ ΡΠ΅ΡΡΡΡΠΈ Π² ΠΈΠ»ΠΈ ΠΈΠ·Π²ΡΠ½ ΠΊΠ»ΡΡΡΠ΅ΡΠ°.
ΠΠΎΠΊΠ°ΡΠΎ ΠΏΡΠ΅ΠΌΠΈΠ½Π°Π²Π°Ρ ΠΌΠ΅, Π²ΠΈΠ΄ΡΡ ΠΌΠ΅, ΡΠ΅ Kubernetes ΠΈΠΌΠ° Π²ΡΠΈΡΠΊΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ Π½Π° Nomad, ΠΊΠΎΠΈΡΠΎ ΡΠΌΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π»ΠΈ Π΄ΠΎΡΠ΅Π³Π°, ΠΈ ΡΡΡΠΎ ΡΠ°ΠΊΠ° Π΄ΠΎΠ±Π°Π²Ρ ΠΌΠ½ΠΎΠ³ΠΎ Π½ΠΎΠ²ΠΈ Π½Π΅ΡΠ°. ΠΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΡΠ°Π·ΡΠΈΡΠΈ ΡΡΠ΅Π· ΠΏΠ»ΡΠ³ΠΈΠ½ΠΈ ΠΈ Π²ΡΡΡΠ½ΠΎΡΡ ΡΡΠ΅Π· ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΡΠΊΠΈ ΡΠΈΠΏΠΎΠ²Π΅ ΡΠ΅ΡΡΡΡΠΈ. Π’ΠΎΠ²Π° ΠΎΠ·Π½Π°ΡΠ°Π²Π°, ΡΠ΅ ΠΈΠΌΠ°ΡΠ΅ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π½Π΅ ΡΠ°ΠΌΠΎ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΡΠ΅ Π½Π΅ΡΠΎ, ΠΊΠΎΠ΅ΡΠΎ ΠΈΠ΄Π²Π° Ρ Kubernetes ΠΈΠ·Π²ΡΠ½ ΠΊΡΡΠΈΡΡΠ°, Π½ΠΎ ΠΈ Π΄Π° ΡΡΠ·Π΄Π°Π΄Π΅ΡΠ΅ ΡΠ²ΠΎΠΉ ΡΠΎΠ±ΡΡΠ²Π΅Π½ ΡΠ΅ΡΡΡΡ ΠΈ ΡΡΠ»ΡΠ³Π°, ΠΊΠΎΡΡΠΎ ΡΠ΅ ΡΠ΅ΡΠ΅ Π²Π°ΡΠΈΡ ΡΠ΅ΡΡΡΡ. Π’ΠΎΠ²Π° Π²ΠΈ Π΄Π°Π²Π° ΠΏΠΎΠ²Π΅ΡΠ΅ ΠΎΠΏΡΠΈΠΈ Π·Π° ΡΠ°Π·ΡΠΈΡΡΠ²Π°Π½Π΅ Π½Π° Π²Π°ΡΠ°ΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ°, Π±Π΅Π· Π΄Π° ΡΠ΅ Π½Π°Π»Π°Π³Π° Π΄Π° ΠΏΡΠ΅ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°ΡΠ΅ Kubernetes ΠΈ Π±Π΅Π· Π΄Π° ΡΠ΅ Π½Π°Π»Π°Π³Π° Π΄Π° ΠΏΡΠ°Π²ΠΈΡΠ΅ ΠΏΡΠΎΠΌΠ΅Π½ΠΈ.
ΠΡΠΈΠΌΠ΅Ρ Π·Π° ΡΠ°ΠΊΠΎΠ²Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π΅ Prometheus, ΠΊΠΎΠΉΡΠΎ ΠΈΠ·ΠΏΡΠ»Π½ΡΠ²Π°ΠΌΠ΅ Π² ΠΊΠ»ΡΡΡΠ΅Ρ Π½Π° Kubernetes. ΠΠ° Π΄Π° Π·Π°ΠΏΠΎΡΠ½Π΅ Π΄Π° ΡΡΠ±ΠΈΡΠ° ΠΌΠ΅ΡΡΠΈΠΊΠΈ ΠΎΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π° ΡΡΠ»ΡΠ³Π°, ΡΡΡΠ±Π²Π° Π΄Π° Π΄ΠΎΠ±Π°Π²ΠΈΠΌ Π΄ΠΎΠΏΡΠ»Π½ΠΈΡΠ΅Π»Π΅Π½ ΡΠΈΠΏ ΡΠ΅ΡΡΡΡ ΠΊΡΠΌ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ΡΠΎ Π½Π° ΡΡΠ»ΡΠ³Π°ΡΠ°, ΡΠ°ΠΊΠ° Π½Π°ΡΠ΅ΡΠ΅Π½Π°ΡΠ° ΡΡΠ»ΡΠ³Π° Π·Π° Π½Π°Π±Π»ΡΠ΄Π΅Π½ΠΈΠ΅. Prometheus, ΠΏΠΎΡΠ°Π΄ΠΈ ΡΠ°ΠΊΡΠ°, ΡΠ΅ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ΡΠ΅, ΡΡΠ°ΡΡΠΈΡΠ°Π½ Π² Kubernetes, ΠΏΠ΅ΡΡΠΎΠ½Π°Π»ΠΈΠ·ΠΈΡΠ°Π½ ΡΠΈΠΏ ΡΠ΅ΡΡΡΡ, Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ½ΠΎ Π·Π°ΠΏΠΎΡΠ²Π° Π΄Π° ΡΡΠ±ΠΈΡΠ° ΠΌΠ΅ΡΡΠΈΠΊΠΈ ΠΎΡ Π½ΠΎΠ²Π°ΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ°. ΠΠΎΡΡΠ°ΡΡΡΠ½ΠΎ ΡΠ΄ΠΎΠ±Π½ΠΎ Π΅.
ΠΡΡΠ²ΠΎΡΠΎ Π²Π½Π΅Π΄ΡΡΠ²Π°Π½Π΅, ΠΊΠΎΠ΅ΡΠΎ Π½Π°ΠΏΡΠ°Π²ΠΈΡ
ΠΌΠ΅ Π² Kubernetes, Π±Π΅ΡΠ΅ ΠΏΡΠ΅Π· ΠΌΠ°ΡΡ 2018 Π³. Π ΠΏΡΠ΅Π· ΡΠΎΠ²Π° Π²ΡΠ΅ΠΌΠ΅ Π½ΠΈΠΊΠΎΠ³Π° Π½Π΅ ΡΠΌΠ΅ ΠΈΠΌΠ°Π»ΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ Ρ Π½Π΅Π³ΠΎ. Π Π°Π±ΠΎΡΠΈ Π΄ΠΎΡΡΠ° ΡΡΠ°Π±ΠΈΠ»Π½ΠΎ Π±Π΅Π· Π·Π½Π°ΡΠΈΡΠ΅Π»Π½ΠΈ Π³ΡΠ΅ΡΠΊΠΈ. ΠΡΠ²Π΅Π½ ΡΠΎΠ²Π° ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° Π³ΠΎ ΡΠ°Π·ΡΠΈΡΠΈΠΌ Π΄ΠΎΠΏΡΠ»Π½ΠΈΡΠ΅Π»Π½ΠΎ. ΠΡΠΌ Π΄Π½Π΅ΡΠ½Π° Π΄Π°ΡΠ° ΠΈΠΌΠ°ΠΌΠ΅ Π΄ΠΎΡΡΠ°ΡΡΡΠ½ΠΎ ΠΎΡ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈΡΠ΅, ΠΊΠΎΠΈΡΠΎ ΠΈΠΌΠ°, ΠΈ Π½Π°ΠΈΡΡΠΈΠ½Π° Ρ
Π°ΡΠ΅ΡΠ²Π°ΠΌΠ΅ ΡΠ΅ΠΌΠΏΠΎΡΠΎ Π½Π° ΡΠ°Π·Π²ΠΈΡΠΈΠ΅ Π½Π° Kubernetes. Π ΠΌΠΎΠΌΠ΅Π½ΡΠ° ΠΏΠΎΠ²Π΅ΡΠ΅ ΠΎΡ 3000 ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ° ΡΠ° Π² Kubernetes. ΠΠ»ΡΡΡΠ΅ΡΡΡ Π·Π°Π΅ΠΌΠ° Π½ΡΠΊΠΎΠ»ΠΊΠΎ Π²ΡΠ·Π΅Π»Π°. Π ΡΡΡΠΎΡΠΎ Π²ΡΠ΅ΠΌΠ΅ Π΅ ΠΎΠ±ΡΠ»ΡΠΆΠ²Π°Π΅ΠΌ, ΡΡΠ°Π±ΠΈΠ»Π΅Π½ ΠΈ ΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ½ΡΡΠΎΠ»ΠΈΡΡΠ΅ΠΌ.
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: www.habr.com