ΠΡΠ΅ΠΌ ΠΏΡΠΈΠ²Π΅Ρ! ΠΠ΅Π½Ρ Π·ΠΎΠ²ΡΡ ΠΠ°Π²Π΅Π» ΠΠ³Π°Π»Π΅ΡΠΊΠΈΠΉ. Π― ΡΠ°Π±ΠΎΡΠ°Ρ ΡΠΈΠΌΠ»ΠΈΠ΄ΠΎΠΌ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π΅, ΠΊΠΎΡΠΎΡΠ°Ρ ΡΠ°Π·ΡΠ°Π±Π°ΡΡΠ²Π°Π΅Ρ ΡΠΈΡΡΠ΅ΠΌΡ Π΄ΠΎΡΡΠ°Π²ΠΊΠΈ Lamoda. Π 2018 Π³ΠΎΠ΄Ρ Ρ Π²ΡΡΡΡΠΏΠ°Π» Π½Π° ΠΊΠΎΠ½ΡΠ΅ΡΠ΅Π½ΡΠΈΠΈ HighLoad++, Π° ΡΠ΅Π³ΠΎΠ΄Π½Ρ Ρ ΠΎΡΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΠΈΡΡ ΡΠ°ΡΡΠΈΡΡΠΎΠ²ΠΊΡ ΡΠ²ΠΎΠ΅Π³ΠΎ Π΄ΠΎΠΊΠ»Π°Π΄Π°.
ΠΠΎΡ ΡΠ΅ΠΌΠ° ΠΏΠΎΡΠ²ΡΡΠ΅Π½Π° ΠΎΠΏΡΡΡ Π½Π°ΡΠ΅ΠΉ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ ΠΏΠΎ Π΄Π΅ΠΏΠ»ΠΎΡ ΡΠΈΡΡΠ΅ΠΌ ΠΈ ΡΠ΅ΡΠ²ΠΈΡΠΎΠ² Π² ΡΠ°Π·Π½ΡΠ΅ ΡΡΠ΅Π΄Ρ. ΠΠ°ΡΠΈΠ½Π°Ρ ΠΎΡ Π½Π°ΡΠΈΡ Π΄ΠΎΠΈΡΡΠΎΡΠΈΡΠ΅ΡΠΊΠΈΡ Π²ΡΠ΅ΠΌΠ΅Π½, ΠΊΠΎΠ³Π΄Π° ΠΌΡ Π΄Π΅ΠΏΠ»ΠΎΠΈΠ»ΠΈ Π²ΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΡ Π² ΠΎΠ±ΡΡΠ½ΡΠ΅ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΡΠ΅ ΡΠ΅ΡΠ²Π΅ΡΠ°, Π·Π°ΠΊΠ°Π½ΡΠΈΠ²Π°Ρ ΠΏΠΎΡΡΠ΅ΠΏΠ΅Π½Π½ΡΠΌ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ ΠΎΡ Nomad ΠΊ Π΄Π΅ΠΏΠ»ΠΎΡ Π² Kubernetes. Π Π°ΡΡΠΊΠ°ΠΆΡ ΠΎ ΡΠΎΠΌ, ΠΏΠΎΡΠ΅ΠΌΡ ΠΌΡ ΡΡΠΎ ΡΠ΄Π΅Π»Π°Π»ΠΈ ΠΈ ΠΊΠ°ΠΊΠΈΠ΅ Ρ Π½Π°Ρ Π±ΡΠ»ΠΈ Π² ΠΏΡΠΎΡΠ΅ΡΡΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ.
ΠΠ΅ΠΏΠ»ΠΎΠΉ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π½Π° VM
ΠΠ°ΡΠ½Π΅ΠΌ Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎ 3 Π³ΠΎΠ΄Π° Π½Π°Π·Π°Π΄ Π²ΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΡ ΠΈ ΡΠ΅ΡΠ²ΠΈΡΡ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ Π΄Π΅ΠΏΠ»ΠΎΠΈΠ»ΠΈΡΡ Π½Π° ΠΎΠ±ΡΡΠ½ΡΠ΅ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΡΠ΅ ΡΠ΅ΡΠ²Π΅ΡΠ°. Π’Π΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠΈ Π±ΡΠ»ΠΎ ΠΎΡΠ³Π°Π½ΠΈΠ·ΠΎΠ²Π°Π½ΠΎ ΡΠ°ΠΊ, ΡΡΠΎ Π²Π΅ΡΡ ΠΊΠΎΠ΄ Π½Π°ΡΠΈΡ ΡΠΈΡΡΠ΅ΠΌ Π»Π΅ΠΆΠ°Π» ΠΈ ΡΠΎΠ±ΠΈΡΠ°Π»ΡΡ Π·Π° ΡΡΠ΅Ρ ΡΡΠ΅Π΄ΡΡΠ² Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΡΠ±ΠΎΡΠΊΠΈ, Ρ ΠΏΠΎΠΌΠΎΡΡΡ jenkins. ΠΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ Ansible ΠΎΠ½ ΠΈΠ· Π½Π°ΡΠ΅ΠΉ ΡΠΈΡΡΠ΅ΠΌΡ ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ Π²Π΅ΡΡΠΈΠΉ ΡΠ°ΡΠΊΠ°ΡΡΠ²Π°Π»ΡΡ ΡΠΆΠ΅ Π½Π° Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΡΠ΅ ΡΠ΅ΡΠ²Π΅ΡΠ°. ΠΡΠΈ ΡΡΠΎΠΌ ΠΊΠ°ΠΆΠ΄Π°Ρ ΡΠΈΡΡΠ΅ΠΌΠ°, ΠΊΠΎΡΠΎΡΠ°Ρ Π±ΡΠ»Π° Π² Π½Π°ΡΠ΅ΠΉ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ, Π΄Π΅ΠΏΠ»ΠΎΠΈΠ»Π°ΡΡ, ΠΊΠ°ΠΊ ΠΌΠΈΠ½ΠΈΠΌΡΠΌ, Π½Π° 2 ΡΠ΅ΡΠ²Π΅ΡΠ°: ΠΎΠ΄Π½Π° ΠΈΠ· Π½ΠΈΡ β Π½Π° head, Π²ΡΠΎΡΠ°Ρ β Π½Π° tail. ΠΡΠΈ Π΄Π²Π΅ ΡΠΈΡΡΠ΅ΠΌΡ Π±ΡΠ»ΠΈ Π°Π±ΡΠΎΠ»ΡΡΠ½ΠΎ ΠΈΠ΄Π΅Π½ΡΠΈΡΠ½Ρ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠΎΠ±ΠΎΠΉ ΠΏΠΎ Π²ΡΠ΅ΠΌ ΡΠ²ΠΎΠΈΠΌ Π½Π°ΡΡΡΠΎΠΉΠΊΠ°ΠΌ, ΠΌΠΎΡΠ½ΠΎΡΡΠΈ, ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ ΠΈ ΠΏΡΠΎΡΠ΅ΠΌΡ. ΠΡΠ»ΠΈΡΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρ Π½ΠΈΠΌΠΈ Π±ΡΠ»ΠΎ Π»ΠΈΡΡ Π² ΡΠΎΠΌ, ΡΡΠΎ head ΠΏΠΎΠ»ΡΡΠ°Π» ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠΉ ΡΡΠ°ΡΠΈΠΊ, Π° tail Π½ΠΈΠΊΠΎΠ³Π΄Π° ΡΡΠ°ΡΠΈΠΊ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ Π½Π° ΡΠ΅Π±Ρ Π½Π΅ ΠΏΠΎΠ»ΡΡΠ°Π».
ΠΠ»Ρ ΡΠ΅Π³ΠΎ ΡΡΠΎ Π±ΡΠ»ΠΎ ΡΠ΄Π΅Π»Π°Π½ΠΎ?
ΠΠΎΠ³Π΄Π° ΠΌΡ Π΄Π΅ΠΏΠ»ΠΎΠΈΠ»ΠΈ Π½ΠΎΠ²ΡΠ΅ ΡΠ΅Π»ΠΈΠ·Ρ Π½Π°ΡΠ΅Π³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΡΠΎ Ρ ΠΎΡΠ΅Π»ΠΈ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π±Π΅ΡΡΠΎΠ²Π½ΠΎΠΉ ΡΠ°ΡΠΊΠ°ΡΠΊΠΈ, ΡΠΎ Π΅ΡΡΡ Π±Π΅Π· Π·Π°ΠΌΠ΅ΡΠ½ΡΡ ΠΏΠΎΡΠ»Π΅Π΄ΡΡΠ²ΠΈΠΉ Π΄Π»Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ. ΠΠΎΡΡΠΈΠ³Π°Π»ΠΎΡΡ ΡΡΠΎ Π·Π° ΡΡΠ΅Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎ ΠΎΡΠ΅ΡΠ΅Π΄Π½ΠΎΠΉ ΡΠΎΠ±ΡΠ°Π½Π½ΡΠΉ ΡΠ΅Π»ΠΈΠ· Ρ ΠΏΠΎΠΌΠΎΡΡΡ Ansible Π²ΡΠΊΠ°ΡΡΠ²Π°Π»ΡΡ Π½Π° tail. Π’Π°ΠΌ Π»ΡΠ΄ΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ Π·Π°Π½ΠΈΠΌΠ°Π»ΠΈΡΡ Π΄Π΅ΠΏΠ»ΠΎΠ΅ΠΌ, ΠΌΠΎΠ³Π»ΠΈ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ ΠΈ ΡΠ±Π΅Π΄ΠΈΡΡΡΡ, ΡΡΠΎ Π²ΡΠ΅ Ρ ΠΎΡΠΎΡΠΎ: Π²ΡΠ΅ ΠΌΠ΅ΡΡΠΈΠΊΠΈ, ΡΠ°Π·Π΄Π΅Π»Ρ ΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΡΠ°Π±ΠΎΡΠ°ΡΡ; Π·Π°ΠΏΡΡΠΊΠ°ΡΡΡΡ Π½ΡΠΆΠ½ΡΠ΅ ΡΠΊΡΠΈΠΏΡΡ. Π’ΠΎΠ»ΡΠΊΠΎ ΠΏΠΎΡΠ»Π΅ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΎΠ½ΠΈ ΡΠ±Π΅ΠΆΠ΄Π°Π»ΠΈΡΡ, ΡΡΠΎ Π²ΡΠ΅ ΠΎΠΊ, ΡΡΠ°ΡΠΈΠΊ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ°Π»ΡΡ. ΠΠ½ Π½Π°ΡΠΈΠ½Π°Π» ΠΈΠ΄ΡΠΈ Π½Π° ΡΠΎΡ ΡΠ΅ΡΠ²Π΅Ρ, ΠΊΠΎΡΠΎΡΡΠΉ Π΄ΠΎ ΡΡΠΎΠ³ΠΎ Π±ΡΠ» tail. Π ΡΠΎΡ, ΠΊΠΎΡΠΎΡΡΠΉ Π΄ΠΎ ΡΡΠΎΠ³ΠΎ Π±ΡΠ» head-ΠΎΠΌ, ΠΎΡΡΠ°Π²Π°Π»ΡΡ Π±Π΅Π· ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΎΠ³ΠΎ ΡΡΠ°ΡΠΈΠΊΠ°, ΠΏΡΠΈ ΡΡΠΎΠΌ Ρ ΠΈΠΌΠ΅ΡΡΠ΅ΠΉΡΡ Π½Π° Π½Π΅ΠΌ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅ΠΉ Π²Π΅ΡΡΠΈΠ΅ΠΉ Π½Π°ΡΠ΅Π³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ.
Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, Π΄Π»Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ ΡΡΠΎ Π±ΡΠ»ΠΎ Π±Π΅ΡΡΠΎΠ²Π½ΠΎ. ΠΠΎΡΠΎΠΌΡ ΡΡΠΎ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΎΠ΄Π½ΠΎΠΌΠΎΠΌΠ΅Π½ΡΠ½ΠΎΠ΅, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΡΡΠΎ ΠΏΡΠΎΡΡΠΎ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ Π±Π°Π»Π°Π½ΡΠΈΡΠΎΠ²ΡΠΈΠΊΠ°. ΠΡΠ΅Π½Ρ Π»Π΅Π³ΠΊΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡΠΊΠ°ΡΠΈΡΡΡΡ Π½Π° ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΡΡ Π²Π΅ΡΡΠΈΡ, ΠΏΡΠΎΡΡΠΎ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠΈΠ² Π±Π°Π»Π°Π½ΡΠΈΡΠΎΠ²ΡΠΈΠΊ Π½Π°Π·Π°Π΄. Π’Π°ΠΊΠΆΠ΅ ΠΌΡ ΠΌΠΎΠ³Π»ΠΈ ΡΠ±Π΅Π΄ΠΈΡΡΡΡ Π² ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π½Π° ΠΏΡΠΎΠ΄Π°ΠΊΡΠ½ Π΅ΡΠ΅ Π΄ΠΎ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Π½Π° Π½Π΅Π³ΠΎ ΠΏΠΎΠΉΠ΄Π΅Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠΉ ΡΡΠ°ΡΠΈΠΊ, ΡΡΠΎ Π±ΡΠ»ΠΎ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΡΠ΄ΠΎΠ±Π½ΠΎ.
ΠΠ°ΠΊΠΈΠ΅ ΠΌΡ Π²ΠΈΠ΄Π΅Π»ΠΈ Π²ΠΎ Π²ΡΠ΅ΠΌ ΡΡΠΎΠΌ Π΄ΠΎΡΡΠΎΠΈΠ½ΡΡΠ²Π°?
- ΠΡΠ΅ΠΆΠ΄Π΅ Π²ΡΠ΅Π³ΠΎ, ΡΡΠΎ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΠΏΡΠΎΡΡΠΎ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ. ΠΡΠ΅ΠΌ ΠΏΠΎΠ½ΡΡΠ½ΠΎ, ΠΊΠ°ΠΊ ΡΡΠ½ΠΊΡΠΈΠΎΠ½ΠΈΡΡΠ΅Ρ ΠΏΠΎΠ΄ΠΎΠ±Π½Π°Ρ ΡΡ Π΅ΠΌΠ° Π΄Π΅ΠΏΠ»ΠΎΡ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎ Π»ΡΠ΄Π΅ΠΉ ΠΊΠΎΠ³Π΄Π°-Π»ΠΈΠ±ΠΎ Π΄Π΅ΠΏΠ»ΠΎΠΈΠ»ΠΈ Π½Π° ΠΎΠ±ΡΡΠ½ΡΠ΅ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΡΠ΅ ΡΠ΅ΡΠ²Π΅ΡΠ°.
- ΠΡΠΎ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π½Π°Π΄Π΅ΠΆΠ½ΠΎ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΡ Π΄Π΅ΠΏΠ»ΠΎΡ ΠΏΡΠΎΡΡΠ°Ρ, ΠΎΠΏΡΠΎΠ±ΠΎΠ²Π°Π½Π½Π°Ρ ΡΡΡΡΡΠ°ΠΌΠΈ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΉ. ΠΠΈΠ»Π»ΠΈΠΎΠ½Ρ ΡΠ΅ΡΠ²Π΅ΡΠΎΠ² Π΄Π΅ΠΏΠ»ΠΎΡΡΡΡ ΠΈΠΌΠ΅Π½Π½ΠΎ ΡΠ°ΠΊ. Π‘Π»ΠΎΠΆΠ½ΠΎ ΡΡΠΎ-ΡΠΎ ΡΠ»ΠΎΠΌΠ°ΡΡ.
- Π Π½Π°ΠΊΠΎΠ½Π΅Ρ, ΠΌΡ ΠΌΠΎΠ³Π»ΠΈ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π°ΡΠΎΠΌΠ°ΡΠ½ΡΠ΅ Π΄Π΅ΠΏΠ»ΠΎΠΈ. ΠΠ΅ΠΏΠ»ΠΎΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ Π΄Π»Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΡΡ ΠΎΠ΄Π½ΠΎΠΌΠΎΠΌΠ΅Π½ΡΠ½ΠΎ, Π±Π΅Π· Π·Π°ΠΌΠ΅ΡΠ½ΠΎΠ³ΠΎ ΡΡΠ°ΠΏΠ° ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρ ΡΡΠ°ΡΠΎΠΉ Π²Π΅ΡΡΠΈΠ΅ΠΉ ΠΈ Π½ΠΎΠ²ΠΎΠΉ.
ΠΠΎ Π² ΡΡΠΎΠΌ Π²ΡΠ΅ΠΌ ΠΌΡ ΡΠ°ΠΊΠΆΠ΅ Π²ΠΈΠ΄Π΅Π»ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΊΠΎΠ²:
- ΠΠΎΠΌΠΈΠΌΠΎ ΠΏΡΠΎΠ΄Π°ΠΊΡΠ½-ΡΡΠ΅Π΄Ρ, ΡΡΠ΅Π΄Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ, Π΅ΡΡΡ ΠΈ Π΄ΡΡΠ³ΠΈΠ΅ ΡΡΠ΅Π΄Ρ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, qa ΠΈ preproduction. ΠΠ° ΡΠΎΡ ΠΌΠΎΠΌΠ΅Π½Ρ Ρ Π½Π°Ρ Π±ΡΠ»ΠΎ ΠΌΠ½ΠΎΠ³ΠΎ ΡΠ΅ΡΠ²Π΅ΡΠΎΠ² ΠΈ ΠΎΠΊΠΎΠ»ΠΎ 60 ΡΠ΅ΡΠ²ΠΈΡΠΎΠ². ΠΠΎ ΡΡΠΎΠΉ ΠΏΡΠΈΡΠΈΠ½Π΅ ΠΏΡΠΈΡ ΠΎΠ΄ΠΈΠ»ΠΎΡΡ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΠ΅ΡΠ²ΠΈΡΠ° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ Π°ΠΊΡΡΠ°Π»ΡΠ½ΡΡ Π΄Π»Ρ Π½Π΅Π³ΠΎ Π²Π΅ΡΡΠΈΡ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΠΎΠΉ ΠΌΠ°ΡΠΈΠ½Ρ. ΠΡΠΈΡΠ΅ΠΌ, Π΅ΡΠ»ΠΈ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ ΠΎΠ±Π½ΠΎΠ²ΠΈΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΠΈΠ»ΠΈ ΠΏΠΎΡΡΠ°Π²ΠΈΡΡ Π½ΠΎΠ²ΡΠ΅ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ, Π²Π°ΠΌ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΡΠΎ ΡΠ΄Π΅Π»Π°ΡΡ Π²ΠΎ Π²ΡΠ΅Ρ ΡΡΠ΅Π΄Π°Ρ . Π’Π°ΠΊΠΆΠ΅ Π½ΡΠΆΠ½ΠΎ Π±ΡΠ»ΠΎ ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ Π²ΡΠ΅ΠΌΡ, ΠΊΠΎΠ³Π΄Π° Π²Ρ ΡΠΎΠ±ΠΈΡΠ°Π΅ΡΠ΅ΡΡ Π΄Π΅ΠΏΠ»ΠΎΠΈΡΡ ΠΎΡΠ΅ΡΠ΅Π΄Π½ΡΡ Π½ΠΎΠ²ΡΡ Π²Π΅ΡΡΠΈΡ Π²Π°ΡΠ΅Π³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΡΠΎ Π²ΡΠ΅ΠΌΠ΅Π½Π΅ΠΌ, ΠΊΠΎΠ³Π΄Π° devops Π²ΡΠΏΠΎΠ»Π½ΠΈΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠ΅ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡ. Π ΡΠ°ΠΊΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π»Π΅Π³ΠΊΠΎ ΠΏΠΎΠΏΠ°ΡΡΡ Π² ΡΠΈΡΡΠ°ΡΠΈΡ, ΠΊΠΎΠ³Π΄Π° ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΠ΅ Ρ Π½Π°Ρ Π±ΡΠ΄Π΅Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΎΡΠ»ΠΈΡΠ°ΡΡΡΡ ΡΡΠ°Π·Ρ Π²ΠΎ Π²ΡΠ΅Ρ ΡΡΠ΅Π΄Π°Ρ ΠΏΠΎΠ΄ΡΡΠ΄. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π² QA-ΡΡΠ΅Π΄Π΅ Π±ΡΠ΄ΡΡ ΠΎΠ΄Π½ΠΈ Π²Π΅ΡΡΠΈΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ, Π° Π² ΠΏΡΠΎΠ΄Π°ΠΊΡΠ½ β Π΄ΡΡΠ³ΠΈΠ΅, ΡΡΠΎ ΠΏΡΠΈΠ²Π΅Π΄Π΅Ρ ΠΊ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°ΠΌ.
- Π‘Π»ΠΎΠΆΠ½ΠΎΡΡΡ Π² ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΈ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠ΅ΠΉ Π²Π°ΡΠ΅Π³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. ΠΡΠΎ Π·Π°Π²ΠΈΡΠΈΡ Π½Π΅ ΠΎΡ Π²Π°Ρ, Π° ΠΎΡ Π΄ΡΡΠ³ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ. Π ΠΈΠΌΠ΅Π½Π½ΠΎ, ΠΎΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ devops, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΡΠ΅ΡΠ²Π΅ΡΠ°. ΠΡ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΏΠΎΡΡΠ°Π²ΠΈΡΡ Π΄Π»Ρ Π½ΠΈΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΡΡ Π·Π°Π΄Π°ΡΡ ΠΈ Π΄Π°ΡΡ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΡΠΎΠ³ΠΎ, ΡΡΠΎ Ρ ΠΎΡΠΈΡΠ΅ ΡΠ΄Π΅Π»Π°ΡΡ.
- Π ΡΠΎ Π²ΡΠ΅ΠΌΡ ΠΌΡ ΡΠ°ΠΊΠΆΠ΅ Ρ ΠΎΡΠ΅Π»ΠΈ ΡΠ°Π·Π΄Π΅Π»ΠΈΡΡ ΠΈΠΌΠ΅Π²ΡΠΈΠ΅ΡΡ Ρ Π½Π°Ρ Π±ΠΎΠ»ΡΡΠΈΠ΅ ΠΊΡΡΠΏΠ½ΡΠ΅ ΠΌΠΎΠ½ΠΎΠ»ΠΈΡΡ Π½Π° ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠ΅ ΠΌΠ°Π»Π΅Π½ΡΠΊΠΈΠ΅ ΡΠ΅ΡΠ²ΠΈΡΡ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΠΏΠΎΠ½ΠΈΠΌΠ°Π»ΠΈ, ΡΡΠΎ ΠΈΡ Π±ΡΠ΄Π΅Ρ ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡΡ Π²ΡΠ΅ Π±ΠΎΠ»ΡΡΠ΅ ΠΈ Π±ΠΎΠ»ΡΡΠ΅. ΠΠ° ΡΠΎΡ ΠΌΠΎΠΌΠ΅Π½Ρ Ρ Π½Π°Ρ ΡΠΆΠ΅ Π±ΡΠ»ΠΎ ΠΈΡ Π±ΠΎΠ»Π΅Π΅ 100. ΠΠ΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π±ΡΠ»ΠΎ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΡΠ΅ΡΠ²ΠΈΡΠ° ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΡ Π½ΠΎΠ²ΡΡ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΡΡ ΠΌΠ°ΡΠΈΠ½Ρ, ΠΊΠΎΡΠΎΡΡΡ ΡΠ°ΠΊΠΆΠ΅ Π½Π°Π΄ΠΎ ΠΎΠ±ΡΠ»ΡΠΆΠΈΠ²Π°ΡΡ ΠΈ Π΄Π΅ΠΏΠ»ΠΎΠΈΡΡ. ΠΡΠΎΠΌΠ΅ ΡΡΠΎΠ³ΠΎ, Π½ΡΠΆΠ½Π° Π½Π΅ ΠΎΠ΄Π½Π° ΠΌΠ°ΡΠΈΠ½Π°, Π°, ΠΊΠ°ΠΊ ΠΌΠΈΠ½ΠΈΠΌΡΠΌ, Π΄Π²Π΅. Π ΡΡΠΎΠΌΡ Π²ΡΠ΅ΠΌΡ Π΅ΡΠ΅ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅ΡΡΡ QA-ΡΡΠ΅Π΄Π°. ΠΡΠΎ Π²ΡΠ·ΡΠ²Π°Π΅Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ ΠΈ Π΄Π΅Π»Π°Π΅Ρ Π΄Π»Ρ Π²Π°Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΈ Π·Π°ΠΏΡΡΠΊ Π½ΠΎΠ²ΡΡ ΡΠΈΡΡΠ΅ΠΌ Π±ΠΎΠ»Π΅Π΅ ΡΠ»ΠΎΠΆΠ½ΡΠΌ, Π΄ΠΎΡΠΎΠ³ΠΎΡΡΠΎΡΡΠΈΠΌ ΠΈ Π΄ΠΎΠ»Π³ΠΈΠΌ ΠΏΡΠΎΡΠ΅ΡΡΠΎΠΌ.
ΠΠΎΡΡΠΎΠΌΡ ΠΌΡ ΠΏΡΠΈΠ½ΡΠ»ΠΈ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅, ΡΡΠΎ Π±ΡΠ΄Π΅Ρ ΡΠ΄ΠΎΠ±Π½Π΅Π΅ ΠΏΠ΅ΡΠ΅ΠΉΡΠΈ ΠΎΡ Π΄Π΅ΠΏΠ»ΠΎΡ ΠΎΠ±ΡΡΠ½ΡΡ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΡΡ ΠΌΠ°ΡΠΈΠ½ ΠΊ Π΄Π΅ΠΏΠ»ΠΎΡ Π½Π°ΡΠΈΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π² ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ΅ docker. ΠΡΠΈ Π½Π°Π»ΠΈΡΠΈΠΈ docker Π½ΡΠΆΠ½Π° ΡΠΈΡΡΠ΅ΠΌΠ°, ΠΊΠΎΡΠΎΡΠ°Ρ ΡΠΌΠΎΠΆΠ΅Ρ Π·Π°ΠΏΡΡΡΠΈΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π² ΠΊΠ»Π°ΡΡΠ΅ΡΠ΅, ΡΠ°ΠΊ ΠΊΠ°ΠΊ Π²Ρ Π½Π΅ ΡΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠΎΠ΄Π½ΡΡΡ ΠΏΡΠΎΡΡΠΎ ΡΠ°ΠΊ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ. ΠΠ±ΡΡΠ½ΠΎ Ρ ΠΎΡΠ΅ΡΡΡ ΡΠ»Π΅Π΄ΠΈΡΡ Π·Π° ΡΠ΅ΠΌ, ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΎΠ² ΠΏΠΎΠ΄Π½ΡΡΠΎ, ΡΡΠΎΠ±Ρ ΠΎΠ½ΠΈ ΠΏΠΎΠ΄Π½ΠΈΠΌΠ°Π»ΠΈΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ. ΠΠΎ ΡΡΠΎΠΉ ΠΏΡΠΈΡΠΈΠ½Π΅ Π½Π°ΠΌ Π½ΡΠΆΠ½ΠΎ Π±ΡΠ»ΠΎ Π²ΡΠ±ΡΠ°ΡΡ ΡΠΈΡΡΠ΅ΠΌΡ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ.
ΠΡ Π΄ΠΎΠ»Π³ΠΎ ΡΠ°Π·ΠΌΡΡΠ»ΡΠ»ΠΈ Π½Π°Π΄ ΡΠ΅ΠΌ, ΠΊΠ°ΠΊΡΡ ΠΈΠ· Π½ΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ Π²Π·ΡΡΡ. ΠΠ΅Π»ΠΎ Π² ΡΠΎΠΌ, ΡΡΠΎ Π½Π° ΡΠΎΡ ΠΌΠΎΠΌΠ΅Π½Ρ ΡΡΠΎΡ ΡΡΠ΅ΠΊ Π΄Π΅ΠΏΠ»ΠΎΡ Π½Π° ΠΎΠ±ΡΡΠ½ΡΠ΅ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΡΠ΅ ΡΠ΅ΡΠ²Π΅ΡΠ° Π±ΡΠ» Ρ Π½Π°Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΡΡΠ°ΡΠ΅Π²ΡΠΈΠΌ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΡΠ°ΠΌ Π±ΡΠ»ΠΈ Π½Π΅ ΡΠ°ΠΌΡΠ΅ ΡΠ²Π΅ΠΆΠΈΠ΅ Π²Π΅ΡΡΠΈΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΡΡ ΡΠΈΡΡΠ΅ΠΌ. Π ΠΊΠ°ΠΊΠΎΠΉ-ΡΠΎ ΠΌΠΎΠΌΠ΅Π½Ρ ΡΠ°ΠΌ Π΄Π°ΠΆΠ΅ FreeBSD ΡΡΠΎΡΠ»Π°, ΠΊΠΎΡΠΎΡΡΡ Π±ΡΠ»ΠΎ Π½Π΅ ΠΎΡΠ΅Π½Ρ ΡΠ΄ΠΎΠ±Π½ΠΎ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ. ΠΡ ΠΏΠΎΠ½ΠΈΠΌΠ°Π»ΠΈ, ΡΡΠΎ Π½ΡΠΆΠ½ΠΎ ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΡΡΡΠ΅Π΅ ΠΌΠΈΠ³ΡΠΈΡΠΎΠ²Π°ΡΡ Π² docker. ΠΠ°ΡΠΈ Π΄Π΅Π²ΠΎΠΏΡ ΠΏΠΎΡΠΌΠΎΡΡΠ΅Π»ΠΈ Π½Π° ΡΠ²ΠΎΠΉ ΠΈΠΌΠ΅ΡΡΠΈΠΉΡΡ ΠΎΠΏΡΡ ΡΠ°Π±ΠΎΡΡ Ρ ΡΠ°Π·Π½ΡΠΌΠΈ ΡΠ΅ΡΠ΅Π½ΠΈΡΠΌΠΈ ΠΈ Π²ΡΠ±ΡΠ°Π»ΠΈ ΡΠ°ΠΊΡΡ ΡΠΈΡΡΠ΅ΠΌΡ ΠΊΠ°ΠΊ Nomad.
ΠΠ΅ΡΠ΅Ρ ΠΎΠ΄ Π½Π° Nomad
Nomad β ΡΡΠΎ ΠΏΡΠΎΠ΄ΡΠΊΡ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ βHashiCorpβ. Π’Π°ΠΊΠΆΠ΅ ΠΎΠ½ΠΈ ΠΈΠ·Π²Π΅ΡΡΠ½Ρ Π΄ΡΡΠ³ΠΈΠΌΠΈ ΡΠ²ΠΎΠΈΠΌΠΈ ΡΠ΅ΡΠ΅Π½ΠΈΡΠΌΠΈ:
Β«ConsulΒ» β ΡΡΠΎ ΡΡΠ΅Π΄ΡΡΠ²ΠΎ Π΄Π»Ρ ΡΠ΅ΡΠ²ΠΈΡ-Π΄ΠΈΡΠΊΠ°Π²Π΅ΡΠΈΠ½Π³Π°.
Β«TerraformΒ» β ΡΠΈΡΡΠ΅ΠΌΠ° Π΄Π»Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΠ΅ΡΠ²Π΅ΡΠ°ΠΌΠΈ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠ°Ρ Π²Π°ΠΌ Π½Π°ΡΡΡΠ°ΠΈΠ²Π°ΡΡ ΠΈΡ ΡΠ΅ΡΠ΅Π· ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ, ΡΠ°ΠΊ Π½Π°Π·ΡΠ²Π°Π΅ΠΌΡΡ infrastructure-as-a-code.
Β«VagrantΒ» ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π²Π°ΠΌ ΡΠ°Π·Π²ΠΎΡΠ°ΡΠΈΠ²Π°ΡΡ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΡΠ΅ ΠΌΠ°ΡΠΈΠ½Ρ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎ ΠΈΠ»ΠΈ Π² ΠΎΠ±Π»Π°ΠΊΠ΅ ΠΏΡΡΠ΅ΠΌ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΡ ΡΠ°ΠΉΠ»ΠΎΠ² ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ.
Nomad Π½Π° ΡΠΎΡ ΠΌΠΎΠΌΠ΅Π½Ρ ΠΏΠΎΠΊΠ°Π·Π°Π»ΡΡ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΠΏΡΠΎΡΡΡΠΌ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ΠΌ, Π½Π° ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΡΡΡΠΎ ΠΏΠ΅ΡΠ΅ΠΉΡΠΈ Π±Π΅Π· ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π²ΡΠ΅ΠΉ ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΡ. Π ΡΠΎΠΌΡ ΠΆΠ΅, ΠΎΠ½ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π»Π΅Π³ΠΊΠΎ ΠΎΡΠ²Π°ΠΈΠ²Π°Π΅ΡΡΡ. ΠΠΎΡΡΠΎΠΌΡ ΠΈΠΌΠ΅Π½Π½ΠΎ Π΅Π³ΠΎ ΠΌΡ ΠΈ Π²ΡΠ±ΡΠ°Π»ΠΈ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΡΠΈΡΡΠ΅ΠΌΡ ΡΠΈΠ»ΡΡΡΠ°ΡΠΈΠΈ Π½Π°ΡΠ΅Π³ΠΎ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ°.
Π§ΡΠΎ Π½ΡΠΆΠ½ΠΎ Π΄Π»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ Π²ΠΎΠΎΠ±ΡΠ΅ Π·Π°Π΄Π΅ΠΏΠ»ΠΎΠΈΡΡ Π²Π°ΡΡ ΡΠΈΡΡΠ΅ΠΌΡ Π² Nomad?
- ΠΡΠ΅ΠΆΠ΄Π΅ Π²ΡΠ΅Π³ΠΎ Π½ΡΠΆΠ΅Π½ docker image Π²Π°ΡΠ΅Π³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. ΠΠ΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΎΠ±ΡΠ°ΡΡ Π΅Π³ΠΎ ΠΈ ΠΏΠΎΠΌΠ΅ΡΡΠΈΡΡ Π² Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅ ΠΎΠ±ΡΠ°Π·ΠΎΠ² docker. Π Π½Π°ΡΠ΅ΠΌ ΡΠ»ΡΡΠ°Π΅ ΡΡΠΎ artifactory β ΡΠ°ΠΊΠ°Ρ ΡΠΈΡΡΠ΅ΠΌΠ°, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΏΡΡΠΈΡΡ Π² Π½Π΅Π΅ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ Π°ΡΡΠ΅ΡΠ°ΠΊΡΡ ΡΠ°Π·Π½ΠΎΠ³ΠΎ ΡΠΈΠΏΠ°. ΠΠ½Π° ΡΠΌΠ΅Π΅Ρ Ρ ΡΠ°Π½ΠΈΡΡ Π°ΡΡ ΠΈΠ²Ρ, ΠΎΠ±ΡΠ°Π·Ρ docker, ΠΏΠ°ΠΊΠ΅ΡΡ composer Π ΠΠ , NΠ Π-ΠΏΠ°ΠΊΠ΅ΡΡ ΠΈ ΡΠ°ΠΊ Π΄Π°Π»Π΅Π΅.
- Π’Π°ΠΊΠΆΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΎΠ½Π½ΡΠΉ ΡΠ°ΠΉΠ», ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΊΠ°ΠΆΠ΅Ρ Nomad, ΡΡΠΎ, ΠΊΡΠ΄Π° ΠΈ Π² ΠΊΠ°ΠΊΠΎΠΌ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π΅ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ Π·Π°Π΄Π΅ΠΏΠ»ΠΎΠΈΡΡ.
ΠΠΎΠ³Π΄Π° ΠΌΡ Π³ΠΎΠ²ΠΎΡΠΈΠΌ ΠΏΡΠΎ Nomad, ΡΠΎ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΡΠΎΡΠΌΠ°ΡΠ° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΎΠ½Π½ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π° ΠΎΠ½ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΡΠ·ΡΠΊ HΠ‘L, ΡΡΠΎ ΡΠ°ΡΡΠΈΡΡΠΎΠ²ΡΠ²Π°Π΅ΡΡΡ ΠΊΠ°ΠΊ HashiCorp Configuration Language. ΠΡΠΎ ΡΠ°ΠΊΠΎΠ΅ Π½Π°Π΄ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ Π½Π°Π΄ Yaml, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π²Π°ΠΌ ΠΎΠΏΠΈΡΠ°ΡΡ Π²Π°Ρ ΡΠ΅ΡΠ²ΠΈΡ Π² ΡΠ΅ΡΠΌΠΈΠ½Π°Ρ Nomad.
ΠΠ½ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠΊΠ°Π·Π°ΡΡ, ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΎΠ² Ρ
ΠΎΡΠΈΡΠ΅ Π·Π°Π΄Π΅ΠΏΠ»ΠΎΠΈΡΡ, ΠΈΠ· ΠΊΠ°ΠΊΠΈΡ
images ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ ΠΈΠΌ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΠΏΡΠΈ Π΄Π΅ΠΏΠ»ΠΎΠ΅. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, Π²Ρ ΡΠΊΠ°ΡΠΌΠ»ΠΈΠ²Π°Π΅ΡΠ΅ ΡΡΠΎΡ ΡΠ°ΠΉΠ» Nomad, Π° ΠΎΠ½ Π·Π°ΠΏΡΡΠΊΠ°Π΅Ρ Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠΈ Ρ Π½ΠΈΠΌ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΡ Π² ΠΏΡΠΎΠ΄Π°ΠΊΡΠ½.
Π Π½Π°ΡΠ΅ΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΌΡ ΠΏΠΎΠ½ΡΠ»ΠΈ, ΡΡΠΎ ΠΏΡΠΎΡΡΠΎ ΠΏΠΈΡΠ°ΡΡ ΠΏΠΎΠ΄ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ΅ΡΠ²ΠΈΡ Π°Π±ΡΠΎΠ»ΡΡΠ½ΠΎ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΡΠ΅, ΠΈΠ΄Π΅Π½ΡΠΈΡΠ½ΡΠ΅ HΠ‘L-ΡΠ°ΠΉΠ»Ρ Π±ΡΠ΄Π΅Ρ Π½Π΅ ΠΎΡΠ΅Π½Ρ ΡΠ΄ΠΎΠ±Π½ΠΎ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΡΠ΅ΡΠ²ΠΈΡΠΎΠ² ΠΌΠ½ΠΎΠ³ΠΎ ΠΈ ΠΈΠ½ΠΎΠ³Π΄Π° Ρ ΠΎΡΠ΅ΡΡΡ ΠΈΡ ΠΎΠ±Π½ΠΎΠ²ΠΈΡΡ. ΠΡΠ²Π°Π΅Ρ ΡΠ°ΠΊΠΎΠ΅, ΡΡΠΎ ΠΎΠ΄ΠΈΠ½ ΡΠ΅ΡΠ²ΠΈΡ Π·Π°Π΄Π΅ΠΏΠ»ΠΎΠ΅Π½ Π½Π΅ Π² ΠΎΠ΄Π½ΠΎΠΌ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠ΅, Π° Π² ΡΠ°ΠΌΡΡ ΡΠ°Π·Π½ΡΡ . ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΎΠ΄Π½Π° ΠΈΠ· ΡΠΈΡΡΠ΅ΠΌ, ΠΊΠΎΡΠΎΡΠ°Ρ Ρ Π½Π°Ρ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π² ΠΏΡΠΎΠ΄Π°ΠΊΡΠ½, ΠΈΠΌΠ΅Π΅Ρ Π±ΠΎΠ»Π΅Π΅ 100 ΠΈΠ½ΡΡΠ°Π½ΡΠΎΠ² Π² ΠΏΡΠΎΠ΄Π΅. ΠΠ½ΠΈ Π·Π°ΠΏΡΡΠΊΠ°ΡΡΡΡ ΠΈΠ· ΠΎΠ΄Π½ΠΈΡ ΠΈ ΡΠ΅Ρ ΠΆΠ΅ ΠΎΠ±ΡΠ°Π·ΠΎΠ², Π½ΠΎ ΠΎΡΠ»ΠΈΡΠ°ΡΡΡΡ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΎΠ½Π½ΡΠΌΠΈ Π½Π°ΡΡΡΠΎΠΉΠΊΠ°ΠΌΠΈ ΠΈ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΎΠ½Π½ΡΠΌΠΈ ΡΠ°ΠΉΠ»Π°ΠΌΠΈ.
ΠΠΎΡΡΠΎΠΌΡ ΠΌΡ ΡΠ΅ΡΠΈΠ»ΠΈ, ΡΡΠΎ Π½Π°ΠΌ Π±ΡΠ΄Π΅Ρ ΡΠ΄ΠΎΠ±Π½ΠΎ Ρ ΡΠ°Π½ΠΈΡΡ Π²ΡΠ΅ Π½Π°ΡΠΈ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΎΠ½Π½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ Π΄Π»Ρ Π΄Π΅ΠΏΠ»ΠΎΡ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΎΠ±ΡΠ΅ΠΌ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΠΎΠ½ΠΈ ΡΡΠ°Π½ΠΎΠ²ΠΈΠ»ΠΈΡΡ ΠΎΠ±ΠΎΠ·ΡΠ΅Π²Π°Π΅ΠΌΡ: ΠΈΡ Π±ΡΠ»ΠΎ Π»Π΅Π³ΠΊΠΎ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ ΠΈ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΠ»ΠΎ ΡΠ²ΠΈΠ΄Π΅ΡΡ, ΠΊΠ°ΠΊΠΈΠ΅ ΡΠΈΡΡΠ΅ΠΌΡ Ρ Π½Π°Ρ Π΅ΡΡΡ. Π ΡΠ»ΡΡΠ°Π΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ ΡΠ°ΠΊΠΆΠ΅ Π½Π΅ΡΠ»ΠΎΠΆΠ½ΠΎ ΡΡΠΎ-ΡΠΎ ΠΎΠ±Π½ΠΎΠ²ΠΈΡΡ ΠΈΠ»ΠΈ ΠΏΠΎΠΌΠ΅Π½ΡΡΡ. ΠΠΎΠ±Π°Π²ΠΈΡΡ Π½ΠΎΠ²ΡΡ ΡΠΈΡΡΠ΅ΠΌΡ ΡΠΎΠΆΠ΅ Π½Π΅ ΡΠΎΡΡΠ°Π²ΠΈΡ ΡΡΡΠ΄Π° β Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΠΏΡΠΎΡΡΠΎ Π·Π°Π²Π΅ΡΡΠΈ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΎΠ½Π½ΡΠΉ ΡΠ°ΠΉΠ» Π²Π½ΡΡΡΠΈ Π½ΠΎΠ²ΠΎΠΉ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ. ΠΠ½ΡΡΡΠΈ Π½Π΅Π΅ Π»Π΅ΠΆΠ°Ρ ΡΠ°ΠΉΠ»Ρ: service.hcl, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ Π½Π°ΡΠ΅Π³ΠΎ ΡΠ΅ΡΠ²ΠΈΡΠ°, ΠΈ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ env-ΡΠ°ΠΉΠ»Ρ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ ΡΡΠΎΡ ΡΠ°ΠΌΡΠΉ ΡΠ΅ΡΠ²ΠΈΡ, Π±ΡΠ΄ΡΡΠΈ Π·Π°Π΄Π΅ΠΏΠ»ΠΎΠ΅Π½Π½ΡΠΌ Π² ΠΏΡΠΎΠ΄Π°ΠΊΡΠ½, Π½Π°ΡΡΡΠΎΠΈΡΡ.
ΠΠ΄Π½Π°ΠΊΠΎ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π°ΡΠΈ ΡΠΈΡΡΠ΅ΠΌΡ Π·Π°Π΄Π΅ΠΏΠ»ΠΎΠ΅Π½Ρ Π² ΠΏΡΠΎΠ΄Π΅ Π½Π΅ Π² ΠΎΠ΄Π½ΠΎΠΌ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠ΅, Π° Π² Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ
ΡΡΠ°Π·Ρ. ΠΠΎΡΡΠΎΠΌΡ ΠΌΡ ΡΠ΅ΡΠΈΠ»ΠΈ, ΡΡΠΎ Π½Π°ΠΌ ΡΠ΄ΠΎΠ±Π½ΠΎ Π±ΡΠ΄Π΅Ρ Ρ
ΡΠ°Π½ΠΈΡΡ Π½Π΅ ΠΊΠΎΠ½ΡΠΈΠ³ΠΈ Π² ΡΠΈΡΡΠΎΠΌ Π²ΠΈΠ΄Π΅, Π° ΠΈΡ
ΡΠ°Π±Π»ΠΎΠ½ΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ Π²ΠΈΠ΄. Π Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΡΠ·ΡΠΊΠ° ΡΠ°Π±Π»ΠΎΠ½ΠΈΠ·Π°ΡΠΈΠΈ ΠΌΡ Π²ΡΠ±ΡΠ°Π»ΠΈ jinja 2. Π ΡΠ°ΠΊΠΎΠΌ ΡΠΎΡΠΌΠ°ΡΠ΅ Ρ Π½Π°Ρ Ρ
ΡΠ°Π½ΡΡΡΡ ΠΊΠ°ΠΊ ΠΊΠΎΠ½ΡΠΈΠ³ΠΈ ΡΠ°ΠΌΠΎΠ³ΠΎ ΡΠ΅ΡΠ²ΠΈΡΠ°, ΡΠ°ΠΊ ΠΈ env-ΡΠ°ΠΉΠ»Ρ, Π½ΡΠΆΠ½ΡΠ΅ Π΄Π»Ρ Π½Π΅Π³ΠΎ.
ΠΠΎΠΌΠΈΠΌΠΎ ΡΡΠΎΠ³ΠΎ, ΠΌΡ ΠΏΠΎΠΌΠ΅ΡΡΠΈΠ»ΠΈ Π² ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ ΠΎΠ±ΡΠΈΠΉ Π΄Π»Ρ Π²ΡΠ΅Ρ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ² ΡΠΊΡΠΈΠΏΡ-Π΄Π΅ΠΏΠ»ΠΎΠΉ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π·Π°ΠΏΡΡΡΠΈΡΡ ΠΈ Π·Π°Π΄Π΅ΠΏΠ»ΠΎΠΈΡΡ Π²Π°Ρ ΡΠ΅ΡΠ²ΠΈΡ Π² ΠΏΡΠΎΠ΄Π°ΠΊΡΠ½, Π² Π½ΡΠΆΠ½ΡΠΉ environment, Π² Π½ΡΠΆΠ½ΡΠΉ ΡΠ°ΡΠ³Π΅Ρ. Π ΡΠ»ΡΡΠ°Π΅, ΠΊΠΎΠ³Π΄Π° ΠΌΡ ΠΏΡΠ΅Π²ΡΠ°ΡΠΈΠ»ΠΈ Π½Π°Ρ HCL-ΠΊΠΎΠ½ΡΠΈΠ³ Π² ΡΠ°Π±Π»ΠΎΠ½, ΡΠΎ ΡΠΎΡ HΠ‘L-ΡΠ°ΠΉΠ», ΠΊΠΎΡΠΎΡΡΠΉ Π΄ΠΎ ΡΡΠΎΠ³ΠΎ Π±ΡΠ» ΠΎΠ±ΡΡΠ½ΡΠΌ ΠΊΠΎΠ½ΡΠΈΠ³ΠΎΠΌ Nomad, Π² ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΡΡΠ°Π» Π²ΡΠ³Π»ΡΠ΄Π΅ΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΈΠ½Π°ΡΠ΅.
Π’ΠΎ Π΅ΡΡΡ ΠΌΡ Π·Π°ΠΌΠ΅Π½ΠΈΠ»ΠΈ ΠΊΠ°ΠΊΠΈΠ΅-ΡΠΎ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΠΌΠ΅ΡΡΠ° ΠΊΠΎΠ½ΡΠΈΠ³Π° Π½Π° Π²ΡΡΠ°Π²ΠΊΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ
, ΠΊΠΎΡΠΎΡΡΠ΅ Π±Π΅ΡΡΡΡΡ ΠΈΠ· env-ΡΠ°ΠΉΠ»ΠΎΠ² ΠΈΠ»ΠΈ ΠΈΠ· Π΄ΡΡΠ³ΠΈΡ
ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠΎΠ². ΠΠΎΠΌΠΈΠΌΠΎ ΡΡΠΎΠ³ΠΎ, ΠΌΡ ΠΏΠΎΠ»ΡΡΠΈΠ»ΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΠΎΠ±ΠΈΡΠ°ΡΡ HΠ‘L-ΡΠ°ΠΉΠ»Ρ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈ, ΡΠΎ Π΅ΡΡΡ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ±ΡΡΠ½ΡΠ΅ Π²ΡΡΠ°Π²ΠΊΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ
. Π’Π°ΠΊ ΠΊΠ°ΠΊ jinja ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΡΠΈΠΊΠ»Ρ ΠΈ ΡΡΠ»ΠΎΠ²ΠΈΡ, ΡΡΠ΄Π° ΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π΄Π΅Π»Π°ΡΡ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΎΠ½Π½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠ΅Π½ΡΡΡΡΡ Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΡΠΎΠ³ΠΎ, ΠΊΡΠ΄Π° ΠΈΠΌΠ΅Π½Π½ΠΎ Π²Ρ Π΄Π΅ΠΏΠ»ΠΎΠΈΡΠ΅ ΡΠ²ΠΎΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ.
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ Π΄Π΅ΠΏΠ»ΠΎΠΈΡΡ Π²Π°Ρ ΡΠ΅ΡΠ²ΠΈΡ Π² ΠΏΡΠ΅ΠΏΡΠΎΠ΄Π°ΠΊΡΠ½ ΠΈ Π² ΠΏΡΠΎΠ΄Π°ΠΊΡΠ½. ΠΠΎΠΏΡΡΡΠΈΠΌ, ΡΡΠΎ Π² ΠΏΡΠ΅ΠΏΡΠΎΠ΄Π°ΠΊΡΠ½ Π²Ρ Π½Π΅ Ρ ΠΎΡΠΈΡΠ΅ Π·Π°ΠΏΡΡΠΊΠ°ΡΡ ΠΊΡΠΎΠ½-cΠΊΡΠΈΠΏΡΡ, Π° ΠΏΡΠΎΡΡΠΎ Ρ ΠΎΡΠΈΡΠ΅ Π²ΠΈΠ΄Π΅ΡΡ ΡΠ΅ΡΠ²ΠΈΡ Π½Π° ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎΠΌ Π΄ΠΎΠΌΠ΅Π½Π΅, ΡΡΠΎΠ±Ρ ΡΠ±Π΅Π΄ΠΈΡΡΡΡ, ΡΡΠΎ ΠΎΠ½ ΡΡΠ½ΠΊΡΠΈΠΎΠ½ΠΈΡΡΠ΅Ρ. ΠΠ»Ρ Π»ΡΠ±ΠΎΠ³ΠΎ, ΠΊΡΠΎ Π΄Π΅ΠΏΠ»ΠΎΠΈΡ ΡΠ΅ΡΠ²ΠΈΡ, ΠΏΡΠΎΡΠ΅ΡΡ Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΠΎΡΠ΅Π½Ρ ΠΏΡΠΎΡΡΠΎ ΠΈ ΠΏΡΠΎΠ·ΡΠ°ΡΠ½ΠΎ. ΠΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΡΠ°ΠΉΠ» deploy.sh, ΡΠΊΠ°Π·Π°ΡΡ, ΠΊΠ°ΠΊΠΎΠΉ ΡΠ΅ΡΠ²ΠΈΡ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ Π·Π°Π΄Π΅ΠΏΠ»ΠΎΠΈΡΡ ΠΈ Π² ΠΊΠ°ΠΊΠΎΠΉ ΡΠ°ΡΠ³Π΅Ρ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ Π·Π°Π΄Π΅ΠΏΠ»ΠΎΠΈΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΡΠΈΡΡΠ΅ΠΌΡ Π² Π ΠΎΡΡΠΈΡ, Π² ΠΠ΅Π»ΠΎΡΡΡΡΠΈΡ ΠΈΠ»ΠΈ ΠΠ°Π·Π°Ρ ΡΡΠ°Π½. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΠΏΡΠΎΡΡΠΎ ΠΏΠΎΠΌΠ΅Π½ΡΡΡ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ², ΠΈ Ρ Π²Π°Ρ ΡΠΎΠ±Π΅ΡΠ΅ΡΡΡ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΠΉ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΎΠ½Π½ΡΠΉ ΡΠ°ΠΉΠ».
ΠΠΎΠ³Π΄Π° ΡΠ΅ΡΠ²ΠΈΡ Nomad ΡΠΆΠ΅ ΠΎΠΊΠ°Π·ΡΠ²Π°Π΅ΡΡΡ Ρ Π²Π°Ρ Π·Π°Π΄Π΅ΠΏΠ»ΠΎΠ΅Π½Π½ΡΠΌ Π² ΠΊΠ»Π°ΡΡΠ΅Ρ, ΠΎΠ½ Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ.
ΠΠ»Ρ Π½Π°ΡΠ°Π»Π° Π²Π°ΠΌ Π½ΡΠΆΠ΅Π½ Π½Π΅ΠΊΠΎΡΠΎΡΡΠΉ Π±Π°Π»Π°Π½ΡΠΈΡΠΎΠ²ΡΠΈΠΊ ΡΠ½Π°ΡΡΠΆΠΈ, ΠΊΠΎΡΠΎΡΡΠΉ Π±ΡΠ΄Π΅Ρ ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡ Π²Π΅ΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠΉ ΡΡΠ°ΡΠΈΠΊ Π² ΡΠ΅Π±Ρ. ΠΠ½ Π±ΡΠ΄Π΅Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π²ΠΌΠ΅ΡΡΠ΅ Ρ Consul ΠΈ ΡΠ·Π½Π°Π²Π°ΡΡ Ρ Π½Π΅Π³ΠΎ, Π³Π΄Π΅, Π½Π° ΠΊΠ°ΠΊΠΎΠΉ Π½ΠΎΠ΄Π΅, ΠΏΠΎ ΠΊΠ°ΠΊΠΎΠΌΡ IP-Π°Π΄ΡΠ΅ΡΡ Π½Π°Ρ
ΠΎΠ΄ΠΈΡΡΡ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΠΉ ΡΠ΅ΡΠ²ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ ΡΠΎΠΌΡ ΠΈΠ»ΠΈ ΠΈΠ½ΠΎΠΌΡ Π΄ΠΎΠΌΠ΅Π½Π½ΠΎΠΌΡ ΠΈΠΌΠ΅Π½ΠΈ. Π‘Π΅ΡΠ²ΠΈΡΡ Π² Consul ΠΏΠΎΡΠ²Π»ΡΡΡΡΡ ΠΈΠ· ΡΠ°ΠΌΠΎΠ³ΠΎ Nomad. ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΡΡΠΎ ΠΏΡΠΎΠ΄ΡΠΊΡΡ ΠΎΠ΄Π½ΠΎΠΉ ΠΈ ΡΠΎΠΉ ΠΆΠ΅ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ, ΠΎΠ½ΠΈ Π½Π΅ΠΏΠ»ΠΎΡ
ΠΎ ΡΠ²ΡΠ·Π°Π½Ρ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠΎΠ±ΠΎΠΉ. ΠΠΎΠΆΠ½ΠΎ ΡΠΊΠ°Π·Π°ΡΡ, ΡΡΠΎ Nomad ΠΈΠ· ΠΊΠΎΡΠΎΠ±ΠΊΠΈ ΡΠΌΠ΅Π΅Ρ ΡΠ΅Π³ΠΈΡΡΡΠΈΡΠΎΠ²Π°ΡΡ Π²ΡΠ΅ Π·Π°ΠΏΡΡΠΊΠ°Π΅ΠΌΡΠ΅ Π² Π½Π΅ΠΌ ΡΠ΅ΡΠ²ΠΈΡΡ Π²Π½ΡΡΡΠΈ Consul.
ΠΠΎΡΠ»Π΅ ΡΠΎΠ³ΠΎ ΠΊΠ°ΠΊ Π²Π°Ρ Π²Π½Π΅ΡΠ½ΠΈΠΉ Π±Π°Π»Π°Π½ΡΠΈΡΠΎΠ²ΡΠΈΠΊ ΡΠ·Π½Π°Π΅Ρ ΠΎ ΡΠΎΠΌ, Π² ΠΊΠ°ΠΊΠΎΠΉ ΡΠ΅ΡΠ²ΠΈΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΡΠΏΡΠ°Π²ΠΈΡΡ ΡΡΠ°ΡΠΈΠΊ, ΠΎΠ½ ΠΏΠ΅ΡΠ΅Π½Π°ΠΏΡΠ°Π²Π»ΡΠ΅Ρ Π΅Π³ΠΎ Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠΉ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ ΠΈΠ»ΠΈ Π² Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡ Π²Π°ΡΠ΅ΠΌΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. ΠΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎ, ΡΡΠΎ ΠΏΡΠΈ ΡΡΠΎΠΌ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π΄ΡΠΌΠ°ΡΡ ΠΈ ΠΎ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ. ΠΠ°ΠΆΠ΅ Π½Π΅ΡΠΌΠΎΡΡΡ Π½Π° ΡΠΎ, ΡΡΠΎ Π²ΡΠ΅ ΡΠ΅ΡΠ²ΠΈΡΡ Π·Π°ΠΏΡΡΠΊΠ°ΡΡΡΡ Π½Π° ΠΎΠ΄Π½ΠΈΡ ΠΈ ΡΠ΅Ρ ΠΆΠ΅ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΡΡ ΠΌΠ°ΡΠΈΠ½Π°Ρ Π² ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ°Ρ , ΠΎΠ±ΡΡΠ½ΠΎ Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ Π·Π°ΠΏΡΠ΅ΡΠΈΡΡ ΡΠ²ΠΎΠ±ΠΎΠ΄Π½ΡΠΉ Π΄ΠΎΡΡΡΠΏ ΠΈΠ· Π»ΡΠ±ΠΎΠ³ΠΎ ΡΠ΅ΡΠ²ΠΈΡΠ° ΠΊ Π»ΡΠ±ΠΎΠΌΡ Π΄ΡΡΠ³ΠΎΠΌΡ. ΠΡ Π΄ΠΎΡΡΠΈΠ³Π°Π»ΠΈ ΡΡΠΎΠ³ΠΎ Π·Π° ΡΡΠ΅Ρ ΡΠ΅Π³ΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ. ΠΠ°ΠΆΠ΄ΡΠΉ ΡΠ΅ΡΠ²ΠΈΡ Π·Π°ΠΏΡΡΠΊΠ°Π»ΡΡ Π² ΡΠ²ΠΎΠ΅ΠΉ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΠΎΠΉ ΡΠ΅ΡΠΈ, Π½Π° ΠΊΠΎΡΠΎΡΠΎΠΉ Π±ΡΠ»ΠΈ ΠΏΡΠΎΠΏΠΈΡΠ°Π½Ρ ΠΏΡΠ°Π²ΠΈΠ»Π° ΠΌΠ°ΡΡΡΡΡΠΈΠ·Π°ΡΠΈΠΈ ΠΈ ΠΏΡΠ°Π²ΠΈΠ»Π° ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΡ/Π·Π°ΠΏΡΠ΅ΡΠ° Π΄ΠΎΡΡΡΠΏΠ° ΠΊ Π΄ΡΡΠ³ΠΈΠΌ ΡΠΈΡΡΠ΅ΠΌΠ°ΠΌΠΈ ΠΈ ΡΠ΅ΡΠ²ΠΈΡΠ°ΠΌ. ΠΠ½ΠΈ ΠΌΠΎΠ³Π»ΠΈ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡΡ ΠΊΠ°ΠΊ Π²Π½ΡΡΡΠΈ ΡΡΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ΅ΡΠ°, ΡΠ°ΠΊ ΠΈ Π²Π½Π΅ Π½Π΅Π³ΠΎ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΅ΡΠ»ΠΈ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ Π·Π°ΠΏΡΠ΅ΡΠΈΡΡ ΡΠ΅ΡΠ²ΠΈΡΡ ΠΊΠΎΠ½Π½Π΅ΠΊΡΠΈΡΡΡΡ ΠΊ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΠΎΠΉ Π±Π°Π·Π΅ Π΄Π°Π½Π½ΡΡ , ΡΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ ΠΏΡΡΠ΅ΠΌ ΡΠ΅Π³ΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ Π½Π° ΡΡΠΎΠ²Π½Π΅ ΡΠ΅ΡΠΈ. Π’ΠΎ Π΅ΡΡΡ Π΄Π°ΠΆΠ΅ ΠΏΠΎ ΠΎΡΠΈΠ±ΠΊΠ΅ Π²Ρ Π½Π΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ»ΡΡΠ°ΠΉΠ½ΠΎ ΠΏΠΎΠ΄ΡΠΎΠ΅Π΄ΠΈΠ½ΡΡΡΡΡ ΠΈΠ· ΡΠ΅ΡΡΠΎΠ²ΠΎΠ³ΠΎ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡ ΠΊ Π²Π°ΡΠ΅ΠΉ ΠΏΡΠΎΠ΄Π°ΠΊΡΠ½ Π±Π°Π·Π΅.
ΠΠΎ ΡΡΠΎ Π½Π°ΠΌ ΠΎΠ±ΠΎΡΠ΅Π»ΡΡ ΠΏΡΠΎΡΠ΅ΡΡ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄Π° Π² ΠΏΠ»Π°Π½Π΅ ΡΠ΅Π»ΠΎΠ²Π΅ΡΠ΅ΡΠΊΠΈΡ ΡΠ΅ΡΡΡΡΠΎΠ²?
ΠΡΠΈΠΌΠ΅ΡΠ½ΠΎ 5-6 ΠΌΠ΅ΡΡΡΠ΅Π² Π·Π°Π½ΡΠ» ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ Π²ΡΠ΅ΠΉ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ Π² Nomad. ΠΡ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ΠΈΠ»ΠΈ ΠΏΠΎΡΠ΅ΡΠ²ΠΈΡΠ½ΠΎ, Π½ΠΎ Π² Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π±ΡΡΡΡΠΎΠΌ ΡΠ΅ΠΌΠΏΠ΅. ΠΠ°ΠΆΠ΄Π°Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π° Π΄ΠΎΠ»ΠΆΠ½Π° Π±ΡΠ»Π° ΡΠΎΠ·Π΄Π°ΡΡ ΡΠ²ΠΎΠΈ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠ΅ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΡ Π΄Π»Ρ ΡΠ΅ΡΠ²ΠΈΡΠΎΠ².
Π£ Π½Π°Ρ ΠΏΡΠΈΠ½ΡΡ ΡΠ°ΠΊΠΎΠΉ ΠΏΠΎΠ΄Ρ ΠΎΠ΄, ΡΡΠΎ ΠΊΠ°ΠΆΠ΄Π°Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΡΠ²Π΅ΡΠ°Π΅Ρ Π·Π° docker images ΡΠ²ΠΎΠΈΡ ΡΠΈΡΡΠ΅ΠΌ ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»ΡΠ½ΠΎ. ΠΠ΅Π²ΠΎΠΏΡ ΠΆΠ΅ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΡΡ ΠΎΠ±ΡΡΡ ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΡ, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΡ Π΄Π»Ρ Π΄Π΅ΠΏΠ»ΠΎΡ, ΡΠΎ Π΅ΡΡΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΡ ΡΠ°ΠΌΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ΅ΡΠ°, ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΡ CI-ΡΠΈΡΡΠ΅ΠΌΡ ΠΈ ΡΠ°ΠΊ Π΄Π°Π»Π΅Π΅. Π Π½Π° ΡΠΎΡ ΠΌΠΎΠΌΠ΅Π½Ρ Ρ Π½Π°Ρ Π±ΠΎΠ»Π΅Π΅ 60 ΡΠΈΡΡΠ΅ΠΌ ΠΏΠ΅ΡΠ΅Π΅Ρ Π°Π»ΠΈ Π² Nomad, ΠΏΠΎΠ»ΡΡΠΈΠ»ΠΎΡΡ ΠΏΠΎΡΡΠ΄ΠΊΠ° 2 ΡΡΡΡΡ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΎΠ².
ΠΠ΅Π²ΠΎΠΏΡ ΠΎΡΠ²Π΅ΡΠ°Π΅Ρ Π·Π° ΠΎΠ±ΡΡΡ ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΡ Π²ΡΠ΅Π³ΠΎ, ΡΡΠΎ ΡΠ²ΡΠ·Π°Π½ΠΎ Ρ Π΄Π΅ΠΏΠ»ΠΎΠ΅ΠΌ, Ρ ΡΠ΅ΡΠ²Π΅ΡΠ°ΠΌΠΈ. Π ΠΊΠ°ΠΆΠ΄Π°Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ Π² ΡΠ²ΠΎΡ ΠΎΡΠ΅ΡΠ΅Π΄Ρ ΠΎΡΠ²Π΅ΡΠ°Π΅Ρ Π·Π° ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΎΠ² ΠΏΠΎΠ΄ ΡΠ²ΠΎΡ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΡ ΡΠΈΡΡΠ΅ΠΌΡ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Π° Π·Π½Π°Π΅Ρ, ΡΡΠΎ Π΅ΠΉ Π²ΠΎΠΎΠ±ΡΠ΅ Π½ΡΠΆΠ½ΠΎ Π² ΡΠΎΠΌ ΠΈΠ»ΠΈ ΠΈΠ½ΠΎΠΌ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ΅.
ΠΡΠΈΡΠΈΠ½Ρ ΠΎΡΠΊΠ°Π·Π° ΠΎΡ Nomad
ΠΠ°ΠΊΠΈΠ΅ Π΄ΠΎΡΡΠΎΠΈΠ½ΡΡΠ²Π° ΠΌΡ ΠΏΠΎΠ»ΡΡΠΈΠ»ΠΈ, ΠΏΠ΅ΡΠ΅ΠΉΠ΄Ρ Π½Π° Π΄Π΅ΠΏΠ»ΠΎΠΉ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Nomad ΠΈ docker Π² ΡΠΎΠΌ ΡΠΈΡΠ»Π΅?
- ΠΡ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ»ΠΈ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΡΠ΅ ΡΡΠ»ΠΎΠ²ΠΈΡ Π΄Π»Ρ Π²ΡΠ΅Ρ ΡΡΠ΅Π΄. Π Π΄Π΅Π²Π΅Π»ΠΎΠΌΠΏΠ΅Π½ΡΠ΅, QA-ΡΡΠ΅Π΄Π΅, ΠΏΡΠ΅ΠΏΡΠΎΠ΄Π°ΠΊΡΠ½Π΅, ΠΏΡΠΎΠ΄Π°ΠΊΡΠ½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ ΠΎΠ΄Π½ΠΈ ΠΈ ΡΠ΅ ΠΆΠ΅ ΠΎΠ±ΡΠ°Π·Ρ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΎΠ², Ρ ΠΎΠ΄Π½ΠΈΠΌΠΈ ΠΈ ΡΠ΅ΠΌΠΈ ΠΆΠ΅ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΡΠΌΠΈ. Π‘ΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ Ρ Π²Π°Ρ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ ΠΎΡΡΡΡΡΡΠ²ΡΠ΅Ρ ΡΠ°Π½Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎ Π² ΠΏΡΠΎΠ΄Π°ΠΊΡΠ½ ΠΎΠΊΠ°ΠΆΠ΅ΡΡΡ Π½Π΅ ΡΠΎ, ΡΡΠΎ Π²Ρ Π΄ΠΎ ΡΡΠΎΠ³ΠΎ ΠΏΡΠΎΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π»ΠΈ Ρ ΡΠ΅Π±Ρ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎ ΠΈΠ»ΠΈ Π½Π° ΡΠ΅ΡΡΠΎΠ²ΠΎΠΌ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΠΈ.
- Π’Π°ΠΊΠΆΠ΅ ΠΌΡ Π²ΡΡΡΠ½ΠΈΠ»ΠΈ, ΡΡΠΎ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π»Π΅Π³ΠΊΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π½ΠΎΠ²ΡΠΉ ΡΠ΅ΡΠ²ΠΈΡ. ΠΡΠ±ΡΠ΅ Π½ΠΎΠ²ΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΡ Ρ ΡΠΎΡΠΊΠΈ Π·ΡΠ΅Π½ΠΈΡ Π΄Π΅ΠΏΠ»ΠΎΡ Π·Π°ΠΏΡΡΠΊΠ°ΡΡΡΡ ΠΎΡΠ΅Π½Ρ ΠΏΡΠΎΡΡΠΎ. ΠΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΠΏΠΎΠΉΡΠΈ Π² ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ, Ρ ΡΠ°Π½ΡΡΠΈΠΉ ΠΊΠΎΠ½ΡΠΈΠ³ΠΈ, Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΡΡΠ΄Π° ΠΎΡΠ΅ΡΠ΅Π΄Π½ΠΎΠΉ ΠΊΠΎΠ½ΡΠΈΠ³ Π΄Π»Ρ Π²Π°ΡΠ΅ΠΉ ΡΠΈΡΡΠ΅ΠΌΡ, ΠΈ Ρ Π²Π°Ρ Π²ΡΠ΅ Π³ΠΎΡΠΎΠ²ΠΎ. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π΅ΠΏΠ»ΠΎΠΈΡΡ Π²Π°ΡΡ ΡΠΈΡΡΠ΅ΠΌΡ Π² ΠΏΡΠΎΠ΄Π°ΠΊΡΠ½ Π±Π΅Π· Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ ΡΡΠΈΠ»ΠΈΠΉ ΠΎΡ Π΄Π΅Π²ΠΎΠΏΡ.
- ΠΡΠ΅ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΎΠ½Π½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΎΠ±ΡΠ΅ΠΌ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ ΠΎΠΊΠ°Π·Π°Π»ΠΈΡΡ ΠΎΠ±ΠΎΠ·ΡΠ΅Π²Π°Π΅ΠΌΡΠ΅. Π ΡΠΎΡ ΠΌΠΎΠΌΠ΅Π½Ρ, ΠΊΠΎΠ³Π΄Π° ΠΌΡ Π΄Π΅ΠΏΠ»ΠΎΠΈΠ»ΠΈ Π½Π°ΡΠΈ ΡΠΈΡΡΠ΅ΠΌΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΡΡ ΡΠ΅ΡΠ²Π΅ΡΠΎΠ², ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΠΈ Ansible, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΠΊΠΎΠ½ΡΠΈΠ³ΠΈ Π»Π΅ΠΆΠ°Π»ΠΈ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΈ ΡΠΎΠΌ ΠΆΠ΅ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ. ΠΠ΄Π½Π°ΠΊΠΎ Π΄Π»Ρ Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ² ΡΠ°Π±ΠΎΡΠ°ΡΡ Π±ΡΠ»ΠΎ Ρ ΡΡΠΈΠΌ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ»ΠΎΠΆΠ½Π΅Π΅. Π’ΡΡ ΠΎΠ±ΡΠ΅ΠΌ ΠΊΠΎΠ½ΡΠΈΠ³ΠΎΠ² ΠΈ ΠΊΠΎΠ΄Π°, ΠΊΠΎΡΠΎΡΡΠΉ Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ, ΡΡΠΎΠ±Ρ Π·Π°Π΄Π΅ΠΏΠ»ΠΎΠΈΡΡ ΡΠ΅ΡΠ²ΠΈΡ, ΡΡΠ°Π» Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ ΠΌΠ΅Π½ΡΡΠ΅. ΠΠ»ΡΡ Π΄Π»Ρ Π΄Π΅Π²ΠΎΠΏΡ ΠΎΡΠ΅Π½Ρ Π»Π΅Π³ΠΊΠΎ ΠΏΠΎΠΏΡΠ°Π²ΠΈΡΡ Π΅Π³ΠΎ ΠΈΠ»ΠΈ ΠΏΠΎΠΌΠ΅Π½ΡΡΡ. Π ΡΠ»ΡΡΠ°Π΅ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ΠΎΠ², Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π½Π° Π½ΠΎΠ²ΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ Nomad, ΠΎΠ½ΠΈ ΠΌΠΎΠ³ΡΡ Π²Π·ΡΡΡ ΠΈ ΠΌΠ°ΡΡΠΎΠ²ΠΎ ΠΎΠ±Π½ΠΎΠ²ΠΈΡΡ Π²ΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ, Π»Π΅ΠΆΠ°ΡΠΈΠ΅ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΈ ΡΠΎΠΌ ΠΆΠ΅ ΠΌΠ΅ΡΡΠ΅.
ΠΠΎ ΠΌΡ ΡΠ°ΠΊΠΆΠ΅ ΡΡΠΎΠ»ΠΊΠ½ΡΠ»ΠΈΡΡ ΠΈ Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΠΌΠΈ Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΊΠ°ΠΌΠΈ:
ΠΠΊΠ°Π·Π°Π»ΠΎΡΡ, ΡΡΠΎ ΠΌΡ Π½Π΅ ΡΠΌΠΎΠ³Π»ΠΈ Π΄ΠΎΡΡΠΈΡΡ Π±Π΅ΡΡΠΎΠ²Π½ΠΎΡΡΠΈ Π΄Π΅ΠΏΠ»ΠΎΠ΅Π² Π² ΡΠ»ΡΡΠ°Π΅ Nomad. ΠΡΠΈ Π²ΡΠΊΠ°ΡΠΊΠ΅ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΎΠ² ΠΈΠ· ΡΠ°Π·Π½ΡΡ ΡΡΠ»ΠΎΠ²ΠΈΠΉ ΠΌΠΎΠ³Π»ΠΎ ΠΏΠΎΠ»ΡΡΠΈΡΡΡΡ ΡΠ°ΠΊ, ΡΡΠΎ ΠΎΠ½ ΠΎΠΊΠ°Π·ΡΠ²Π°Π»ΡΡ Π·Π°ΠΏΡΡΠ΅Π½Π½ΡΠΌ, ΠΈ Nomad Π²ΠΎΡΠΏΡΠΈΠ½ΠΈΠΌΠ°Π» Π΅Π³ΠΎ ΠΊΠ°ΠΊ Π³ΠΎΡΠΎΠ²ΡΠΉ ΠΊ ΠΏΡΠΈΠ½ΡΡΠΈΡ ΡΡΠ°ΡΠΈΠΊΠ° ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ. ΠΡΠΎ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΠ»ΠΎ Π΅ΡΠ΅ Π΄ΠΎ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π²Π½ΡΡΡΠΈ Π½Π΅Π³ΠΎ ΡΡΠΏΠ΅Π»ΠΎ Π·Π°ΠΏΡΡΡΠΈΡΡΡΡ. ΠΠΎ ΡΡΠΎΠΉ ΠΏΡΠΈΡΠΈΠ½Π΅ ΡΠΈΡΡΠ΅ΠΌΠ° Π½Π° Π½Π΅Π΄ΠΎΠ»Π³ΠΈΠΉ ΡΡΠΎΠΊ Π½Π°ΡΠΈΠ½Π°Π»Π° Π²ΡΠ΄Π°Π²Π°ΡΡ 500-Π΅ ΠΎΡΠΈΠ±ΠΊΠΈ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΡΡΠ°ΡΠΈΠΊ Π½Π°ΡΠΈΠ½Π°Π» ΠΈΠ΄ΡΠΈ Π½Π° ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ, ΠΊΠΎΡΠΎΡΡΠΉ Π΅ΡΠ΅ Π½Π΅ Π³ΠΎΡΠΎΠ² Π΅Π³ΠΎ ΠΏΡΠΈΠ½ΡΡΡ.
ΠΡ ΡΡΠΎΠ»ΠΊΠ½ΡΠ»ΠΈΡΡ Ρ Π½Π΅ΠΊΠΎΡΠΎΡΡΠΌΠΈ Π±Π°Π³Π°ΠΌΠΈ. Π‘Π°ΠΌΡΠΉ ΡΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΡΠΉ Π±Π°Π³ Π·Π°ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π² ΡΠΎΠΌ, ΡΡΠΎ Nomad Π½Π΅ ΠΎΡΠ΅Π½Ρ Ρ ΠΎΡΠΎΡΠΎ Π²ΠΎΡΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ Π±ΠΎΠ»ΡΡΠΎΠΉ ΠΊΠ»Π°ΡΡΠ΅Ρ, Π΅ΡΠ»ΠΈ Ρ Π²Π°Ρ ΠΌΠ½ΠΎΠ³ΠΎ ΡΠΈΡΡΠ΅ΠΌ ΠΈ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΎΠ². ΠΠΎΠ³Π΄Π° Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ Π²ΡΠ²Π΅Π·ΡΠΈ Π² ΠΎΠ±ΡΠ»ΡΠΆΠΈΠ²Π°Π½ΠΈΠ΅ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΡΠ΅ΡΠ²Π΅ΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠΉ Π²ΠΊΠ»ΡΡΠ΅Π½ Π² ΠΊΠ»Π°ΡΡΠ΅Ρ Nomad, Π΅ΡΡΡ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π±ΠΎΠ»ΡΡΠ°Ρ Π²Π΅ΡΠΎΡΡΠ½ΠΎΡΡΡ ΡΠΎΠ³ΠΎ, ΡΡΠΎ ΠΊΠ»Π°ΡΡΠ΅Ρ ΠΏΠΎΡΡΠ²ΡΡΠ²ΡΠ΅Ρ ΡΠ΅Π±Ρ Π½Π΅ ΠΎΡΠ΅Π½Ρ Ρ ΠΎΡΠΎΡΠΎ ΠΈ ΡΠ°Π·Π²Π°Π»ΠΈΡΡΡ Π½Π° ΡΠ°ΡΡΠΈ. Π§Π°ΡΡΡ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΎΠ² ΠΌΠΎΠΆΠ΅Ρ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠΏΠ°ΡΡΡ ΠΈ Π½Π΅ ΠΏΠΎΠ΄Π½ΡΡΡΡΡ β ΡΡΠΎ Π²Π°ΠΌ Π²ΠΏΠΎΡΠ»Π΅Π΄ΡΡΠ²ΠΈΠΈ ΠΎΡΠ΅Π½Ρ Π΄ΠΎΡΠΎΠ³ΠΎ ΠΎΠ±ΠΎΠΉΠ΄Π΅ΡΡΡ, Π΅ΡΠ»ΠΈ Π²ΡΠ΅ Π²Π°ΡΠΈ ΡΠΈΡΡΠ΅ΠΌΡ Π² ΠΏΡΠΎΠ΄Π°ΠΊΡΠ½ Π½Π°Ρ ΠΎΠ΄ΡΡΡΡ ΠΈΠΌΠ΅Π½Π½ΠΎ Π² ΠΊΠ»Π°ΡΡΠ΅ΡΠ΅, ΡΠΏΡΠ°Π²Π»ΡΠ΅ΠΌΠΎΠΌ Nomad.
ΠΠΎΡΡΠΎΠΌΡ ΠΌΡ ΡΠ΅ΡΠΈΠ»ΠΈ ΠΏΠΎΠ΄ΡΠΌΠ°ΡΡ, ΠΊΡΠ΄Π° Π½Π°ΠΌ ΠΈΠ΄ΡΠΈ Π΄Π°Π»ΡΡΠ΅. ΠΠ° ΡΠΎΡ ΠΌΠΎΠΌΠ΅Π½Ρ ΠΌΡ ΡΡΠ°Π»ΠΈ Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ Π»ΡΡΡΠ΅ ΠΎΡΠΎΠ·Π½Π°Π²Π°ΡΡ, ΡΠ΅Π³ΠΎ Ρ ΠΎΡΠΈΠΌ Π΄ΠΎΠ±ΠΈΡΡΡΡ. Π ΠΈΠΌΠ΅Π½Π½ΠΎ: Ρ ΠΎΡΠΈΠΌ Π½Π°Π΄Π΅ΠΆΠ½ΠΎΡΡΠΈ, Π½Π΅ΠΌΠ½ΠΎΠΆΠΊΠΎ Π±ΠΎΠ»ΡΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΉ, ΡΠ΅ΠΌ Π΄Π°Π΅Ρ Nomad, ΠΈ Π±ΠΎΠ»Π΅Π΅ Π·ΡΠ΅Π»ΡΡ, Π±ΠΎΠ»Π΅Π΅ ΡΡΠ°Π±ΠΈΠ»ΡΠ½ΡΡ ΡΠΈΡΡΠ΅ΠΌΡ.
Π ΡΡΠΎΠΌ ΠΏΠ»Π°Π½Π΅ Π½Π°Ρ Π²ΡΠ±ΠΎΡ ΠΏΠ°Π» Π½Π° Kubernetes ΠΊΠ°ΠΊ Π½Π° ΡΠ°ΠΌΡΡ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΡ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ Π΄Π»Ρ Π·Π°ΠΏΡΡΠΊΠ° ΠΊΠ»Π°ΡΡΠ΅ΡΠΎΠ². ΠΡΠΎΠ±Π΅Π½Π½ΠΎ ΠΏΡΠΈ ΡΡΠ»ΠΎΠ²ΠΈΠΈ ΡΠΎΠ³ΠΎ, ΡΡΠΎ ΡΠ°Π·ΠΌΠ΅Ρ ΠΈ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π½Π°ΡΠΈΡ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΎΠ² Π±ΡΠ» Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π±ΠΎΠ»ΡΡΠΎΠΉ. ΠΠ»Ρ ΡΠ°ΠΊΠΈΡ ΡΠ΅Π»Π΅ΠΉ Kubernetes ΠΏΠΎΠΊΠ°Π·Π°Π»ΡΡ ΡΠ°ΠΌΠΎΠΉ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΡΡΠ΅ΠΉ ΡΠΈΡΡΠ΅ΠΌΠΎΠΉ ΠΈΠ· ΡΠ΅Ρ , ΡΡΠΎ ΠΌΡ ΠΌΠΎΠ³Π»ΠΈ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ.
ΠΠ΅ΡΠ΅Ρ ΠΎΠ΄ Π² Kubernetes
ΠΠ΅ΠΌΠ½ΠΎΠΆΠΊΠΎ ΡΠ°ΡΡΠΊΠ°ΠΆΡ ΠΎ ΡΠΎΠΌ, ΠΊΠ°ΠΊΠΈΠ΅ Π΅ΡΡΡ ΠΎΡΠ½ΠΎΠ²Π½ΡΠ΅ ΠΏΠΎΠ½ΡΡΠΈΡ Kubernetes ΠΈ ΡΠ΅ΠΌ ΠΎΠ½ΠΈ ΠΎΡΠ»ΠΈΡΠ°ΡΡΡΡ ΠΎΡ Nomad.
Π ΠΏΠ΅ΡΠ²ΡΡ ΠΎΡΠ΅ΡΠ΅Π΄Ρ ΡΠ°ΠΌΡΠΌ Π±Π°Π·ΠΎΠ²ΡΠΌ ΠΏΠΎΠ½ΡΡΠΈΠ΅ΠΌ Π² Kubernetes ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΠΎΠ½ΡΡΠΈΠ΅ pod. Pod β ΡΡΠΎ Π³ΡΡΠΏΠΏΠ° ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ»ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ
ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ Π²ΡΠ΅Π³Π΄Π° Π·Π°ΠΏΡΡΠΊΠ°ΡΡΡΡ Π²ΠΌΠ΅ΡΡΠ΅. Π ΠΎΠ½ΠΈ ΡΠ°Π±ΠΎΡΠ°ΡΡ ΠΊΠ°ΠΊ Π±ΡΠ΄ΡΠΎ Π²ΡΠ΅Π³Π΄Π° ΡΡΡΠΎΠ³ΠΎ Π½Π° ΠΎΠ΄Π½ΠΎΠΉ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΠΎΠΉ ΠΌΠ°ΡΠΈΠ½Π΅. ΠΠ½ΠΈ Π΄ΠΎΡΡΡΠΏΠ½Ρ Π΄ΡΡΠ³ Π΄ΡΡΠ³Ρ ΠΏΠΎ Π°ΠΉΠΏΠΈΡΠ½ΠΈΠΊΡ 127.0.0.1 Π½Π° ΡΠ°Π·Π½ΡΡ
ΠΏΠΎΡΡΠ°Ρ
.
ΠΡΠ΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, ΡΡΠΎ Ρ Π²Π°Ρ Π΅ΡΡΡ Π ΠΠ -ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ· nginx ΠΈ php-fpm β ΠΊΠ»Π°ΡΡΠΈΡΠ΅ΡΠΊΠ°Ρ ΡΡ Π΅ΠΌΠ°. Π‘ΠΊΠΎΡΠ΅Π΅ Π²ΡΠ΅Π³ΠΎ, Π²Ρ Π·Π°Ρ ΠΎΡΠΈΡΠ΅, ΡΡΠΎΠ±Ρ ΠΈ nginx ΠΈ php-fpm ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΡ Π±ΡΠ»ΠΈ Π²ΡΠ΅Π³Π΄Π° Π²ΠΌΠ΅ΡΡΠ΅. Kubernetes ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΡΠΎΠ³ΠΎ Π΄ΠΎΠ±ΠΈΡΡΡΡ, ΠΎΠΏΠΈΡΠ°Π² ΠΈΡ ΠΊΠ°ΠΊ ΠΎΠ΄ΠΈΠ½ ΠΎΠ±ΡΠΈΠΉ pod. ΠΠ°ΠΊ ΡΠ°Π· ΡΡΠΎΠ³ΠΎ ΠΌΡ ΠΈ Π½Π΅ ΠΌΠΎΠ³Π»ΠΈ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ Nomad.
ΠΡΠΎΡΡΠΌ ΠΏΠΎΠ½ΡΡΠΈΠ΅ΠΌ ΡΠ²Π»ΡΠ΅ΡΡΡ deployment. ΠΠ΅Π»ΠΎ Π² ΡΠΎΠΌ, ΡΡΠΎ pod ΡΠ°ΠΌ ΠΏΠΎ ΡΠ΅Π±Π΅ β ΡΡΠΎ ΡΡΠ΅ΠΌΠ΅ΡΠ½Π°Ρ Π²Π΅ΡΡ, ΠΎΠ½Π° Π·Π°ΠΏΡΡΠΊΠ°Π΅ΡΡΡ ΠΈ ΠΈΡΡΠ΅Π·Π°Π΅Ρ. Π₯ΠΎΡΠΈΡΠ΅ Π»ΠΈ Π²Ρ ΡΠ½Π°ΡΠ°Π»Π° ΡΠ±ΠΈΠ²Π°ΡΡ Π²ΡΠ΅ Π²Π°ΡΠΈ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠΈΠ΅ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΡ, Π° ΠΏΠΎΡΠΎΠΌ Π·Π°ΠΏΡΡΠΊΠ°ΡΡ ΡΡΠ°Π·Ρ Π½ΠΎΠ²ΡΠ΅ Π²Π΅ΡΡΠΈΠΈ ΠΈΠ»ΠΈ ΠΆΠ΅ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ Π²ΡΠΊΠ°ΡΡΠ²Π°ΡΡ ΠΈΡ ΠΏΠΎΡΡΠ΅ΠΏΠ΅Π½Π½ΠΎ β Π²ΠΎΡ ΠΈΠΌΠ΅Π½Π½ΠΎ Π·Π° ΡΡΠΎΡ ΠΏΡΠΎΡΠ΅ΡΡ ΠΎΡΠ²Π΅ΡΠ°Π΅Ρ ΠΏΠΎΠ½ΡΡΠΈΠ΅ deployment. ΠΠ½ ΠΎΠΏΠΈΡΡΠ²Π°Π΅Ρ ΡΠΎ, ΠΊΠ°ΠΊ Π²Ρ Π΄Π΅ΠΏΠ»ΠΎΠΈΡΠ΅ Π²Π°ΡΠΈ podΡ, Π² ΠΊΠ°ΠΊΠΎΠΌ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π΅ ΠΈ, ΠΊΠ°ΠΊ ΠΈΡ ΠΎΠ±Π½ΠΎΠ²Π»ΡΡΡ.
Π’ΡΠ΅ΡΡΠΈΠΌ ΠΏΠΎΠ½ΡΡΠΈΠ΅ΠΌ ΡΠ²Π»ΡΠ΅ΡΡΡ service. ΠΠ°Ρ service β ΡΡΠΎ ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ Π²Π°ΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ°, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ Π² ΡΠ΅Π±Ρ Π½Π΅ΠΊΠΈΠΉ ΡΡΠ°ΡΠΈΠΊ, Π° ΠΏΠΎΡΠΎΠΌ Π½Π°ΠΏΡΠ°Π²Π»ΡΠ΅Ρ Π΅Π³ΠΎ Π½Π° ΠΎΠ΄ΠΈΠ½ ΠΈΠ»ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ podΠΎΠ², ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΡ Π²Π°ΡΠ΅ΠΌΡ ΡΠ΅ΡΠ²ΠΈΡΡ. Π’ΠΎ Π΅ΡΡΡ ΠΎΠ½ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠΊΠ°Π·Π°ΡΡ, ΡΡΠΎ Π²Π΅ΡΡ Π²Ρ ΠΎΠ΄ΡΡΠΈΠΉ ΡΡΠ°ΡΠΈΠΊ Π½Π° ΡΠ°ΠΊΠΎΠΉ-ΡΠΎ ΡΠ΅ΡΠ²ΠΈΡ Ρ ΡΠ°ΠΊΠΈΠΌ-ΡΠΎ ΠΈΠΌΠ΅Π½Π΅ΠΌ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΡΠΏΡΠ°Π²Π»ΡΡΡ Π½Π° ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎ ΡΡΠΈ podΡ. Π ΠΏΡΠΈ ΡΡΠΎΠΌ ΠΎΠ½ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅Ρ Π²Π°ΠΌ Π±Π°Π»Π°Π½ΡΠΈΡΠΎΠ²ΠΊΡ ΡΡΠ°ΡΠΈΠΊΠ°. Π’ΠΎ Π΅ΡΡΡ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π·Π°ΠΏΡΡΡΠΈΡΡ Π΄Π²Π° podΠ° Π²Π°ΡΠ΅Π³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΠΈ Π²Π΅ΡΡ Π²Ρ ΠΎΠ΄ΡΡΠΈΠΉ ΡΡΠ°ΡΠΈΠΊ Π±ΡΠ΄Π΅Ρ ΡΠ°Π²Π½ΠΎΠΌΠ΅ΡΠ½ΠΎ Π±Π°Π»Π°Π½ΡΠΈΡΠΎΠ²Π°ΡΡΡΡ ΠΌΠ΅ΠΆΠ΄Ρ ΠΎΡΠ½ΠΎΡΡΡΠΈΠΌΠΈΡΡ ΠΊ ΡΡΠΎΠΌΡ ΡΠ΅ΡΠ²ΠΈΡΡ podΠ°ΠΌΠΈ.
Π ΡΠ΅ΡΠ²Π΅ΡΡΠΎΠ΅ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠ΅ ΠΏΠΎΠ½ΡΡΠΈΠ΅ β Ingress. ΠΡΠΎ ΡΠ΅ΡΠ²ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠΉ Π·Π°ΠΏΡΡΠΊΠ°Π΅ΡΡΡ Π² ΠΊΠ»Π°ΡΡΠ΅ΡΠ΅ Kubernetes. ΠΠ½ Π²ΡΡΡΡΠΏΠ°Π΅Ρ ΠΊΠ°ΠΊ Π²Π½Π΅ΡΠ½ΠΈΠΉ Π±Π°Π»Π°Π½ΡΠΈΡΠΎΠ²ΡΠΈΠΊ Π½Π°Π³ΡΡΠ·ΠΊΠΈ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ Π½Π° ΡΠ΅Π±Ρ Π²ΡΠ΅ Π·Π°ΠΏΡΠΎΡΡ. ΠΠ° ΡΡΠ΅Ρ API Kubernetes Ingress ΠΌΠΎΠΆΠ΅Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡ, ΠΊΡΠ΄Π° ΡΡΠΈ Π·Π°ΠΏΡΠΎΡΡ Π½Π°Π΄ΠΎ ΠΎΡΠΏΡΠ°Π²ΠΈΡΡ. ΠΡΠΈΡΠ΅ΠΌ Π΄Π΅Π»Π°Π΅Ρ ΠΎΠ½ ΡΡΠΎ ΠΎΡΠ΅Π½Ρ Π³ΠΈΠ±ΠΊΠΎ. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠΊΠ°Π·Π°ΡΡ, ΡΡΠΎ Π²ΡΠ΅ Π·Π°ΠΏΡΠΎΡΡ Π½Π° ΡΡΠΎΡ Ρ ΠΎΡΡ ΠΈ ΡΠ°ΠΊΠΎΠΉ-ΡΠΎ URL ΠΎΡΠΏΡΠ°Π²Π»ΡΠ΅ΠΌ Π½Π° ΡΡΠΎΡ ΡΠ΅ΡΠ²ΠΈΡ. Π ΡΡΠΈ Π·Π°ΠΏΡΠΎΡΡ, ΠΏΡΠΈΡ ΠΎΠ΄ΡΡΠΈΠ΅ Π½Π° ΡΡΠΎΡ Ρ ΠΎΡΡ ΠΈ Π½Π° Π΄ΡΡΠ³ΠΎΠΉ URL ΠΎΡΠΏΡΠ°Π²Π»ΡΠ΅ΠΌ Π½Π° Π΄ΡΡΠ³ΠΎΠΉ ΡΠ΅ΡΠ²ΠΈΡ.
Π‘Π°ΠΌΠΎΠ΅ ΠΊΡΡΡΠΎΠ΅ Ρ ΡΠΎΡΠΊΠΈ Π·ΡΠ΅Π½ΠΈΡ ΡΠΎΠ³ΠΎ, ΠΊΡΠΎ ΡΠ°Π·ΡΠ°Π±Π°ΡΡΠ²Π°Π΅Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ β ΡΡΠΎ ΡΠΎ, ΡΡΠΎ Π²Ρ ΡΠΏΠΎΡΠΎΠ±Π½Ρ ΡΡΠΈΠΌ Π²ΡΠ΅ΠΌ ΡΠΏΡΠ°Π²Π»ΡΡΡ ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»ΡΠ½ΠΎ. ΠΠ°Π΄Π°Π² ΠΊΠΎΠ½ΡΠΈΠ³ Ingress, ΠΌΠΎΠΆΠ΅ΡΠ΅ Π²Π΅ΡΡ ΡΡΠ°ΡΠΈΠΊ, ΠΏΡΠΈΡ ΠΎΠ΄ΡΡΠΈΠΉ Π½Π° ΡΠ°ΠΊΠΎΠΉ-ΡΠΎ API, ΠΎΡΠΏΡΠ°Π²Π»ΡΡΡ Π½Π° ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠ΅ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΡ, ΠΏΡΠΎΠΏΠΈΡΠ°Π½Π½ΡΠ΅, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π½Π° Go. Π Π²ΠΎΡ ΡΡΠΎΡ ΡΡΠ°ΡΠΈΠΊ, ΠΏΡΠΈΡ ΠΎΠ΄ΡΡΠΈΠΉ Π½Π° ΡΠΎΡ ΠΆΠ΅ Π΄ΠΎΠΌΠ΅Π½, Π½ΠΎ Π½Π° Π΄ΡΡΠ³ΠΎΠΉ URL, ΠΎΡΠΏΡΠ°Π²Π»ΡΡΡ Π½Π° ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΡ, Π½Π°ΠΏΠΈΡΠ°Π½Π½ΡΠ΅ Π½Π° Π ΠΠ , Π³Π΄Π΅ ΠΌΠ½ΠΎΠ³ΠΎ Π»ΠΎΠ³ΠΈΠΊΠΈ, Π½ΠΎ ΠΎΠ½ΠΈ Π½Π΅ ΠΎΡΠ΅Π½Ρ ΡΠΊΠΎΡΠΎΡΡΠ½ΡΠ΅.
ΠΡΠ»ΠΈ ΡΡΠ°Π²Π½ΠΈΡΡ Π²ΡΠ΅ ΡΡΠΈ ΠΏΠΎΠ½ΡΡΠΈΡ Ρ Nomad, ΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠ°Π·Π°ΡΡ, ΡΡΠΎ ΠΏΠ΅ΡΠ²ΡΠ΅ ΡΡΠΈ ΠΏΠΎΠ½ΡΡΠΈΡ β ΡΡΠΎ Π²ΡΠ΅ Π²ΠΌΠ΅ΡΡΠ΅ Service. Π ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π΅ ΠΏΠΎΠ½ΡΡΠΈΠ΅ Π² ΡΠ°ΠΌΠΎΠΌ Nomad ΠΎΡΡΡΡΡΡΠ²ΡΠ΅Ρ. ΠΡ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π½Π΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΠΈ Π²Π½Π΅ΡΠ½ΠΈΠΉ Π±Π°Π»Π°Π½ΡΠΈΡΠΎΠ²ΡΠΈΠΊ: ΡΡΠΎ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ haproxy, nginx, nginx+ ΠΈ ΡΠ°ΠΊ Π΄Π°Π»Π΅Π΅. Π ΡΠ»ΡΡΠ°Π΅ Ρ ΠΊΡΠ±ΠΎΠΌ Π²Π°ΠΌ Π½Π΅ Π½Π°Π΄ΠΎ Π²Π²ΠΎΠ΄ΠΈΡΡ ΡΡΠΎ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠ΅ ΠΏΠΎΠ½ΡΡΠΈΠ΅ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎ. ΠΠ΄Π½Π°ΠΊΠΎ, Π΅ΡΠ»ΠΈ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ Π½Π° Ingress Π²Π½ΡΡΡΠΈ, ΡΠΎ ΡΡΠΎ Π»ΠΈΠ±ΠΎ nginx, Π»ΠΈΠ±ΠΎ haproxy, Π»ΠΈΠ±ΠΎ traefik, Π½ΠΎ ΠΊΠ°ΠΊ Π±Ρ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΠΉ Π² Kubernetes.
ΠΡΠ΅ ΠΎΠΏΠΈΡΠ°Π½Π½ΡΠ΅ ΠΌΠ½ΠΎΡ ΠΏΠΎΠ½ΡΡΠΈΡ β ΡΡΠΎ, ΠΏΠΎ ΡΡΡΠΈ Π΄Π΅Π»Π°, ΡΠ΅ΡΡΡΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΡΡΠ΅ΡΡΠ²ΡΡΡ Π²Π½ΡΡΡΠΈ ΠΊΠ»Π°ΡΡΠ΅ΡΠ° Kubernetes. ΠΠ»Ρ ΠΈΡ ΠΎΠΏΠΈΡΠ°Π½ΠΈΡ Π² ΠΊΡΠ±Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ yaml-ΡΠΎΡΠΌΠ°Ρ, Π±ΠΎΠ»Π΅Π΅ ΡΠΈΡΠ°Π΅ΠΌΡΠΉ ΠΈ ΠΏΡΠΈΠ²ΡΡΠ½ΡΠΉ, ΡΠ΅ΠΌ ΠΠ‘L-ΡΠ°ΠΉΠ»Ρ Π² ΡΠ»ΡΡΠ°Π΅ Ρ Nomad. ΠΠΎ ΡΡΡΡΠΊΡΡΡΠ½ΠΎ ΠΎΠ½ΠΈ ΠΎΠΏΠΈΡΡΠ²Π°ΡΡ Π² ΡΠ»ΡΡΠ°Π΅, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, podΠ° ΡΠΎ ΠΆΠ΅ ΡΠ°ΠΌΠΎΠ΅. ΠΠ½ΠΈ Π³ΠΎΠ²ΠΎΡΡΡ β Ρ ΠΎΡΡ Π·Π°Π΄Π΅ΠΏΠ»ΠΎΠΈΡΡ ΡΠ°ΠΊΠΈΠ΅-ΡΠΎ podΡ ΡΡΠ΄Π°-ΡΠΎ, Ρ ΡΠ°ΠΊΠΈΠΌΠΈ-ΡΠΎ ΠΈΠΌΠ°Π΄ΠΆΠΈ, Π² ΡΠ°ΠΊΠΎΠΌ-ΡΠΎ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π΅.
ΠΠΎΠΌΠΈΠΌΠΎ ΡΡΠΎΠ³ΠΎ, ΠΌΡ ΠΏΠΎΠ½ΡΠ»ΠΈ, ΡΡΠΎ Π½Π΅ Ρ
ΠΎΡΠΈΠΌ ΡΡΠΊΠ°ΠΌΠΈ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠΉ ΡΠ΅ΡΡΡΡ: deployment, ΡΠ΅ΡΠ²ΠΈΡΡ, Ingress ΠΈ ΠΏΡΠΎΡΠ΅Π΅. ΠΠΌΠ΅ΡΡΠΎ ΡΡΠΎΠ³ΠΎ ΠΌΡ Ρ
ΠΎΡΠ΅Π»ΠΈ ΠΏΡΠΈ Π΄Π΅ΠΏΠ»ΠΎΠ΅ ΠΎΠΏΠΈΡΡΠ²Π°ΡΡ Π½Π°ΡΡ ΠΊΠ°ΠΆΠ΄ΡΡ ΡΠΈΡΡΠ΅ΠΌΡ, ΠΈΠΌΠ΅ΡΡΡΡΡΡ Π² ΡΠ΅ΡΠΌΠΈΠ½Π°Ρ
Kubernetes, ΡΡΠΎΠ±Ρ Π½Π΅ ΠΏΡΠΈΡ
ΠΎΠ΄ΠΈΠ»ΠΎΡΡ Π²ΡΡΡΠ½ΡΡ ΠΏΠ΅ΡΠ΅ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ Π² Π½ΡΠΆΠ½ΠΎΠΌ ΠΏΠΎΡΡΠ΄ΠΊΠ΅ Π²ΡΠ΅ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΡΠ΅ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΡΠ΅ΡΡΡΡΠΎΠ². Π ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΡΠ°ΠΊΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΠ»Π° Π½Π°ΠΌ ΡΡΠΎ ΡΠ΄Π΅Π»Π°ΡΡ, Π±ΡΠ» Π²ΡΠ±ΡΠ°Π½ Helm.
ΠΡΠ½ΠΎΠ²Π½ΡΠ΅ ΠΏΠΎΠ½ΡΡΠΈΡ Π² Helm
Helm β ΡΡΠΎ ΠΏΠ°ΠΊΠ΅ΡΠ½ΡΠΉ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ Π΄Π»Ρ Kubernetes. ΠΠ½ ΠΎΡΠ΅Π½Ρ ΠΏΠΎΡ ΠΎΠΆ Π½Π° ΡΠΎ, ΠΊΠ°ΠΊ ΡΠ°Π±ΠΎΡΠ°ΡΡ ΠΏΠ°ΠΊΠ΅ΡΠ½ΡΠ΅ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅ΡΡ Π² ΡΠ·ΡΠΊΠ°Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ. ΠΠ½ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ Π²Π°ΠΌ Ρ ΡΠ°Π½ΠΈΡΡ ΡΠ΅ΡΠ²ΠΈΡ, ΡΠΎΡΡΠΎΡΡΠΈΠΉ ΠΈΠ·, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, deployment nginx, deployment php-fpm, ΠΊΠΎΠ½ΡΠΈΠ³Π° Π΄Π»Ρ Ingress, configmaps (ΡΡΠΎ ΡΡΡΠ½ΠΎΡΡΡ, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π²Π°ΠΌ Π·Π°Π΄Π°ΡΡ env ΠΈ Π΄ΡΡΠ³ΠΈΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ Π΄Π»Ρ Π²Π°ΡΠ΅ΠΉ ΡΠΈΡΡΠ΅ΠΌΡ) Π² Π²ΠΈΠ΄Π΅ ΡΠ°ΠΊ Π½Π°Π·ΡΠ²Π°Π΅ΠΌΡΡ ΡΠ°ΡΡΠΎΠ². ΠΡΠΈ ΡΡΠΎΠΌ Helm ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΏΠΎΠ²Π΅ΡΡ Kubernetes. Π’ΠΎ Π΅ΡΡΡ ΡΡΠΎ Π½Π΅ ΠΊΠ°ΠΊΠ°Ρ-ΡΠΎ ΡΠΈΡΡΠ΅ΠΌΠ°, ΡΡΠΎΡΡΠ°Ρ Π² ΡΡΠΎΡΠΎΠ½Π΅, Π° ΠΏΡΠΎΡΡΠΎ Π΅ΡΡ ΠΎΠ΄ΠΈΠ½ ΡΠ΅ΡΠ²ΠΈΡ, Π·Π°ΠΏΡΡΠΊΠ°Π΅ΠΌΡΠΉ Π²Π½ΡΡΡΠΈ ΠΊΡΠ±Π°. ΠΡ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΡΠ΅ΡΠ΅ Ρ Π½ΠΈΠΌ ΠΏΠΎ Π΅Π³ΠΎ API ΡΠ΅ΡΠ΅Π· ΠΊΠΎΠ½ΡΠΎΠ»ΡΠ½ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ. ΠΠ³ΠΎ ΡΠ΄ΠΎΠ±ΡΡΠ²ΠΎ ΠΈ ΠΏΡΠ΅Π»Π΅ΡΡΡ Π² ΡΠΎΠΌ, ΡΡΠΎ Π΄Π°ΠΆΠ΅ Π΅ΡΠ»ΠΈ helm ΡΠ»ΠΎΠΌΠ°Π΅ΡΡΡ ΠΈΠ»ΠΈ Π²Ρ Π΅Π³ΠΎ ΡΠ΄Π°Π»ΠΈΡΠ΅ ΠΈΠ· ΠΊΠ»Π°ΡΡΠ΅ΡΠ°, ΡΠΎ Π²Π°ΡΠΈ ΡΠ΅ΡΠ²ΠΈΡΡ Π½Π΅ ΠΈΡΡΠ΅Π·Π½ΡΡ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ helm ΡΠ»ΡΠΆΠΈΡ ΠΏΠΎ ΡΡΡΠΈ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ Π·Π°ΠΏΡΡΠΊΠ° ΡΠΈΡΡΠ΅ΠΌΡ. ΠΠ° ΡΠ°Π±ΠΎΡΠΎΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡΡ ΠΈ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ ΡΠ΅ΡΠ²ΠΈΡΠΎΠ² Π΄Π°Π»ΡΡΠ΅ ΠΎΡΠ²Π΅ΡΠ°Π΅Ρ ΡΠ°ΠΌ Kubernetes.
Π’Π°ΠΊΠΆΠ΅ ΠΌΡ ΠΏΠΎΠ½ΡΠ»ΠΈ, ΡΡΠΎ ΡΠ°Π±Π»ΠΎΠ½ΠΈΠ·Π°ΡΠΈΡ, ΠΊΠΎΡΠΎΡΡΡ Π΄ΠΎ ΡΡΠΎΠ³ΠΎ Π±ΡΠ»ΠΈ Π²ΡΠ½ΡΠΆΠ΄Π΅Π½Ρ Π΄Π΅Π»Π°ΡΡ ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»ΡΠ½ΠΎ ΡΠ΅ΡΠ΅Π· Π²Π½Π΅Π΄ΡΠ΅Π½ΠΈΠ΅ jinja Π² Π½Π°ΡΠΈ ΠΊΠΎΠ½ΡΠΈΠ³ΠΈ, ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· ΠΎΡΠ½ΠΎΠ²Π½ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠ΅ΠΉ helm. ΠΡΠ΅ ΠΊΠΎΠ½ΡΠΈΠ³ΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ Π²Ρ ΡΠΎΠ·Π΄Π°Π΅ΡΠ΅ Π΄Π»Ρ Π²Π°ΡΠΈΡ ΡΠΈΡΡΠ΅ΠΌ, Ρ ΡΠ°Π½ΡΡΡΡ Π² helm Π² Π²ΠΈΠ΄Π΅ ΡΠ°Π±Π»ΠΎΠ½ΠΎΠ², ΠΏΠΎΡ ΠΎΠΆΠΈΡ Π½Π΅ΠΌΠ½ΠΎΠΆΠΊΠΎ Π½Π° jinja, Π½ΠΎ, Π½Π° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΠΈΡ ΡΠ°Π±Π»ΠΎΠ½ΠΈΠ·Π°ΡΠΈΡ ΡΠ·ΡΠΊΠ° Go, Π½Π° ΠΊΠΎΡΠΎΡΠΎΠΌ helm Π½Π°ΠΏΠΈΡΠ°Π½, ΠΊΠ°ΠΊ ΠΈ Kubernetes.
Helm Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅Ρ Π½Π°ΠΌ Π΅ΡΠ΅ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ ΠΏΠΎΠ½ΡΡΠΈΠΉ.
Chart β ΡΡΠΎ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ Π²Π°ΡΠ΅Π³ΠΎ ΡΠ΅ΡΠ²ΠΈΡΠ°. Π Π΄ΡΡΠ³ΠΈΡ ΠΏΠ°ΠΊΠ΅ΡΠ½ΡΡ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅ΡΠ°Ρ Π΅Π³ΠΎ Π½Π°Π·Π²Π°Π»ΠΈ Π±Ρ ΠΏΠ°ΠΊΠ΅Ρ, bundle ΠΈΠ»ΠΈ ΡΡΠΎ-ΡΠΎ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠ΅. ΠΠ΄Π΅ΡΡ ΡΡΠΎ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ chart.
Values β ΡΡΠΎ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅, ΠΊΠΎΡΠΎΡΡΠ΅ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄Π»Ρ ΡΠ±ΠΎΡΠΊΠΈ Π²Π°ΡΠΈΡ ΠΊΠΎΠ½ΡΠΈΠ³ΠΎΠ² ΠΈΠ· ΡΠ°Π±Π»ΠΎΠ½ΠΎΠ².
Release. ΠΠ°ΠΆΠ΄ΡΠΉ ΡΠ°Π· ΡΠ΅ΡΠ²ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠΉ Π΄Π΅ΠΏΠ»ΠΎΠΈΡΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ helm, ΠΏΠΎΠ»ΡΡΠ°Π΅Ρ ΠΈΠ½ΠΊΡΠ΅ΠΌΠ΅Π½ΡΠ°Π»ΡΠ½ΡΡ Π²Π΅ΡΡΠΈΡ ΡΠ΅Π»ΠΈΠ·Π°. Helm ΠΏΠΎΠΌΠ½ΠΈΡ, ΠΊΠ°ΠΊΠΎΠΉ Π±ΡΠ» ΠΊΠΎΠ½ΡΠΈΠ³ ΡΠ΅ΡΠ²ΠΈΡΠ° ΠΏΡΠΈ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅ΠΌ, ΠΏΠΎΠ·Π°ΠΏΡΠΎΡΠ»ΠΎΠΌ ΡΠ΅Π»ΠΈΠ·Π΅ ΠΈ ΡΠ°ΠΊ Π΄Π°Π»Π΅Π΅. ΠΠΎΡΡΠΎΠΌΡ, Π΅ΡΠ»ΠΈ Π½ΡΠΆΠ½ΠΎ ΠΎΡΠΊΠ°ΡΠΈΡΡΡΡ, Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ helm callback, ΡΠΊΠ°Π·Π°Π² Π΅ΠΌΡ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΡΡ Π²Π΅ΡΡΠΈΡ ΡΠ΅Π»ΠΈΠ·Π°. ΠΠ°ΠΆΠ΅ Π΅ΡΠ»ΠΈ Π² ΠΌΠΎΠΌΠ΅Π½Ρ ΠΎΡΠΊΠ°ΡΠ° ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ°Ρ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ Π² Π²Π°ΡΠ΅ΠΌ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ Π½Π΅ Π±ΡΠ΄Π΅Ρ Π΄ΠΎΡΡΡΠΏΠ½Π°, helm Π²ΡΠ΅ ΡΠ°Π²Π½ΠΎ ΠΏΠΎΠΌΠ½ΠΈΡ, ΠΊΠ°ΠΊΠΎΠΉ ΠΎΠ½Π° Π±ΡΠ»Π°, ΠΈ ΠΎΡΠΊΠ°ΡΠΈΡ Π²Π°ΡΡ ΡΠΈΡΡΠ΅ΠΌΡ Π½Π° ΡΠΎ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΠΎΠ½Π° Π±ΡΠ»Π° Π² ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅ΠΌ ΡΠ΅Π»ΠΈΠ·Π΅.
Π ΡΠ»ΡΡΠ°Π΅, ΠΊΠΎΠ³Π΄Π° ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ helm, ΠΎΠ±ΡΡΠ½ΡΠ΅ ΠΊΠΎΠ½ΡΠΈΠ³ΠΈ Π΄Π»Ρ Kubernetes ΡΠΎΠΆΠ΅ ΠΏΡΠ΅Π²ΡΠ°ΡΠ°ΡΡΡΡ Π² ΡΠ°Π±Π»ΠΎΠ½Ρ, Π² ΠΊΠΎΡΠΎΡΡΡ Π΅ΡΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅, ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡ ΡΡΠ»ΠΎΠ²Π½ΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΡ. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠΎΠ±ΠΈΡΠ°ΡΡ ΠΊΠΎΠ½ΡΠΈΠ³ Π²Π°ΡΠ΅Π³ΠΎ ΡΠ΅ΡΠ²ΠΈΡΠ° Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΡΡΠ΅Π΄Ρ.
ΠΠ° ΠΏΡΠ°ΠΊΡΠΈΠΊΠ΅ ΠΌΡ ΡΠ΅ΡΠΈΠ»ΠΈ ΠΏΠΎΡΡΡΠΏΠΈΡΡ ΡΡΡΡ-ΡΡΡΡ ΠΈΠ½Π°ΡΠ΅, ΡΠ΅ΠΌ ΠΌΡ Π΄Π΅Π»Π°Π»ΠΈ Π² ΡΠ»ΡΡΠ°Π΅ Ρ Nomad. ΠΡΠ»ΠΈ Π² Nomad Π² ΠΎΠ΄Π½ΠΎΠΌ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ Ρ
ΡΠ°Π½ΠΈΠ»ΠΈΡΡ ΠΈ ΠΊΠΎΠ½ΡΠΈΠ³ΠΈ Π΄Π»Ρ Π΄Π΅ΠΏΠ»ΠΎΡ, ΠΈ n-ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅, ΠΊΠΎΡΠΎΡΡΠ΅ Π½ΡΠΆΠ½Ρ Π΄Π»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ Π·Π°Π΄Π΅ΠΏΠ»ΠΎΠΈΡΡ Π½Π°Ρ ΡΠ΅ΡΠ²ΠΈΡ, ΡΠΎ Π·Π΄Π΅ΡΡ ΠΌΡ ΡΠ΅ΡΠΈΠ»ΠΈ ΠΈΡ
ΡΠ°Π·Π΄Π΅Π»ΠΈΡΡ Π½Π° Π΄Π²Π° ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΡ
ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ. Π ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ Β«deployΒ» Ρ
ΡΠ°Π½ΡΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ n-ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅, Π½ΡΠΆΠ½ΡΠ΅ Π΄Π»Ρ Π΄Π΅ΠΏΠ»ΠΎΡ, Π° Π² ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ Β«helmΒ» Ρ
ΡΠ°Π½ΡΡΡΡ ΠΊΠΎΠ½ΡΠΈΠ³ΠΈ ΠΈΠ»ΠΈ ΡΠ°ΡΡΡ.
Π§ΡΠΎ ΡΡΠΎ Π½Π°ΠΌ Π΄Π°Π»ΠΎ?
ΠΠ΅ΡΠΌΠΎΡΡΡ Π½Π° ΡΠΎ, ΡΡΠΎ Π² ΡΠ°ΠΌΠΈΡ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΎΠ½Π½ΡΡ ΡΠ°ΠΉΠ»Π°Ρ ΠΌΡ Π½Π΅ Ρ ΡΠ°Π½ΠΈΠΌ ΠΊΠ°ΠΊΠΈΠ΅-ΡΠΎ Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΡΠ²ΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΠ°ΡΠΎΠ»ΠΈ ΠΊ Π±Π°Π·Π°ΠΌ Π΄Π°Π½Π½ΡΡ . ΠΠ½ΠΈ Ρ ΡΠ°Π½ΡΡΡΡ Π² Π²ΠΈΠ΄Π΅ secrets Π² Kubernetes, Π½ΠΎ ΡΠ΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, ΡΠ°ΠΌ Π²ΡΠ΅ ΡΠ°Π²Π½ΠΎ Π΅ΡΡΡ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠ΅ Π²Π΅ΡΠΈ, ΠΊ ΠΊΠΎΡΠΎΡΡΠΌ ΠΌΡ Π½Π΅ Ρ ΠΎΡΠΈΠΌ Π΄Π°Π²Π°ΡΡ Π΄ΠΎΡΡΡΠΏ Π²ΡΠ΅ΠΌ ΠΏΠΎΠ΄ΡΡΠ΄. ΠΠΎΡΡΠΎΠΌΡ Π΄ΠΎΡΡΡΠΏ ΠΊ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ Β«deployΒ» Π±ΠΎΠ»Π΅Π΅ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½, Π° ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ Β«helmΒ» ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΏΡΠΎΡΡΠΎ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΡΠ΅ΡΠ²ΠΈΡΠ°. ΠΠΎ ΡΡΠΎΠΉ ΠΏΡΠΈΡΠΈΠ½Π΅ Π² Π½Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π΄Π°ΡΡ Π΄ΠΎΡΡΡΠΏ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎ Π±ΠΎΠ»ΡΡΠ΅ΠΌΡ ΠΊΡΡΠ³Ρ Π»ΠΈΡ.
ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ Ρ Π½Π°Ρ Π΅ΡΡΡ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΎΠ΄Π°ΠΊΡΠ½, Π½ΠΎ ΠΈ Π΄ΡΡΠ³ΠΈΠ΅ ΡΡΠ΅Π΄Ρ, ΡΠΎ Π±Π»Π°Π³ΠΎΠ΄Π°ΡΡ ΡΠ°ΠΊΠΎΠΌΡ ΡΠ°Π·Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΠ΅ΡΠ΅ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π½Π°ΡΠΈ helm-ΡΠ°ΡΡΡ, ΡΡΠΎΠ±Ρ Π΄Π΅ΠΏΠ»ΠΎΠΈΡΡ ΡΠ΅ΡΠ²ΠΈΡΡ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ Π² ΠΏΡΠΎΠ΄Π°ΠΊΡΠ½, Π½ΠΎ ΠΈ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π² QA-ΡΡΠ΅Π΄Ρ. ΠΠ°ΠΆΠ΅ Π΄Π»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ ΡΠ°Π·Π²ΠΎΡΠ°ΡΠΈΠ²Π°ΡΡ ΠΈΡ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ Minikube β ΡΡΠΎ ΡΠ°ΠΊΠ°Ρ ΡΡΡΠΊΠ° Π΄Π»Ρ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠ³ΠΎ Π·Π°ΠΏΡΡΠΊΠ° Kubernetes.
ΠΠ½ΡΡΡΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ ΠΌΡ ΠΎΡΡΠ°Π²ΠΈΠ»ΠΈ ΡΠ°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π½Π° ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠ΅ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΠ΅ΡΠ²ΠΈΡΠ°. Π’ΠΎ Π΅ΡΡΡ Π²Π½ΡΡΡΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ Π½Π°Ρ ΠΎΠ΄ΡΡΡΡ ΡΠ°Π±Π»ΠΎΠ½Ρ, ΠΎΡΠ½ΠΎΡΡΡΠΈΠ΅ΡΡ ΠΊ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅ΠΌΡ ΡΠ°ΡΡΡ ΠΈ ΠΎΠΏΠΈΡΡΠ²Π°ΡΡΠΈΠ΅ ΡΠ΅ ΡΠ΅ΡΡΡΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π·Π°Π΄Π΅ΠΏΠ»ΠΎΠΈΡΡ Π΄Π»Ρ Π·Π°ΠΏΡΡΠΊΠ° Π½Π°ΡΠ΅ΠΉ ΡΠΈΡΡΠ΅ΠΌΡ. Π ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ Β«deployΒ» ΠΌΡ ΠΎΡΡΠ°Π²ΠΈΠ»ΠΈ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ½Π²Ρ. Π ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΌΡ Π½Π΅ ΡΡΠ°Π»ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ°Π±Π»ΠΎΠ½ΠΈΠ·Π°ΡΠΈΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ jinja, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ helm ΡΠ°ΠΌ Π΄Π°Π΅Ρ ΡΠ°Π±Π»ΠΎΠ½ΠΈΠ·Π°ΡΠΈΡ ΠΈΠ· ΠΊΠΎΡΠΎΠ±ΠΊΠΈ β ΡΡΠΎ ΠΎΠ΄Π½Π° ΠΈΠ· Π΅Π³ΠΎ ΠΎΡΠ½ΠΎΠ²Π½ΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ.
ΠΡ ΠΎΡΡΠ°Π²ΠΈΠ»ΠΈ ΡΠΊΡΠΈΠΏΡ Π΄Π»Ρ Π΄Π΅ΠΏΠ»ΠΎΡ β deploy.sh, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΏΡΠΎΡΠ°Π΅Ρ ΠΈ ΡΡΠ°Π½Π΄Π°ΡΡΠΈΠ·ΠΈΡΡΠ΅Ρ Π·Π°ΠΏΡΡΠΊ Π΄Π»Ρ Π΄Π΅ΠΏΠ»ΠΎΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ helm. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, Π΄Π»Ρ Π»ΡΠ±ΠΎΠ³ΠΎ, ΠΊΡΠΎ Ρ ΠΎΡΠ΅Ρ Π·Π°Π΄Π΅ΠΏΠ»ΠΎΠΈΡΡ, ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ Π΄Π΅ΠΏΠ»ΠΎΡ Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΡΠΎΡΠ½ΠΎ ΡΠ°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ ΠΎΠ½ Π±ΡΠ» Π² ΡΠ»ΡΡΠ°Π΅ Π΄Π΅ΠΏΠ»ΠΎΡ ΡΠ΅ΡΠ΅Π· Nomad. Π’Π°ΠΊΠΎΠΉ ΠΆΠ΅ deploy.sh, Π½Π°Π·Π²Π°Π½ΠΈΠ΅ Π²Π°ΡΠ΅Π³ΠΎ ΡΠ΅ΡΠ²ΠΈΡΠ°, ΠΈ ΡΠΎ, ΠΊΡΠ΄Π° Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ Π΅Π³ΠΎ Π·Π°Π΄Π΅ΠΏΠ»ΠΎΠΈΡΡ. ΠΡΠΎ ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡ ΠΊ ΡΠΎΠΌΡ, ΡΡΠΎ Π²Π½ΡΡΡΠΈ Π·Π°ΠΏΡΡΠΊΠ°Π΅ΡΡΡ helm. ΠΠ½ Π² ΡΠ²ΠΎΡ ΠΎΡΠ΅ΡΠ΅Π΄Ρ ΡΠΎΠ±ΠΈΡΠ°Π΅Ρ ΠΊΠΎΠ½ΡΠΈΠ³ΠΈ ΠΈΠ· ΡΠ°Π±Π»ΠΎΠ½ΠΎΠ², ΠΏΠΎΠ΄ΡΡΠ°Π²Π»ΡΠ΅Ρ Π² Π½ΠΈΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠ΅ values-ΡΠ°ΠΉΠ»Ρ, Π·Π°ΡΠ΅ΠΌ Π΄Π΅ΠΏΠ»ΠΎΠΈΡ, ΠΏΡΡΠΊΠ°Ρ ΠΈΡ Π² Kubernetes.
ΠΡΠ²ΠΎΠ΄Ρ
Π‘Π΅ΡΠ²ΠΈΡ Kubernetes Π²ΡΠ³Π»ΡΠ΄ΠΈΡ Π±ΠΎΠ»Π΅Π΅ ΡΠ»ΠΎΠΆΠ½ΡΠΌ, ΡΠ΅ΠΌ Nomad.
ΠΠ΄Π΅ΡΡ ΠΈΡΡ
ΠΎΠ΄ΡΡΠΈΠΉ ΡΡΠ°ΡΠΈΠΊ ΠΏΡΠΈΡ
ΠΎΠ΄ΠΈΡ Π² Ingress. ΠΡΠΎ ΠΊΠ°ΠΊ ΡΠ°Π· ΡΡΠΎΠ½Ρ-ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ Π½Π° ΡΠ΅Π±Ρ Π²ΡΠ΅ Π·Π°ΠΏΡΠΎΡΡ ΠΈ Π²ΠΏΠΎΡΠ»Π΅Π΄ΡΡΠ²ΠΈΠΈ ΠΎΡΠΏΡΠ°Π²Π»ΡΠ΅Ρ ΠΈΡ
Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠ΅ Π΄Π°Π½Π½ΡΠΌ Π·Π°ΠΏΡΠΎΡΠ° ΡΠ΅ΡΠ²ΠΈΡΡ. ΠΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ ΠΎΠ½ ΠΈΡ
Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΠΊΠΎΠ½ΡΠΈΠ³ΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ²Π»ΡΡΡΡΡ ΡΠ°ΡΡΡΡ ΠΎΠΏΠΈΡΠ°Π½ΠΈΡ Π²Π°ΡΠ΅Π³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π² helm ΠΈ ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ Π·Π°Π΄Π°ΡΡ ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»ΡΠ½ΠΎ. Π‘Π΅ΡΠ²ΠΈΡ ΠΆΠ΅ ΠΎΡΠΏΡΠ°Π²Π»ΡΠ΅Ρ Π·Π°ΠΏΡΠΎΡΡ Π½Π° ΡΠ²ΠΎΠΈ podΡ, ΡΠΎ Π΅ΡΡΡ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΠ΅ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΡ, Π±Π°Π»Π°Π½ΡΠΈΡΡΡ Π²Ρ
ΠΎΠ΄ΡΡΠΈΠΉ ΡΡΠ°ΡΠΈΠΊ ΠΌΠ΅ΠΆΠ΄Ρ Π²ΡΠ΅ΠΌΠΈ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ°ΠΌΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΡΠ½ΠΎΡΡΡΡΡ ΠΊ Π΄Π°Π½Π½ΠΎΠΌΡ ΡΠ΅ΡΠ²ΠΈΡΡ. ΠΡ ΠΈ, ΠΊΠΎΠ½Π΅ΡΠ½ΠΎ, Π½Π΅ ΡΡΠΎΠΈΡ Π·Π°Π±ΡΠ²Π°ΡΡ ΠΏΡΠΎ ΡΠΎ, ΡΡΠΎ ΠΎΡ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ Π½Π° ΡΡΠΎΠ²Π½Π΅ ΡΠ΅ΡΠΈ, ΠΌΡ Π½ΠΈΠΊΡΠ΄Π° Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ ΡΡ
ΠΎΠ΄ΠΈΡΡ. ΠΠΎΡΡΠΎΠΌΡ Π² ΠΊΠ»Π°ΡΡΠ΅ΡΠ΅ Kubernetes ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΡΠ΅Π³ΠΌΠ΅Π½ΡΠ°ΡΠΈΡ, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΎΡΠ½ΠΎΠ²Π°Π½Π° Π½Π° ΡΠ΅Π³ΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ. ΠΡΠ΅ ΡΠ΅ΡΠ²ΠΈΡΡ ΠΈΠΌΠ΅ΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠ΅ ΡΠ΅Π³ΠΈ, ΠΊ ΠΊΠΎΡΠΎΡΡΠΌ ΠΏΡΠΈΠ²ΡΠ·Π°Π½Ρ ΠΏΡΠ°Π²Π° Π΄ΠΎΡΡΡΠΏΠΎΠ² ΡΠ΅ΡΠ²ΠΈΡΠΎΠ² ΠΊ ΡΠ΅ΠΌ ΠΈΠ»ΠΈ ΠΈΠ½ΡΠΌ Π²Π½Π΅ΡΠ½ΠΈΠΌ/Π²Π½ΡΡΡΠ΅Π½Π½ΠΈΠΌ ΡΠ΅ΡΡΡΡΠ°ΠΌ Π²Π½ΡΡΡΠΈ ΠΈΠ»ΠΈ Π²Π½Π΅ ΠΊΠ»Π°ΡΡΠ΅ΡΠ°.
ΠΡΠΏΠΎΠ»Π½ΡΡ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄, ΠΌΡ ΡΠ²ΠΈΠ΄Π΅Π»ΠΈ, ΡΡΠΎ Kubernetes ΠΎΠ±Π»Π°Π΄Π°Π΅Ρ Π²ΡΠ΅ΠΌΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΠΌΠΈ Nomad, ΠΊΠΎΡΠΎΡΡΠΉ Π΄ΠΎ ΡΡΠΎΠ³ΠΎ ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΠΈ, Π° ΡΠ°ΠΊΠΆΠ΅ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅Ρ ΠΌΠ½ΠΎΠ³ΠΎ Π½ΠΎΠ²ΠΎΠ³ΠΎ. ΠΠ³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ°ΡΡΠΈΡΡΡΡ ΡΠ΅ΡΠ΅Π· ΠΏΠ»Π°Π³ΠΈΠ½Ρ, Π° ΠΏΠΎ ΡΠ°ΠΊΡΡ ΡΠ΅ΡΠ΅Π· ΠΊΠ°ΡΡΠΎΠΌΠ½ΡΠ΅ ΡΠΈΠΏΡ ΡΠ΅ΡΡΡΡΠΎΠ². Π’ΠΎ Π΅ΡΡΡ Ρ Π²Π°Ρ Π΅ΡΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π½Π΅ ΠΏΡΠΎΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΠΎ-ΡΠΎ, ΡΡΠΎ ΠΈΠ΄Π΅Ρ Π² Kubernetes ΠΈΠ· ΠΊΠΎΡΠΎΠ±ΠΊΠΈ, Π° ΡΠΎΠ·Π΄Π°ΡΡ ΡΠ²ΠΎΠΉ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠΉ ΡΠ΅ΡΡΡΡ ΠΈ ΡΠ΅ΡΠ²ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠΉ Π±ΡΠ΄Π΅Ρ Π²Π°Ρ ΡΠ΅ΡΡΡΡ ΡΠΈΡΠ°ΡΡ. ΠΡΠΎ Π΄Π°Π΅Ρ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ Π²Π°ΡΠ΅ΠΉ ΡΠΈΡΡΠ΅ΠΌΡ Π±Π΅Π· Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ ΠΏΠ΅ΡΠ΅ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ Kubernetes ΠΈ Π±Π΅Π· Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ.
ΠΡΠΈΠΌΠ΅ΡΠΎΠΌ ΡΠ°ΠΊΠΎΠ³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΡΠ²Π»ΡΠ΅ΡΡΡ Prometheus, ΠΊΠΎΡΠΎΡΡΠΉ Π·Π°ΠΏΡΡΠΊΠ°Π΅ΡΡΡ Ρ Π½Π°Ρ Π²Π½ΡΡΡΠΈ ΠΊΠ»Π°ΡΡΠ΅ΡΠ° Kubernetes. ΠΠ»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ ΠΎΠ½ Π½Π°ΡΠ°Π» ΡΠΎΠ±ΠΈΡΠ°ΡΡ ΠΌΠ΅ΡΡΠΈΠΊΠΈ Ρ ΡΠΎΠ³ΠΎ ΠΈΠ»ΠΈ ΠΈΠ½ΠΎΠ³ΠΎ ΡΠ΅ΡΠ²ΠΈΡΠ°, Π½Π°ΠΌ Π½ΡΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π² ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΡΠ΅ΡΠ²ΠΈΡΠ° Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠΉ ΡΠΈΠΏ ΡΠ΅ΡΡΡΡΠ°, ΡΠ°ΠΊ Π½Π°Π·ΡΠ²Π°Π΅ΠΌΡΠΉ ΡΠ΅ΡΠ²ΠΈΡ-ΠΌΠΎΠ½ΠΈΡΠΎΡ. Prometheus Π·Π° ΡΡΠ΅Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎ ΡΠΌΠ΅Π΅Ρ Π²ΡΡΠΈΡΡΠ²Π°ΡΡ, Π±ΡΠ΄ΡΡΠΈ Π·Π°ΠΏΡΡΠ΅Π½Π½ΡΠΌ Π² Kubernetes, ΠΊΠ°ΡΡΠΎΠΌΠ½ΡΠΉ ΡΠΈΠΏ ΡΠ΅ΡΡΡΡΠΎΠ², Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ Π½Π°ΡΠΈΠ½Π°Π΅Ρ ΡΠΎΠ±ΠΈΡΠ°ΡΡ ΠΌΠ΅ΡΡΠΈΠΊΠΈ Ρ Π½ΠΎΠ²ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ. ΠΡΠΎ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΡΠ΄ΠΎΠ±Π½ΠΎ.
ΠΠ΅ΡΠ²ΡΠΉ Π΄Π΅ΠΏΠ»ΠΎΠΉ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΡ ΡΠ΄Π΅Π»Π°Π»ΠΈ Π² Kubernetes Π±ΡΠ» Π² ΠΌΠ°ΡΡΠ΅ 2018 Π³ΠΎΠ΄Π°. Π Π·Π° ΡΡΠΎ Π²ΡΠ΅ΠΌΡ ΠΌΡ Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ ΠΈΡΠΏΡΡΡΠ²Π°Π»ΠΈ Ρ Π½ΠΈΠΌ Π½ΠΈΠΊΠ°ΠΊΠΈΡ
ΠΏΡΠΎΠ±Π»Π΅ΠΌ. ΠΠ½ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΡΡΠ°Π±ΠΈΠ»ΡΠ½ΠΎ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π±Π΅Π· ΡΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΡΡ
Π±Π°Π³ΠΎΠ². Π ΡΠΎΠΌΡ ΠΆΠ΅, ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ Π΅Π³ΠΎ Π΄Π°Π»ΡΡΠ΅ ΡΠ°ΡΡΠΈΡΡΡΡ. ΠΠ° ΡΠ΅Π³ΠΎΠ΄Π½ΡΡΠ½ΠΈΠΉ Π΄Π΅Π½Ρ Π½Π°ΠΌ Ρ
Π²Π°ΡΠ°Π΅Ρ ΡΠ΅Ρ
Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠ΅ΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅ Π² Π½Π΅ΠΌ Π΅ΡΡΡ, Π° ΡΠ΅ΠΌΠΏΡ ΡΠ°Π·Π²ΠΈΡΠΈΡ Kubernetes Π½Π°ΠΌ ΠΎΡΠ΅Π½Ρ Π½ΡΠ°Π²ΡΡΡΡ. ΠΠ° Π΄Π°Π½Π½ΡΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ Π±ΠΎΠ»ΡΡΠ΅ 3000 ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΎΠ² Π½Π°Ρ
ΠΎΠ΄ΡΡΡΡ Π² Kubernetes. ΠΠ»Π°ΡΡΠ΅Ρ Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Node. ΠΡΠΈ ΡΡΠΎΠΌ ΠΎΠ½ ΠΎΠ±ΡΠ»ΡΠΆΠΈΠ²Π°Π΅ΠΌΡΠΉ, ΡΡΠ°Π±ΠΈΠ»ΡΠ½ΡΠΉ ΠΈ ΠΎΡΠ΅Π½Ρ ΠΊΠΎΠ½ΡΡΠΎΠ»ΠΈΡΡΠ΅ΠΌΡΠΉ.
ΠΡΡΠΎΡΠ½ΠΈΠΊ: habr.com