ΠΠΈΠ΅ Π²ΠΎ True Engineering ΠΏΠΎΡΡΠ°Π²ΠΈΠ²ΠΌΠ΅ ΠΏΡΠΎΡΠ΅Ρ Π·Π° ΠΊΠΎΠ½ΡΠΈΠ½ΡΠΈΡΠ°Π½Π° ΠΈΡΠΏΠΎΡΠ°ΠΊΠ° Π½Π° Π°ΠΆΡΡΠΈΡΠ°ΡΠ° Π΄ΠΎ ΡΠ΅ΡΠ²Π΅ΡΠΈΡΠ΅ Π½Π° ΠΊΠ»ΠΈΠ΅Π½ΡΠΈΡΠ΅ ΠΈ ΡΠ°ΠΊΠ°ΠΌΠ΅ Π΄Π° Π³ΠΎ ΡΠΏΠΎΠ΄Π΅Π»ΠΈΠΌΠ΅ ΠΎΠ²Π° ΠΈΡΠΊΡΡΡΠ²ΠΎ.
ΠΠ° ΠΏΠΎΡΠ΅ΡΠΎΠΊ, ΡΠ°Π·Π²ΠΈΠ²ΠΌΠ΅ ΠΎΠ½Π»Π°ΡΠ½ ΡΠΈΡΡΠ΅ΠΌ Π·Π° ΠΊΠ»ΠΈΠ΅Π½ΡΠΎΡ ΠΈ Π³ΠΎ ΡΠ°ΡΠΏΠΎΡΠ΅Π΄ΠΈΠ²ΠΌΠ΅ Π²ΠΎ Π½Π°ΡΠΈΠΎΡ ΡΠΎΠΏΡΡΠ²Π΅Π½ ΠΊΠ»Π°ΡΡΠ΅Ρ Kubernetes. Π‘Π΅Π³Π° Π½Π°ΡΠ΅ΡΠΎ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΡΠΎ Π³ΠΎΠ»Π΅ΠΌΠΎ ΠΎΠΏΡΠΎΠ²Π°ΡΡΠ²Π°ΡΠ΅ ΡΠ΅ ΠΏΡΠ΅ΡΠ΅Π»ΠΈ Π½Π° ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°ΡΠ° Π½Π° ΠΊΠ»ΠΈΠ΅Π½ΡΠΎΡ, Π·Π° ΡΡΠΎ ΠΏΠΎΡΡΠ°Π²ΠΈΠ²ΠΌΠ΅ ΡΠ΅Π»ΠΎΡΠ½ΠΎ Π°Π²ΡΠΎΠΌΠ°ΡΡΠΊΠΈ ΠΏΡΠΎΡΠ΅Ρ Π½Π° ΠΊΠΎΠ½ΡΠΈΠ½ΡΠΈΡΠ°Π½ΠΎ ΡΠ°ΡΠΏΠΎΡΠ΅Π΄ΡΠ²Π°ΡΠ΅. ΠΠ»Π°Π³ΠΎΠ΄Π°ΡΠ΅Π½ΠΈΠ΅ Π½Π° ΠΎΠ²Π°, Π³ΠΎ Π·Π°Π±ΡΠ·Π°Π²ΠΌΠ΅ Π²ΡΠ΅ΠΌΠ΅ΡΠΎ Π΄ΠΎ ΠΏΠ°Π·Π°Ρ - ΠΈΡΠΏΠΎΡΠ°ΠΊΠ°ΡΠ° Π½Π° ΠΏΡΠΎΠΌΠ΅Π½ΠΈ Π²ΠΎ ΠΎΠΊΠΎΠ»ΠΈΠ½Π°ΡΠ° Π½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΎΡ.
ΠΠΎ ΠΎΠ²Π°Π° ΡΡΠ°ΡΠΈΡΠ° ΡΠ΅ Π·Π±ΠΎΡΡΠ²Π°ΠΌΠ΅ Π·Π° ΡΠΈΡΠ΅ ΡΠ°Π·ΠΈ Π½Π° ΠΏΡΠΎΡΠ΅ΡΠΎΡ Π½Π° ΠΊΠΎΠ½ΡΠΈΠ½ΡΠΈΡΠ°Π½ΠΎ ΡΠ°ΡΠΏΠΎΡΠ΅Π΄ΡΠ²Π°ΡΠ΅ (Π¦Π) ΠΈΠ»ΠΈ ΠΈΡΠΏΠΎΡΠ°ΠΊΠ° Π½Π° Π°ΠΆΡΡΠΈΡΠ°ΡΠ° Π½Π° ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°ΡΠ° Π½Π° ΠΊΠ»ΠΈΠ΅Π½ΡΠΎΡ:
- ΠΠ°ΠΊΠΎ Π·Π°ΠΏΠΎΡΠ½ΡΠ²Π° ΠΎΠ²ΠΎΡ ΠΏΡΠΎΡΠ΅Ρ?
- ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·Π°ΡΠΈΡΠ° ΡΠΎ ΡΠΊΠ»Π°Π΄ΠΈΡΡΠ΅ΡΠΎ Git Π½Π° ΠΊΠ»ΠΈΠ΅Π½ΡΠΎΡ,
- ΡΠΊΠ»ΠΎΠΏΡΠ²Π°ΡΠ΅ Π½Π° Π·Π°Π΄Π½ΠΈΠΎΡ Π΄Π΅Π» ΠΈ ΠΏΡΠ΅Π΄Π½ΠΈΠΎΡ Π΄Π΅Π»,
- Π°Π²ΡΠΎΠΌΠ°ΡΡΠΊΠΎ ΡΠ°ΡΠΏΠΎΡΠ΅Π΄ΡΠ²Π°ΡΠ΅ Π½Π° Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΠΈ Π²ΠΎ ΡΠ΅ΡΡ ΡΡΠ΅Π΄ΠΈΠ½Π°,
- Π°Π²ΡΠΎΠΌΠ°ΡΡΠΊΠΎ ΡΠ°ΡΠΏΠΎΡΠ΅Π΄ΡΠ²Π°ΡΠ΅ Π½Π° ΠΡΠΎΠ΄.
ΠΠΎΠΏΠ°ΡΠ½ΠΎ ΡΠ΅ Π³ΠΈ ΡΠΏΠΎΠ΄Π΅Π»ΠΈΠΌΠ΅ Π΄Π΅ΡΠ°Π»ΠΈΡΠ΅ Π·Π° ΠΏΠΎΡΡΠ°Π²ΡΠ²Π°ΡΠ΅ΡΠΎ.
1. Π‘ΡΠ°ΡΡΡΠ²Π°ΡΡΠ΅ Π³ΠΎ Π¦Π-ΡΠΎ
ΠΠΎΠ½ΡΠΈΠ½ΡΠΈΡΠ°Π½ΠΎΡΠΎ ΡΠ°ΡΠΏΠΎΡΠ΅Π΄ΡΠ²Π°ΡΠ΅ Π·Π°ΠΏΠΎΡΠ½ΡΠ²Π° ΡΠΎ ΡΠΎΠ° ΡΡΠΎ ΡΠ°Π·Π²ΠΈΠ²Π°ΡΠΎΡ Π³ΠΈ ΡΡΡΠΊΠ° ΠΏΡΠΎΠΌΠ΅Π½ΠΈΡΠ΅ Π²ΠΎ Π³ΡΠ°Π½ΠΊΠ°ΡΠ° Π·Π° ΠΈΠ·Π΄Π°Π²Π°ΡΠ΅ Π½Π° Π½Π°ΡΠ΅ΡΠΎ ΡΠΊΠ»Π°Π΄ΠΈΡΡΠ΅ Git.
ΠΠ°ΡΠ°ΡΠ° Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡΠ° ΡΠ°Π±ΠΎΡΠΈ Π½Π° ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ° ΠΈ ΡΠΈΡΠ΅ Π½Π΅ΡΠ·ΠΈΠ½ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΈ ΡΠ΅ ΡΠΊΠ»Π°Π΄ΠΈΡΠ°Π½ΠΈ Π²ΠΎ Π΅Π΄Π½ΠΎ ΡΠΊΠ»Π°Π΄ΠΈΡΡΠ΅. ΠΠ»Π°Π³ΠΎΠ΄Π°ΡΠ΅Π½ΠΈΠ΅ Π½Π° ΠΎΠ²Π°, ΡΠΈΡΠ΅ ΠΌΠΈΠΊΡΠΎΡΡΠ»ΡΠ³ΠΈ ΡΠ΅ ΡΠΎΠ±ΠΈΡΠ°Π°Ρ ΠΈ ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°Π°Ρ, Π΄ΡΡΠΈ ΠΈ Π°ΠΊΠΎ Π΅Π΄Π΅Π½ ΠΎΠ΄ Π½ΠΈΠ² Π΅ ΠΏΡΠΎΠΌΠ΅Π½Π΅Ρ.
ΠΡΠ³Π°Π½ΠΈΠ·ΠΈΡΠ°Π²ΠΌΠ΅ ΡΠ°Π±ΠΎΡΠ° ΠΏΡΠ΅ΠΊΡ Π΅Π΄Π½ΠΎ ΡΠΊΠ»Π°Π΄ΠΈΡΡΠ΅ ΠΎΠ΄ Π½Π΅ΠΊΠΎΠ»ΠΊΡ ΠΏΡΠΈΡΠΈΠ½ΠΈ:
- ΠΠ΅ΡΠ½ΠΎΡΠΈΡΠ° Π½Π° ΡΠ°Π·Π²ΠΎΡ - Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡΠ°ΡΠ° Π°ΠΊΡΠΈΠ²Π½ΠΎ ΡΠ΅ ΡΠ°Π·Π²ΠΈΠ²Π°, ΡΠ°ΠΊΠ° ΡΡΠΎ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΡΠ°Π±ΠΎΡΠΈΡΠ΅ ΡΠΎ ΡΠ΅Π»ΠΈΠΎΡ ΠΊΠΎΠ΄ ΠΎΠ΄Π΅Π΄Π½Π°Ρ.
- ΠΠ΄ΠΈΠ½ΡΡΠ²Π΅Π½ CI/CD Π³Π°ΡΠΎΠ²ΠΎΠ΄ ΠΊΠΎΡ Π³Π°ΡΠ°Π½ΡΠΈΡΠ° Π΄Π΅ΠΊΠ° Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡΠ°ΡΠ° ΠΊΠ°ΠΊΠΎ Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½ ΡΠΈΡΡΠ΅ΠΌ Π³ΠΈ ΠΏΠΎΠΌΠΈΠ½ΡΠ²Π° ΡΠΈΡΠ΅ ΡΠ΅ΡΡΠΎΠ²ΠΈ ΠΈ ΡΠ΅ Π΄ΠΎΡΡΠ°Π²ΡΠ²Π° Π΄ΠΎ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄Π½Π°ΡΠ° ΡΡΠ΅Π΄ΠΈΠ½Π° Π½Π° ΠΊΠ»ΠΈΠ΅Π½ΡΠΎΡ.
- ΠΠ° Π΅Π»ΠΈΠΌΠΈΠ½ΠΈΡΠ°ΠΌΠ΅ ΠΊΠΎΠ½ΡΡΠ·ΠΈΡΠ°ΡΠ° Π²ΠΎ Π²Π΅ΡΠ·ΠΈΠΈΡΠ΅ - Π½Π΅ ΠΌΠΎΡΠ°ΠΌΠ΅ Π΄Π° ΡΠΊΠ»Π°Π΄ΠΈΡΠ°ΠΌΠ΅ ΠΌΠ°ΠΏΠ° Π½Π° Π²Π΅ΡΠ·ΠΈΠΈ Π½Π° ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡ ΠΈ Π΄Π° ΡΠ° ΠΎΠΏΠΈΡΡΠ²Π°ΠΌΠ΅ Π½Π΅ΡΠ·ΠΈΠ½Π°ΡΠ° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡΠ° Π·Π° ΡΠ΅ΠΊΠΎΡΠ° ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡ Π²ΠΎ ΡΠΊΡΠΈΠΏΡΠΈΡΠ΅ Π½Π° Helm.
2. Π‘ΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·Π°ΡΠΈΡΠ° ΡΠΎ ΡΠΊΠ»Π°Π΄ΠΈΡΡΠ΅ΡΠΎ Git Π½Π° ΠΈΠ·Π²ΠΎΡΠ½ΠΈΠΎΡ ΠΊΠΎΠ΄ Π½Π° ΠΊΠ»ΠΈΠ΅Π½ΡΠΎΡ
ΠΠ°ΠΏΡΠ°Π²Π΅Π½ΠΈΡΠ΅ ΠΏΡΠΎΠΌΠ΅Π½ΠΈ Π°Π²ΡΠΎΠΌΠ°ΡΡΠΊΠΈ ΡΠ΅ ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·ΠΈΡΠ°Π°Ρ ΡΠΎ ΡΠΊΠ»Π°Π΄ΠΈΡΡΠ΅ΡΠΎ Git Π½Π° ΠΊΠ»ΠΈΠ΅Π½ΡΠΎΡ. Π’Π°ΠΌΡ Π΅ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠ°Π½ ΡΠΊΠ»ΠΎΠΏΠΎΡ Π½Π° Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡΠ°ΡΠ°, ΠΊΠΎΡ ΡΠ΅ ΡΡΠ°ΡΡΡΠ²Π° ΠΏΠΎ Π°ΠΆΡΡΠΈΡΠ°ΡΠ΅ΡΠΎ Π½Π° ΡΠΈΠ»ΠΈΡΠ°Π»Π°ΡΠ° ΠΈ ΡΠ°ΡΠΏΠΎΡΠ΅Π΄ΡΠ²Π°ΡΠ΅ΡΠΎ Π½Π° ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ. Π Π΄Π²Π°ΡΠ° ΠΏΡΠΎΡΠ΅ΡΠΈ ΠΏΠΎΡΠ΅ΠΊΠ½ΡΠ²Π°Π°Ρ Π²ΠΎ Π½ΠΈΠ²Π½Π°ΡΠ° ΠΎΠΊΠΎΠ»ΠΈΠ½Π° ΠΎΠ΄ ΡΠΊΠ»Π°Π΄ΠΈΡΡΠ΅ΡΠΎ Π½Π° Git.
ΠΠ΅ ΠΌΠΎΠΆΠ΅ΠΌΠ΅ Π΄ΠΈΡΠ΅ΠΊΡΠ½ΠΎ Π΄Π° ΡΠ°Π±ΠΎΡΠΈΠΌΠ΅ ΡΠΎ ΡΠΊΠ»Π°Π΄ΠΈΡΡΠ΅ΡΠΎ Π½Π° ΠΊΠ»ΠΈΠ΅Π½ΡΠΈΡΠ΅ Π·Π°ΡΠΎΠ° ΡΡΠΎ Π½ΠΈ ΡΡΠ΅Π±Π°Π°Ρ ΡΠΎΠΏΡΡΠ²Π΅Π½ΠΈ ΡΡΠ΅Π΄ΠΈΠ½ΠΈ Π·Π° ΡΠ°Π·Π²ΠΎΡ ΠΈ ΡΠ΅ΡΡΠΈΡΠ°ΡΠ΅. ΠΠΈΠ΅ Π³ΠΎ ΠΊΠΎΡΠΈΡΡΠΈΠΌΠ΅ Π½Π°ΡΠ΅ΡΠΎ ΡΠΊΠ»Π°Π΄ΠΈΡΡΠ΅ Git Π·Π° ΠΎΠ²ΠΈΠ΅ ΡΠ΅Π»ΠΈ - ΡΠΎΠ° Π΅ ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·ΠΈΡΠ°Π½ΠΎ ΡΠΎ Π½ΠΈΠ²Π½ΠΎΡΠΎ ΡΠΊΠ»Π°Π΄ΠΈΡΡΠ΅ Git. Π¨ΡΠΎΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ΅Ρ ΡΠ΅ ΠΎΠ±ΡΠ°Π²ΠΈ ΠΏΡΠΎΠΌΠ΅Π½ΠΈ Π²ΠΎ ΡΠΎΠΎΠ΄Π²Π΅ΡΠ½Π°ΡΠ° Π³ΡΠ°Π½ΠΊΠ° Π½Π° Π½Π°ΡΠ΅ΡΠΎ ΡΠΊΠ»Π°Π΄ΠΈΡΡΠ΅, GitLab Π²Π΅Π΄Π½Π°Ρ Π³ΠΈ ΡΡΡΠΊΠ° ΠΎΠ²ΠΈΠ΅ ΠΏΡΠΎΠΌΠ΅Π½ΠΈ Π΄ΠΎ ΠΊΠ»ΠΈΠ΅Π½ΡΠΎΡ.
ΠΠΎ ΠΎΠ²Π° ΡΡΠ΅Π±Π° Π΄Π° Π³ΠΎ Π½Π°ΠΏΡΠ°Π²ΠΈΡΠ΅ ΡΠΎΠ±ΡΠ°Π½ΠΈΠ΅ΡΠΎ. Π‘Π΅ ΡΠΎΡΡΠΎΠΈ ΠΎΠ΄ Π½Π΅ΠΊΠΎΠ»ΠΊΡ ΡΠ°Π·ΠΈ: ΡΠΊΠ»ΠΎΠΏΡΠ²Π°ΡΠ΅ Π½Π° Π·Π°Π΄Π½ΠΈΠΎΡ Π΄Π΅Π» ΠΈ ΠΏΡΠ΅Π΄Π½ΠΈΠΎΡ Π΄Π΅Π», ΡΠ΅ΡΡΠΈΡΠ°ΡΠ΅ ΠΈ ΠΈΡΠΏΠΎΡΠ°ΠΊΠ° Π΄ΠΎ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΠ²ΠΎ.
3. Π‘ΠΊΠ»ΠΎΠΏΡΠ²Π°ΡΠ΅ Π½Π° Π·Π°Π΄Π½ΠΈΠΎΡ Π΄Π΅Π» ΠΈ ΠΏΡΠ΅Π΄Π½ΠΈΠΎΡ Π΄Π΅Π»
ΠΠ·Π³ΡΠ°Π΄Π±Π°ΡΠ° Π½Π° Π·Π°Π΄Π½ΠΈΠΎΡ Π΄Π΅Π» ΠΈ ΠΏΡΠ΅Π΄Π½ΠΈΠΎΡ Π΄Π΅Π» ΡΠ΅ Π΄Π²Π΅ ΠΏΠ°ΡΠ°Π»Π΅Π»Π½ΠΈ Π·Π°Π΄Π°ΡΠΈ ΡΡΠΎ ΡΠ΅ ΠΈΠ·Π²ΡΡΡΠ²Π°Π°Ρ Π²ΠΎ ΡΠΈΡΡΠ΅ΠΌΠΎΡ GitLab Runner. ΠΠ΅Π³ΠΎΠ²Π°ΡΠ° ΠΎΡΠΈΠ³ΠΈΠ½Π°Π»Π½Π° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡΠ° Π½Π° ΡΠΊΠ»ΠΎΠΏΠΎΡ ΡΠ΅ Π½Π°ΠΎΡΠ° Π²ΠΎ ΠΈΡΡΠΎΡΠΎ ΡΠΊΠ»Π°Π΄ΠΈΡΡΠ΅.
GitLab Runner Π³ΠΎ Π·Π΅ΠΌΠ° ΠΊΠΎΠ΄ΠΎΡ ΠΎΠ΄ ΠΏΠΎΡΡΠ΅Π±Π½ΠΎΡΠΎ ΡΠΊΠ»Π°Π΄ΠΈΡΡΠ΅, Π³ΠΎ ΡΠΎΡΡΠ°Π²ΡΠ²Π° ΡΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΡΠ° Π·Π° ΠΈΠ·Π³ΡΠ°Π΄Π±Π° Π½Π° Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡΠ° Java ΠΈ Π³ΠΎ ΠΈΡΠΏΡΠ°ΡΠ° Π²ΠΎ ΡΠ΅Π³ΠΈΡΡΠ°ΡΠΎΡ Docker. ΠΠ²Π΄Π΅ Π³ΠΈ ΡΠΎΠ±ΠΈΡΠ°ΠΌΠ΅ Π·Π°Π΄Π½ΠΈΠ½Π°ΡΠ° ΠΈ ΠΏΡΠ΅Π΄Π½ΠΈΠΎΡ Π΄Π΅Π», Π΄ΠΎΠ±ΠΈΠ²Π°ΠΌΠ΅ ΡΠ»ΠΈΠΊΠΈ ΠΎΠ΄ Docker, ΠΊΠΎΠΈ Π³ΠΈ ΡΡΠ°Π²Π°ΠΌΠ΅ Π²ΠΎ ΡΠΊΠ»Π°Π΄ΠΈΡΡΠ΅ Π½Π° ΡΡΡΠ°Π½Π°ΡΠ° Π½Π° ΠΊΠ»ΠΈΠ΅Π½ΡΠΎΡ. ΠΠ° ΡΠΏΡΠ°Π²ΡΠ²Π°ΡΠ΅ ΡΠΎ Docker ΡΠ»ΠΈΠΊΠΈΡΠ΅ ΡΡΠΎ Π³ΠΈ ΠΊΠΎΡΠΈΡΡΠΈΠΌΠ΅
ΠΠΈ ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·ΠΈΡΠ°ΠΌΠ΅ Π²Π΅ΡΠ·ΠΈΠΈΡΠ΅ Π½Π° Π½Π°ΡΠΈΡΠ΅ ΡΠ»ΠΈΠΊΠΈ ΡΠΎ Π²Π΅ΡΠ·ΠΈΡΠ°ΡΠ° Π·Π° ΠΈΠ·Π΄Π°Π²Π°ΡΠ΅ ΡΡΠΎ ΡΠ΅ Π±ΠΈΠ΄Π΅ ΠΎΠ±ΡΠ°Π²Π΅Π½Π° Π²ΠΎ Docker. ΠΠ° Π½Π΅ΠΏΡΠ΅ΡΠ΅Π½ΠΎ ΡΡΠ½ΠΊΡΠΈΠΎΠ½ΠΈΡΠ°ΡΠ΅, Π½Π°ΠΏΡΠ°Π²ΠΈΠ²ΠΌΠ΅ Π½Π΅ΠΊΠΎΠ»ΠΊΡ ΠΏΡΠΈΠ»Π°Π³ΠΎΠ΄ΡΠ²Π°ΡΠ°:
1. ΠΠΎΠ½ΡΠ΅ΡΠ½Π΅ΡΠΈΡΠ΅ Π½Π΅ ΡΠ΅ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎ ΠΈΠ·Π³ΡΠ°Π΄Π΅Π½ΠΈ ΠΏΠΎΠΌΠ΅ΡΡ ΠΎΠΊΠΎΠ»ΠΈΠ½Π°ΡΠ° Π·Π° ΡΠ΅ΡΡΠΈΡΠ°ΡΠ΅ ΠΈ ΠΎΠΊΠΎΠ»ΠΈΠ½Π°ΡΠ° Π·Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΠ²ΠΎ. ΠΠ°ΠΏΡΠ°Π²ΠΈΠ²ΠΌΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΠ°ΡΠΈΠ·Π°ΡΠΈΠΈ ΡΠ°ΠΊΠ° ΡΡΠΎ ΠΈΡΡΠΈΠΎΡ ΠΊΠΎΠ½ΡΠ΅ΡΠ½Π΅Ρ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ°Π±ΠΎΡΠΈ ΡΠΎ ΡΠΈΡΠ΅ ΠΏΠΎΡΡΠ°Π²ΠΊΠΈ, ΠΏΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈ Π½Π° ΠΆΠΈΠ²ΠΎΡΠ½Π°ΡΠ° ΡΡΠ΅Π΄ΠΈΠ½Π° ΠΈ ΡΡΠ»ΡΠ³ΠΈ ΠΈ Π²ΠΎ ΠΎΠΊΠΎΠ»ΠΈΠ½Π°ΡΠ° Π·Π° ΡΠ΅ΡΡΠΈΡΠ°ΡΠ΅ ΠΈ Π²ΠΎ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΠ²ΠΎΡΠΎ Π±Π΅Π· ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎ Π΄Π° ΡΠ΅ ΠΈΠ·Π³ΡΠ°Π΄ΠΈ.
2. ΠΠ° Π°ΠΆΡΡΠΈΡΠ°ΡΠ΅ Π½Π° Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡΠ° ΠΏΡΠ΅ΠΊΡ Helm, ΠΌΠΎΡΠ° Π΄Π° ΡΠ° Π½Π°Π²Π΅Π΄Π΅ΡΠ΅ Π½Π΅ΡΠ·ΠΈΠ½Π°ΡΠ° Π²Π΅ΡΠ·ΠΈΡΠ°. ΠΠΈΠ΅ Π³ΠΎ Π³ΡΠ°Π΄ΠΈΠΌΠ΅ Π·Π°Π΄Π½ΠΈΠΎΡ Π΄Π΅Π», ΠΏΡΠ΅Π΄Π½ΠΈΠΎΡ Π΄Π΅Π» ΠΈ ΡΠ° Π°ΠΆΡΡΠΈΡΠ°ΠΌΠ΅ Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡΠ°ΡΠ° - ΠΎΠ²Π° ΡΠ΅ ΡΡΠΈ ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ Π·Π°Π΄Π°ΡΠΈ, ΠΏΠ° Π·Π°ΡΠΎΠ° Π΅ Π²Π°ΠΆΠ½ΠΎ Π΄Π° ΡΠ΅ ΠΊΠΎΡΠΈΡΡΠΈ ΠΈΡΡΠ°ΡΠ° Π²Π΅ΡΠ·ΠΈΡΠ° Π½Π° Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡΠ°ΡΠ° Π½Π°ΡΠ΅ΠΊΠ°Π΄Π΅. ΠΠ° ΠΎΠ²Π°Π° Π·Π°Π΄Π°ΡΠ°, ΠΊΠΎΡΠΈΡΡΠΈΠΌΠ΅ ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ ΠΎΠ΄ ΠΈΡΡΠΎΡΠΈΡΠ°ΡΠ° Π½Π° Git, Π±ΠΈΠ΄Π΅ΡΡΠΈ Π½Π°ΡΠ°ΡΠ° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡΠ° ΠΈ Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΠΈΡΠ΅ Π½Π° ΠΊΠ»Π°ΡΡΠ΅ΡΠΎΡ K8S ΡΠ΅ Π²ΠΎ ΠΈΡΡΠΎΡΠΎ ΡΠΊΠ»Π°Π΄ΠΈΡΡΠ΅ Π½Π° Git.
ΠΠ° Π΄ΠΎΠ±ΠΈΠ²Π°ΠΌΠ΅ Π²Π΅ΡΠ·ΠΈΡΠ°ΡΠ° Π½Π° Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡΠ°ΡΠ° ΠΎΠ΄ ΡΠ΅Π·ΡΠ»ΡΠ°ΡΠΈΡΠ΅ ΠΎΠ΄ ΠΈΠ·Π²ΡΡΡΠ²Π°ΡΠ΅ΡΠΎ Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π°ΡΠ°
git describe --tags --abbrev=7
.
4. ΠΠ²ΡΠΎΠΌΠ°ΡΡΠΊΠΎ ΡΠ°ΡΠΏΠΎΡΠ΅Π΄ΡΠ²Π°ΡΠ΅ Π½Π° ΡΠΈΡΠ΅ ΠΏΡΠΎΠΌΠ΅Π½ΠΈ Π²ΠΎ ΠΎΠΊΠΎΠ»ΠΈΠ½Π°ΡΠ° Π·Π° ΡΠ΅ΡΡΠΈΡΠ°ΡΠ΅ (UAT)
Π‘Π»Π΅Π΄Π½ΠΈΠΎΡ ΡΠ΅ΠΊΠΎΡ Π²ΠΎ ΠΎΠ²Π°Π° Π³ΡΠ°Π΄Π±Π° ΡΠΊΡΠΈΠΏΡΠ° Π΅ Π°Π²ΡΠΎΠΌΠ°ΡΡΠΊΠΎ Π°ΠΆΡΡΠΈΡΠ°ΡΠ΅ Π½Π° ΠΊΠ»Π°ΡΡΠ΅ΡΠΎΡ K8S. ΠΠ²Π° ΡΠ΅ ΡΠ»ΡΡΡΠ²Π° Π΄ΠΎΠΊΠΎΠ»ΠΊΡ ΡΠ΅Π»Π°ΡΠ° Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡΠ° Π΅ ΠΈΠ·Π³ΡΠ°Π΄Π΅Π½Π° ΠΈ ΡΠΈΡΠ΅ Π°ΡΡΠ΅ΡΠ°ΠΊΡΠΈ ΡΠ΅ ΠΎΠ±ΡΠ°Π²Π΅Π½ΠΈ Π²ΠΎ Docker Registry. ΠΠΎΡΠ»Π΅ ΠΎΠ²Π°, Π·Π°ΠΏΠΎΡΠ½ΡΠ²Π° Π°ΠΆΡΡΠΈΡΠ°ΡΠ΅ΡΠΎ Π½Π° ΠΎΠΊΠΎΠ»ΠΈΠ½Π°ΡΠ° Π·Π° ΡΠ΅ΡΡΠΈΡΠ°ΡΠ΅.
ΠΠΆΡΡΠΈΡΠ°ΡΠ΅ΡΠΎ Π½Π° ΠΊΠ»Π°ΡΡΠ΅ΡΠΎΡ Π·Π°ΠΏΠΎΡΠ½Π° Π΄Π° ΡΠ΅ ΠΊΠΎΡΠΈΡΡΠΈ
ΠΠΈΠ΅ ΡΠ° ΡΠ½Π°Π±Π΄ΡΠ²Π°ΠΌΠ΅ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡΠ°ΡΠ° Π½Π° ΠΊΠ»Π°ΡΡΠ΅ΡΠΎΡ K8S Π·Π°Π΅Π΄Π½ΠΎ ΡΠΎ ΡΠΊΠ»ΠΎΠΏΠΎΡ. ΠΠ°ΡΠΎΠ°, ΡΠ»Π΅Π΄Π½ΠΈΠΎΡ ΡΠ΅ΠΊΠΎΡ Π΅ Π΄Π° Π³ΠΎ Π°ΠΆΡΡΠΈΡΠ°ΡΠ΅: configMaps, ΡΠ°ΡΠΏΠΎΡΠ΅Π΄ΡΠ²Π°ΡΠ°, ΡΡΠ»ΡΠ³ΠΈ, ΡΠ°ΡΠ½ΠΈ ΠΈ ΡΠΈΡΠ΅ Π΄ΡΡΠ³ΠΈ K8S ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ ΡΡΠΎ ΡΠΌΠ΅ Π³ΠΈ ΠΏΡΠΎΠΌΠ΅Π½ΠΈΠ»Π΅.
Helm ΠΏΠΎΡΠΎΠ° ΠΈΠ·Π²ΡΡΡΠ²Π° Π°ΠΆΡΡΠΈΡΠ°ΡΠ΅ RollOut Π½Π° ΡΠ°ΠΌΠ°ΡΠ° Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡΠ° Π²ΠΎ ΠΎΠΊΠΎΠ»ΠΈΠ½Π°ΡΠ° Π·Π° ΡΠ΅ΡΡΠΈΡΠ°ΡΠ΅. ΠΡΠ΅Π΄ Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡΠ°ΡΠ° Π΄Π° Π±ΠΈΠ΄Π΅ ΡΠ°ΡΠΏΠΎΡΠ΅Π΄Π΅Π½Π° Π²ΠΎ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΠ²ΠΎ. ΠΠ²Π° Π΅ Π½Π°ΠΏΡΠ°Π²Π΅Π½ΠΎ ΡΠ°ΠΊΠ° ΡΡΠΎ ΠΊΠΎΡΠΈΡΠ½ΠΈΡΠΈΡΠ΅ ΠΌΠΎΠΆΠ°Ρ ΡΠ°ΡΠ½ΠΎ Π΄Π° Π³ΠΈ ΡΠ΅ΡΡΠΈΡΠ°Π°Ρ Π΄Π΅Π»ΠΎΠ²Π½ΠΈΡΠ΅ ΠΊΠ°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈ ΡΡΠΎ Π³ΠΈ ΡΡΠ°Π²Π°ΠΌΠ΅ Π²ΠΎ ΠΎΠΊΠΎΠ»ΠΈΠ½Π°ΡΠ° Π·Π° ΡΠ΅ΡΡΠΈΡΠ°ΡΠ΅.
5. ΠΠ²ΡΠΎΠΌΠ°ΡΡΠΊΠΎ ΡΠ°ΡΠΏΠΎΡΠ΅Π΄ΡΠ²Π°ΡΠ΅ Π½Π° ΡΠΈΡΠ΅ ΠΏΡΠΎΠΌΠ΅Π½ΠΈ Π²ΠΎ ΠΡΠΎΠ΄
ΠΠ° Π΄Π° ΠΏΠΎΡΡΠ°Π²ΠΈΡΠ΅ Π°ΠΆΡΡΠΈΡΠ°ΡΠ΅ Π²ΠΎ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΠ²Π΅Π½Π°ΡΠ° ΡΡΠ΅Π΄ΠΈΠ½Π°, ΡΠ°ΠΌΠΎ ΡΡΠ΅Π±Π° Π΄Π° ΠΊΠ»ΠΈΠΊΠ½Π΅ΡΠ΅ Π½Π° Π΅Π΄Π½ΠΎ ΠΊΠΎΠΏΡΠ΅ Π²ΠΎ GitLab - ΠΈ ΠΊΠΎΠ½ΡΠ΅ΡΠ½Π΅ΡΠΈΡΠ΅ Π²Π΅Π΄Π½Π°Ρ ΡΠ΅ Π΄ΠΎΡΡΠ°Π²ΡΠ²Π°Π°Ρ Π΄ΠΎ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄Π½Π°ΡΠ° ΡΡΠ΅Π΄ΠΈΠ½Π°.
ΠΡΡΠ°ΡΠ° Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡΠ° ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ°Π±ΠΎΡΠΈ Π²ΠΎ ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΡΡΠ΅Π΄ΠΈΠ½ΠΈ - ΡΠ΅ΡΡΠΈΡΠ°ΡΠ΅ ΠΈ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΠ²ΠΎ - Π±Π΅Π· ΠΎΠ±Π½ΠΎΠ²Π°. ΠΠΈ ΠΊΠΎΡΠΈΡΡΠΈΠΌΠ΅ ΠΈΡΡΠΈΡΠ΅ Π°ΡΡΠ΅ΡΠ°ΠΊΡΠΈ Π±Π΅Π· Π΄Π° ΠΌΠ΅Π½ΡΠ²Π°ΠΌΠ΅ Π½ΠΈΡΡΠΎ Π²ΠΎ Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡΠ°ΡΠ°, Π° ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΈΡΠ΅ Π³ΠΈ ΠΏΠΎΡΡΠ°Π²ΡΠ²Π°ΠΌΠ΅ Π½Π°Π΄Π²ΠΎΡΠ΅ΡΠ½ΠΎ.
Π€Π»Π΅ΠΊΡΠΈΠ±ΠΈΠ»Π½Π°ΡΠ° ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΈΠ·Π°ΡΠΈΡΠ° Π½Π° ΠΏΠΎΡΡΠ°Π²ΠΊΠΈΡΠ΅ Π½Π° Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡΠ°ΡΠ° Π·Π°Π²ΠΈΡΠΈ ΠΎΠ΄ ΠΎΠΊΠΎΠ»ΠΈΠ½Π°ΡΠ° Π²ΠΎ ΠΊΠΎΡΠ° ΡΠ΅ ΡΠ΅ ΠΈΠ·Π²ΡΡΡΠ²Π° Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡΠ°ΡΠ°. ΠΠΈ ΠΏΡΠ΅ΠΌΠ΅ΡΡΠΈΠ²ΠΌΠ΅ ΡΠΈΡΠ΅ ΠΏΠΎΡΡΠ°Π²ΠΊΠΈ Π½Π° ΠΎΠΊΠΎΠ»ΠΈΠ½Π°ΡΠ° Π½Π°Π΄Π²ΠΎΡΠ΅ΡΠ½ΠΎ: ΡΓ¨ Π΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΈΠΈΠ·ΠΈΡΠ°Π½ΠΎ ΠΏΡΠ΅ΠΊΡ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡΠ°ΡΠ° K8S ΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΈΡΠ΅ Π½Π° Helm. ΠΠΎΠ³Π° Helm ΡΠ°ΡΠΏΠΎΡΠ΅Π΄ΡΠ²Π° ΡΠΊΠ»ΠΎΠΏ Π²ΠΎ ΠΎΠΊΠΎΠ»ΠΈΠ½Π°ΡΠ° Π·Π° ΡΠ΅ΡΡΠΈΡΠ°ΡΠ΅, ΠΏΠΎΡΡΠ°Π²ΠΊΠΈΡΠ΅ Π·Π° ΡΠ΅ΡΡΠΈΡΠ°ΡΠ΅ ΡΠ΅ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ²Π°Π°Ρ Π½Π° Π½Π΅Π³ΠΎ, Π° ΠΏΠΎΡΡΠ°Π²ΠΊΠΈΡΠ΅ Π½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΎΡ ΡΠ΅ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ²Π°Π°Ρ Π½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄Π½Π°ΡΠ° ΡΡΠ΅Π΄ΠΈΠ½Π°.
ΠΠ°ΡΡΠ΅ΡΠΊΠΎ Π±Π΅ΡΠ΅ Π΄Π° ΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΈΠ·ΠΈΡΠ°Π°Ρ ΡΠΈΡΠ΅ ΠΊΠΎΡΠΈΡΡΠ΅Π½ΠΈ ΡΡΠ»ΡΠ³ΠΈ ΠΈ ΠΏΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈ ΠΊΠΎΠΈ Π·Π°Π²ΠΈΡΠ°Ρ ΠΎΠ΄ ΠΎΠΊΠΎΠ»ΠΈΠ½Π°ΡΠ° ΠΈ Π΄Π° ΡΠ΅ ΠΏΡΠ΅Π²Π΅Π΄Π°Ρ Π²ΠΎ ΠΏΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈ Π½Π° ΠΎΠΊΠΎΠ»ΠΈΠ½Π°ΡΠ° ΠΈ ΠΎΠΏΠΈΡ-ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ Π½Π° ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΈΡΠ΅ Π½Π° ΠΎΠΊΠΎΠ»ΠΈΠ½Π°ΡΠ° Π·Π° Helm.
ΠΠΎΡΡΠ°Π²ΠΊΠΈΡΠ΅ Π½Π° Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡΠ°ΡΠ° ΠΊΠΎΡΠΈΡΡΠ°Ρ ΠΏΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈ Π½Π° ΠΎΠΊΠΎΠ»ΠΈΠ½Π°ΡΠ°. ΠΠΈΠ²Π½ΠΈΡΠ΅ Π²ΡΠ΅Π΄Π½ΠΎΡΡΠΈ ΡΠ΅ ΠΏΠΎΡΡΠ°Π²Π΅Π½ΠΈ Π²ΠΎ ΠΊΠΎΠ½ΡΠ΅ΡΠ½Π΅ΡΠΈ ΡΠΎ ΠΏΠΎΠΌΠΎΡ Π½Π° K8S configmap, ΠΊΠΎΡΠ° Π΅ ΡΠ°Π±Π»ΠΎΠ½ΠΈΡΠ°Π½Π° ΡΠΎ ΠΊΠΎΡΠΈΡΡΠ΅ΡΠ΅ Π½Π° ΡΠ°Π±Π»ΠΎΠ½ΠΈ Go. ΠΠ° ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΠΎΡΡΠ°Π²ΡΠ²Π°ΡΠ΅ΡΠΎ ΠΏΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²Π° Π½Π° ΠΎΠΊΠΎΠ»ΠΈΠ½Π°ΡΠ° Π½Π° ΠΈΠΌΠ΅ΡΠΎ Π½Π° Π΄ΠΎΠΌΠ΅Π½ΠΎΡ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ Π½Π°ΠΏΡΠ°Π²ΠΈ Π²Π°ΠΊΠ°:
APP_EXTERNAL_DOMAIN: {{ (pluck .Values.global.env .Values.app.properties.app_external_domain | first) }}
.ΠΡΠ΅Π΄Π½ΠΎΡΡΠΈ.Π³Π»ΠΎΠ±Π°Π»Π½ΠΈ.env β ΠΎΠ²Π°Π° ΠΏΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²Π° Π³ΠΎ ΡΠΊΠ»Π°Π΄ΠΈΡΠ° ΠΈΠΌΠ΅ΡΠΎ Π½Π° ΠΎΠΊΠΎΠ»ΠΈΠ½Π°ΡΠ° (prod, stage, UAT).
.Values.app.properties.app_external_domain β Π²ΠΎ ΠΎΠ²Π°Π° ΠΏΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²Π° Π³ΠΎ ΠΏΠΎΡΡΠ°Π²ΡΠ²Π°ΠΌΠ΅ ΡΠ°ΠΊΠ°Π½ΠΈΠΎΡ Π΄ΠΎΠΌΠ΅Π½ Π²ΠΎ Π΄Π°ΡΠΎΡΠ΅ΠΊΠ°ΡΠ° .Values.yaml
ΠΠΎΠ³Π° Π°ΠΆΡΡΠΈΡΠ° Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡΠ°, Helm ΡΠΎΠ·Π΄Π°Π²Π° Π΄Π°ΡΠΎΡΠ΅ΠΊΠ° configmap.yaml ΠΎΠ΄ ΡΠ°Π±Π»ΠΎΠ½ΠΈ ΠΈ ΡΠ° ΠΏΠΎΠΏΠΎΠ»Π½ΡΠ²Π° Π²ΡΠ΅Π΄Π½ΠΎΡΡΠ° APP_EXTERNAL_DOMAIN ΡΠΎ ΡΠ°ΠΊΠ°Π½Π°ΡΠ° Π²ΡΠ΅Π΄Π½ΠΎΡΡ Π²ΠΎ Π·Π°Π²ΠΈΡΠ½ΠΎΡΡ ΠΎΠ΄ ΠΎΠΊΠΎΠ»ΠΈΠ½Π°ΡΠ° Π²ΠΎ ΠΊΠΎΡΠ° Π·Π°ΠΏΠΎΡΠ½ΡΠ²Π° Π°ΠΆΡΡΠΈΡΠ°ΡΠ΅ΡΠΎ Π½Π° Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡΠ°ΡΠ°. ΠΠ²Π°Π° ΠΏΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²Π° Π΅ Π²Π΅ΡΠ΅ ΠΏΠΎΡΡΠ°Π²Π΅Π½Π° Π²ΠΎ ΠΊΠΎΠ½ΡΠ΅ΡΠ½Π΅ΡΠΎΡ. ΠΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΏΡΠΈΡΡΠ°ΠΏΠΈ ΠΎΠ΄ Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡΠ°ΡΠ°, ΡΠ°ΠΊΠ° ΡΡΠΎ ΡΠ΅ΠΊΠΎΡΠ° ΠΎΠΊΠΎΠ»ΠΈΠ½Π° Π½Π° Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡΠ°ΡΠ° ΡΠ΅ ΠΈΠΌΠ° ΡΠ°Π·Π»ΠΈΡΠ½Π° Π²ΡΠ΅Π΄Π½ΠΎΡΡ Π·Π° ΠΎΠ²Π°Π° ΠΏΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²Π°.
Π Π΅Π»Π°ΡΠΈΠ²Π½ΠΎ Π½Π΅ΠΎΠ΄Π°ΠΌΠ½Π°, ΠΏΠΎΠ΄Π΄ΡΡΠΊΠ°ΡΠ° Π·Π° K8S ΡΠ΅ ΠΏΠΎΡΠ°Π²ΠΈ Π²ΠΎ Spring Cloud, Π²ΠΊΠ»ΡΡΡΠ²Π°ΡΡΠΈ ΡΠ°Π±ΠΎΡΠ° ΡΠΎ configMaps:
ΠΠΎ Π²ΠΊΡΠΏΠ΅Π½
ΠΠ½Π°ΡΠΈ, ΠΠΎΠ½ΡΠΈΠ½ΡΠΈΡΠ°Π½ΠΎΡΠΎ ΡΠ°ΡΠΏΠΎΡΠ΅Π΄ΡΠ²Π°ΡΠ΅ Π΅ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠ°Π½ΠΎ ΠΈ ΡΠ°Π±ΠΎΡΠΈ. Π‘ΠΈΡΠ΅ Π°ΠΆΡΡΠΈΡΠ°ΡΠ° ΡΠ΅ ΡΠ»ΡΡΡΠ²Π°Π°Ρ ΡΠΎ Π΅Π΄Π½ΠΎ ΠΏΡΠΈΡΠΈΡΠΊΠ°ΡΠ΅ Π½Π° ΠΊΠΎΠΏΡΠ΅. ΠΠΎΡΡΠ°Π²ΡΠ²Π°ΡΠ΅ΡΠΎ Π½Π° ΠΏΡΠΎΠΌΠ΅Π½ΠΈΡΠ΅ Π²ΠΎ ΠΎΠΊΠΎΠ»ΠΈΠ½Π°ΡΠ° Π½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΎΡ Π΅ Π°Π²ΡΠΎΠΌΠ°ΡΡΠΊΠΎ. Π, ΡΡΠΎ Π΅ Π½Π°ΡΠ²Π°ΠΆΠ½ΠΎ, Π°ΠΆΡΡΠΈΡΠ°ΡΠ°ΡΠ° Π½Π΅ Π³ΠΎ Π·Π°ΠΏΠΈΡΠ°Π°Ρ ΡΠΈΡΡΠ΅ΠΌΠΎΡ.
ΠΠ΄Π½ΠΈ ΠΏΠ»Π°Π½ΠΎΠ²ΠΈ: Π°Π²ΡΠΎΠΌΠ°ΡΡΠΊΠ° ΠΌΠΈΠ³ΡΠ°ΡΠΈΡΠ° Π½Π° Π±Π°Π·Π°ΡΠ° Π½Π° ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ
Π Π°Π·ΠΌΠΈΡΠ»ΡΠ²Π°Π²ΠΌΠ΅ Π·Π° Π½Π°Π΄Π³ΡΠ°Π΄Π±Π° Π½Π° Π±Π°Π·Π°ΡΠ° Π½Π° ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ ΠΈ ΠΌΠΎΠΆΠ½ΠΎΡΡ Π·Π° Π²ΡΠ°ΡΠ°ΡΠ΅ Π½Π° ΠΎΠ²ΠΈΠ΅ ΠΏΡΠΎΠΌΠ΅Π½ΠΈ. ΠΠ° ΠΊΡΠ°ΡΠΎΡ Π½Π° ΠΊΡΠ°ΠΈΡΡΠ°ΡΠ°, Π΄Π²Π΅ ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ Π²Π΅ΡΠ·ΠΈΠΈ Π½Π° Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡΠ°ΡΠ° ΡΠ°Π±ΠΎΡΠ°Ρ ΠΈΡΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½ΠΎ: ΡΡΠ°ΡΠ°ΡΠ° ΡΠ°Π±ΠΎΡΠΈ, Π° Π½ΠΎΠ²Π°ΡΠ° Π΅ Π²ΠΎ ΡΡΠ½ΠΊΡΠΈΡΠ°. Π ΡΡΠ°ΡΠ°ΡΠ° ΡΠ΅ ΡΠ° ΠΈΡΠΊΠ»ΡΡΠΈΠΌΠ΅ ΡΠ°ΠΌΠΎ ΠΊΠΎΠ³Π° ΡΠ΅ Π±ΠΈΠ΄Π΅ΠΌΠ΅ ΡΠΈΠ³ΡΡΠ½ΠΈ Π΄Π΅ΠΊΠ° Π½ΠΎΠ²Π°ΡΠ° Π²Π΅ΡΠ·ΠΈΡΠ° ΡΠ°Π±ΠΎΡΠΈ. ΠΠΈΠ³ΡΠ°ΡΠΈΡΠ°ΡΠ° Π½Π° Π±Π°Π·Π°ΡΠ° Π½Π° ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ ΡΡΠ΅Π±Π° Π΄Π° Π²ΠΈ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΠΈ Π΄Π° ΡΠ°Π±ΠΎΡΠΈΡΠ΅ ΡΠΎ Π΄Π²Π΅ΡΠ΅ Π²Π΅ΡΠ·ΠΈΠΈ Π½Π° Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡΠ°ΡΠ°.
ΠΠ°ΡΠΎΠ°, Π½Π΅ ΠΌΠΎΠΆΠ΅ΠΌΠ΅ Π΅Π΄Π½ΠΎΡΡΠ°Π²Π½ΠΎ Π΄Π° Π³ΠΎ ΠΏΡΠΎΠΌΠ΅Π½ΠΈΠΌΠ΅ ΠΈΠΌΠ΅ΡΠΎ Π½Π° ΠΊΠΎΠ»ΠΎΠ½Π°ΡΠ° ΠΈΠ»ΠΈ Π΄ΡΡΠ³ΠΈ ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ. ΠΠΎ, ΠΌΠΎΠΆΠ΅ΠΌΠ΅ Π΄Π° ΡΠΎΠ·Π΄Π°Π΄Π΅ΠΌΠ΅ Π½ΠΎΠ²Π° ΠΊΠΎΠ»ΠΎΠ½Π°, Π΄Π° ΠΊΠΎΠΏΠΈΡΠ°ΠΌΠ΅ ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ ΠΎΠ΄ ΡΡΠ°ΡΠ°ΡΠ° ΠΊΠΎΠ»ΠΎΠ½Π° Π²ΠΎ Π½Π΅Π° ΠΈ Π΄Π° Π·Π°ΠΏΠΈΡΠ΅ΠΌΠ΅ ΠΏΡΠ΅Π΄ΠΈΠ·Π²ΠΈΠΊΡΠ²Π°ΡΠΈ ΠΊΠΎΠΈ, ΠΏΡΠΈ Π°ΠΆΡΡΠΈΡΠ°ΡΠ΅ Π½Π° ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈΡΠ΅, ΠΈΡΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½ΠΎ ΡΠ΅ Π³ΠΈ ΠΊΠΎΠΏΠΈΡΠ°Π°Ρ ΠΈ Π°ΠΆΡΡΠΈΡΠ°Π°Ρ Π²ΠΎ Π΄ΡΡΠ³Π° ΠΊΠΎΠ»ΠΎΠ½Π°. Π ΠΏΠΎ ΡΡΠΏΠ΅ΡΠ½ΠΎΡΠΎ ΡΠ°ΡΠΏΠΎΡΠ΅Π΄ΡΠ²Π°ΡΠ΅ Π½Π° Π½ΠΎΠ²Π°ΡΠ° Π²Π΅ΡΠ·ΠΈΡΠ° Π½Π° Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡΠ°ΡΠ°, ΠΏΠΎ ΠΏΠ΅ΡΠΈΠΎΠ΄ΠΎΡ Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΊΠ° ΠΏΠΎ Π»Π°Π½ΡΠΈΡΠ°ΡΠ΅ΡΠΎ, ΡΠ΅ ΠΌΠΎΠΆΠ΅ΠΌΠ΅ Π΄Π° ΡΠ° ΠΈΠ·Π±ΡΠΈΡΠ΅ΠΌΠ΅ ΡΡΠ°ΡΠ°ΡΠ° ΠΊΠΎΠ»ΠΎΠ½Π° ΠΈ Π°ΠΊΡΠΈΠ²ΠΈΡΠ°ΡΠ΅ΡΠΎ ΡΡΠΎ ΡΡΠ°Π½Π° Π½Π΅ΠΏΠΎΡΡΠ΅Π±Π½ΠΎ.
ΠΠΊΠΎ Π½ΠΎΠ²Π°ΡΠ° Π²Π΅ΡΠ·ΠΈΡΠ° Π½Π° Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡΠ°ΡΠ° Π½Π΅ ΡΠ°Π±ΠΎΡΠΈ ΠΏΡΠ°Π²ΠΈΠ»Π½ΠΎ, ΠΌΠΎΠΆΠ΅ΠΌΠ΅ Π΄Π° ΡΠ΅ Π²ΡΠ°ΡΠΈΠΌΠ΅ Π½Π° ΠΏΡΠ΅ΡΡ ΠΎΠ΄Π½Π°ΡΠ° Π²Π΅ΡΠ·ΠΈΡΠ°, Π²ΠΊΠ»ΡΡΡΠ²Π°ΡΡΠΈ ΡΠ° ΠΈ ΠΏΡΠ΅ΡΡ ΠΎΠ΄Π½Π°ΡΠ° Π²Π΅ΡΠ·ΠΈΡΠ° Π½Π° Π±Π°Π·Π°ΡΠ° Π½Π° ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ. ΠΠ°ΠΊΡΠ°ΡΠΊΠΎ, Π½Π°ΡΠΈΡΠ΅ ΠΏΡΠΎΠΌΠ΅Π½ΠΈ ΡΠ΅ Π²ΠΈ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΠ°Ρ Π΄Π° ΡΠ°Π±ΠΎΡΠΈΡΠ΅ ΠΈΡΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½ΠΎ ΡΠΎ Π½Π΅ΠΊΠΎΠ»ΠΊΡ Π²Π΅ΡΠ·ΠΈΠΈ Π½Π° Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡΠ°ΡΠ°.
ΠΠ»Π°Π½ΠΈΡΠ°ΠΌΠ΅ Π΄Π° ΡΠ° Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·ΠΈΡΠ°ΠΌΠ΅ ΠΌΠΈΠ³ΡΠ°ΡΠΈΡΠ°ΡΠ° Π½Π° Π±Π°Π·Π°ΡΠ° Π½Π° ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ ΠΏΡΠ΅ΠΊΡ ΡΠ°Π±ΠΎΡΠ°ΡΠ° K8S, ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΠ°ΡΡΠΈ ΡΠ° Π²ΠΎ ΠΏΡΠΎΡΠ΅ΡΠΎΡ Π½Π° Π¦Π. Π Π½ΠΈΠ΅ Π΄Π΅ΡΠΈΠ½ΠΈΡΠΈΠ²Π½ΠΎ ΡΠ΅ Π³ΠΎ ΡΠΏΠΎΠ΄Π΅Π»ΠΈΠΌΠ΅ ΠΎΠ²Π° ΠΈΡΠΊΡΡΡΠ²ΠΎ Π½Π° Π₯Π°Π±ΡΠ΅.
ΠΠ·Π²ΠΎΡ: www.habr.com