ΠΠ· ΡΠ΅ ΠΊΠ°Π·Π²Π°ΠΌ ΠΠΈΠΊΡΠΎΡ Π―Π³ΠΎΡΠ°ΡΠΎΠ² ΠΈ ΡΠ°Π·Π²ΠΈΠ²Π°ΠΌ Kubernetes ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°ΡΠ° Π² ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΡΡΠ° ΠΠΎΠΌΠΠ»ΠΈΠΊ ΠΊΠ°ΡΠΎ ΡΠ΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠΈ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΠΈΡΠ΅Π» Π½Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ°ΡΠ° Π² Π΅ΠΊΠΈΠΏΠ° Ops (Π΅ΠΊΡΠΏΠ»ΠΎΠ°ΡΠ°ΡΠΈΡ). ΠΡΠΊΠ°ΠΌ Π΄Π° ΡΠ°Π·ΠΊΠ°ΠΆΠ° Π·Π° ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΡΡΠ° Π½Π° Π½Π°ΡΠΈΡΠ΅ ΠΏΡΠΎΡΠ΅ΡΠΈ Dev Ops, ΠΎΡΠΎΠ±Π΅Π½ΠΎΡΡΠΈΡΠ΅ Π½Π° Π΅ΠΊΡΠΏΠ»ΠΎΠ°ΡΠ°ΡΠΈΡΡΠ° Π½Π° Π΅Π΄ΠΈΠ½ ΠΎΡ Π½Π°ΠΉ-Π³ΠΎΠ»Π΅ΠΌΠΈΡΠ΅ k8s ΠΊΠ»ΡΡΡΠ΅ΡΠΈ Π² Π ΡΡΠΈΡ, ΠΊΠ°ΠΊΡΠΎ ΠΈ Π·Π° DevOps/SRE ΠΏΡΠ°ΠΊΡΠΈΠΊΠΈΡΠ΅, ΠΊΠΎΠΈΡΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π½Π°ΡΠΈΡΡ Π΅ΠΊΠΈΠΏ.

ΠΠΊΠΈΠΏΡΡ Ops
Π Π΅ΠΊΠΈΠΏΠ° Ops Π² ΠΌΠΎΠΌΠ΅Π½ΡΠ° ΡΠ°Π±ΠΎΡΡΡ 15 Π΄ΡΡΠΈ. Π’ΡΠΈΠΌΠ°ΡΠ° ΠΎΡ ΡΡΡ ΠΎΡΠ³ΠΎΠ²Π°ΡΡΡ Π·Π° ΠΎΡΠΈΡΠ°, Π΄Π²Π°ΠΌΠ° ΡΠ°Π±ΠΎΡΡΡ Π² Π΄ΡΡΠ³ ΡΠ°ΡΠΎΠ²ΠΈ ΠΏΠΎΡΡ ΠΈ ΡΠ° Π½Π° ΡΠ°Π·ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, Π²ΠΊΠ»ΡΡΠΈΡΠ΅Π»Π½ΠΎ ΠΈ ΠΏΡΠ΅Π· Π½ΠΎΡΡΠ°. Π’Π°ΠΊΠ° Π²ΠΈΠ½Π°Π³ΠΈ Π½ΡΠΊΠΎΠΉ ΠΎΡ Ops Π΅ ΠΏΡΠ΅Π΄ ΠΌΠΎΠ½ΠΈΡΠΎΡΠ° ΠΈ Π΅ Π³ΠΎΡΠΎΠ² Π΄Π° ΡΠ΅Π°Π³ΠΈΡΠ° Π½Π° ΠΈΠ½ΡΠΈΠ΄Π΅Π½Ρ ΠΎΡ Π²ΡΡΠΊΠ°ΠΊΠ²Π° ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ. ΠΡΠΌΠ°ΠΌΠ΅ Π½ΠΎΡΠ½ΠΈ Π΄Π΅ΠΆΡΡΡΡΠ²Π°, ΠΊΠΎΠ΅ΡΠΎ Π·Π°ΠΏΠ°Π·Π²Π° ΠΏΡΠΈΡ ΠΈΠΊΠ°ΡΠ° Π½ΠΈ ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π½Π° Π²ΡΠΈΡΠΊΠΈ Π΄Π° ΡΠ΅ Π½Π°ΡΠΏΠΈΠ²Π°Ρ ΠΈ Π΄Π° ΠΏΡΠ΅ΠΊΠ°ΡΠ²Π°Ρ ΡΠ²ΠΎΠ±ΠΎΠ΄Π½ΠΎΡΠΎ ΡΠΈ Π²ΡΠ΅ΠΌΠ΅, Π° Π½Π΅ ΡΠ°ΠΌΠΎ Π·Π°Π΄ ΠΊΠΎΠΌΠΏΡΡΡΡΠ°.

ΠΠΎΠΌΠΏΠ΅ΡΠ΅Π½ΡΠΈΠΈΡΠ΅ Π½Π° Π²ΡΠΈΡΠΊΠΈ ΡΠ° ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ: ΠΌΡΠ΅ΠΆΠΎΠ²ΠΈ ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΡΡΠΈ, DBA, ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΡΡΠΈ ΠΏΠΎ ELK ΡΡΠ΅ΠΊΠ°, Kubernetes Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΠΈ/ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈ, ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΡΡΠΈ ΠΏΠΎ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³, Π²ΠΈΡΡΡΠ°Π»ΠΈΠ·Π°ΡΠΈΡ, Ρ
Π°ΡΠ΄ΡΠ΅Ρ ΠΈ Ρ.Π½. ΠΠ±Π΅Π΄ΠΈΠ½ΡΠ²Π°ΡΠΎ Π·Π° Π²ΡΠΈΡΠΊΠΈ Π΅, ΡΠ΅ Π²ΡΠ΅ΠΊΠΈ ΠΌΠΎΠΆΠ΅ Π² ΠΈΠ·Π²Π΅ΡΡΠ½Π° ΡΡΠ΅ΠΏΠ΅Π½ Π΄Π° Π·Π°ΠΌΠ΅Π½ΠΈ Π²ΡΠ΅ΠΊΠΈ ΠΎΡ Π½Π°Ρ: Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π΄Π° Π΄ΠΎΠ±Π°Π²ΠΈ Π½ΠΎΠ²ΠΈ Π½ΠΎΠ΄ΠΎΠ²Π΅ Π² k8s ΠΊΠ»ΡΡΡΠ΅ΡΠ°, Π΄Π° ΠΎΠ±Π½ΠΎΠ²ΠΈ PostgreSQL, Π΄Π° Π½Π°ΠΏΠΈΡΠ΅ CI/CD pipeline + Ansible, Π΄Π° Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·ΠΈΡΠ° Π½Π΅ΡΠΎ Ρ Python/Bash/Go, Π΄Π° ΡΠ²ΡΡΠΆΠ΅ Ρ
Π°ΡΠ΄ΡΠ΅Ρ Π² Π¦ΠΠ. Π‘ΠΈΠ»Π½ΠΈΡΠ΅ ΠΊΠΎΠΌΠΏΠ΅ΡΠ΅Π½ΡΠΈΠΈ Π² Π½ΡΠΊΠΎΡ ΠΎΠ±Π»Π°ΡΡ Π½Π΅ ΠΏΡΠ΅ΡΠ°Ρ Π΄Π° ΡΠ΅ ΡΠΌΠ΅Π½ΠΈ ΠΏΠΎΡΠΎΠΊΠ°ΡΠ° Π½Π° ΡΠ°Π±ΠΎΡΠ° ΠΈ Π΄Π° ΡΠ΅ Π·Π°ΠΏΠΎΡΠ½Π΅ Π΄Π° ΡΠ΅ ΡΠ°Π·Π²ΠΈΠ²Π° Π² Π΄ΡΡΠ³Π° ΠΎΠ±Π»Π°ΡΡ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π°Π· ΠΏΠΎΡΡΡΠΏΠΈΡ
Π² ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΡΡΠ° ΠΊΠ°ΡΠΎ ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΡΡ ΠΏΠΎ PostgreSQL, Π° ΡΠ΅Π³Π° ΠΌΠΎΡΡΠ° ΠΎΡΠ½ΠΎΠ²Π½Π° ΠΎΡΠ³ΠΎΠ²ΠΎΡΠ½ΠΎΡΡ Π΅ Kubernetes ΠΊΠ»ΡΡΡΠ΅ΡΠΈ. Π Π΅ΠΊΠΈΠΏΠ° Π²ΡΠ΅ΠΊΠΈ ΡΠ°ΡΡΠ΅ΠΆ Π΅ ΠΏΡΠΈΠ²Π΅ΡΡΡΠ²Π°Π½ ΠΈ ΡΠ°Π·Π²ΠΈΡΠΎ Π΅ ΡΡΠ²ΡΡΠ²ΠΎΡΠΎ Π·Π° Π²Π·Π°ΠΈΠΌΠΎΠΏΠΎΠΌΠΎΡ.
ΠΠ΅ΠΆΠ΄Ρ ΠΏΡΠΎΡΠΈΠΌ, Π½ΠΈΠ΅ ΡΡΡΡΠΈΠΌ Π½ΠΎΠ²ΠΈ ΡΠ»ΡΠΆΠΈΡΠ΅Π»ΠΈ. ΠΠ·ΠΈΡΠΊΠ²Π°Π½ΠΈΡΡΠ° ΠΊΡΠΌ ΠΊΠ°Π½Π΄ΠΈΠ΄Π°ΡΠΈΡΠ΅ ΡΠ° ΡΡΠ°Π²Π½ΠΈΡΠ΅Π»Π½ΠΎ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΈ. ΠΠΈΡΠ½ΠΎ Π·Π° ΠΌΠ΅Π½ Π΅ Π²Π°ΠΆΠ½ΠΎ ΡΠΎΠ²Π΅ΠΊΡΡ Π΄Π° ΡΠ΅ Π²ΠΏΠΈΡΠ²Π° Π² Π΅ΠΊΠΈΠΏΠ°, Π΄Π° Π±ΡΠ΄Π΅ Π½Π΅ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΠ΅Π½, Π½ΠΎ ΡΡΡΠΎ ΡΠ°ΠΊΠ° Π΄Π° ΡΠΌΠ΅Π΅ Π΄Π° ΠΎΡΡΡΠΎΡΠ²Π° ΡΠ²ΠΎΠ΅ΡΠΎ ΠΌΠ½Π΅Π½ΠΈΠ΅, Π΄Π° ΠΆΠ΅Π»Π°Π΅ Π΄Π° ΡΠ΅ ΡΠ°Π·Π²ΠΈΠ²Π° ΠΈ Π΄Π° Π½Π΅ ΡΠ΅ ΡΡΡΠ°Ρ ΡΠ²Π° Π΄Π° ΠΏΡΠΎΠ±Π²Π° Π½Π΅ΡΠΎ Π½ΠΎΠ²ΠΎ, Π΄Π° ΠΏΡΠ΅Π΄Π»Π°Π³Π° ΡΠ²ΠΎΠΈ ΠΈΠ΄Π΅ΠΈ. ΠΡΠ²Π΅Π½ ΡΠΎΠ²Π°, Π·Π°Π΄ΡΠ»ΠΆΠΈΡΠ΅Π»Π½ΠΈ ΡΠ° ΡΠΌΠ΅Π½ΠΈΡΡΠ° Π·Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈΡΠ°Π½Π΅ Π½Π° ΡΠΊΡΠΈΠΏΡΠΎΠ²ΠΈ Π΅Π·ΠΈΡΠΈ, ΠΏΠΎΠ·Π½Π°Π½ΠΈΡ ΠΏΠΎ ΠΎΡΠ½ΠΎΠ²ΠΈΡΠ΅ Π½Π° Linux ΠΈ Π°Π½Π³Π»ΠΈΠΉΡΠΊΠΈΡ Π΅Π·ΠΈΠΊ. ΠΠ½Π³Π»ΠΈΠΉΡΠΊΠΈΡΡ Π΅ Π½ΡΠΆΠ΅Π½ ΠΏΡΠΎΡΡΠΎ Π·Π° Π΄Π° ΠΌΠΎΠΆΠ΅ ΡΠΎΠ²Π΅ΠΊΡΡ Π² ΡΠ»ΡΡΠ°ΠΉ Π½Π° ΠΏΡΠΎΠ±Π»Π΅ΠΌ Π±ΡΡΠ·ΠΎ Π΄Π° Π½Π°ΠΌΠ΅ΡΠΈ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Π² ΠΈΠ½ΡΠ΅ΡΠ½Π΅Ρ Π·Π° 10 ΡΠ΅ΠΊΡΠ½Π΄ΠΈ, Π° Π½Π΅ Π·Π° 10 ΠΌΠΈΠ½ΡΡΠΈ. ΠΠΎ ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΡΡΠΈ Ρ Π΄ΡΠ»Π±ΠΎΠΊΠΈ ΠΏΠΎΠ·Π½Π°Π½ΠΈΡ ΠΏΠΎ Linux Π² ΠΌΠΎΠΌΠ΅Π½ΡΠ° Π΅ ΠΌΠ½ΠΎΠ³ΠΎ ΡΡΡΠ΄Π½ΠΎ Π΄Π° ΡΠ΅ Π½Π°ΠΌΠ΅ΡΠΈ: ΡΠΌΠ΅ΡΠ½ΠΎ Π΅, Π½ΠΎ Π΄Π²Π°ΠΌΠ° ΠΎΡ ΡΡΠΈΠΌΠ° ΠΊΠ°Π½Π΄ΠΈΠ΄Π°ΡΠΈ Π½Π΅ ΠΌΠΎΠ³Π°Ρ Π΄Π° ΠΎΡΠ³ΠΎΠ²ΠΎΡΡΡ Π½Π° Π²ΡΠΏΡΠΎΡΠ° βΠΠ°ΠΊΠ²ΠΎ Π΅ Load Average? ΠΡ ΠΊΠ°ΠΊΠ²ΠΎ ΡΠ΅ ΡΡΡΡΠΎΠΈ?β Π° Π²ΡΠΏΡΠΎΡΡΡ βΠΠ°ΠΊ Π΄Π° ΡΡΠ±Π΅ΡΠ΅ΠΌ core dump ΠΎΡ C ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ°β ΡΠΌΡΡΠ°Ρ Π·Π° Π½Π΅ΡΠΎ, ΠΏΡΠΎΠΈΠ·Ρ ΠΎΠΆΠ΄Π°ΡΠΎ ΠΎΡ ΡΠ²Π΅ΡΠ° Π½Π° ΡΡΠΏΠ΅Ρ Ρ ΠΎΡΠ°ΡΠ°β¦ ΠΈΠ»ΠΈ Π΄ΠΈΠ½ΠΎΠ·Π°Π²ΡΠΈΡΠ΅. Π‘ ΡΠΎΠ²Π° ΡΡΡΠ±Π²Π° Π΄Π° ΡΠ΅ ΠΏΡΠΈΠΌΠΈΡΠΈΠΌ, Π·Π°ΡΠΎΡΠΎ ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΎ Π½Π° Ρ ΠΎΡΠ°ΡΠ° ΠΈΠΌ Π»ΠΈΠΏΡΠ²Π°Ρ Π΄ΡΡΠ³ΠΈ ΠΊΠΎΠΌΠΏΠ΅ΡΠ΅Π½ΡΠΈΠΈ, Π° ΠΏΠΎ βΠ»ΠΈΠ½ΡΠΊΡβ Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° ΠΎΠ±ΡΡΠΈΠΌ. ΠΡΠ³ΠΎΠ²ΠΎΡΡΡ Π½Π° Π²ΡΠΏΡΠΎΡΠ° βΠ·Π°ΡΠΎ Π²ΡΠΈΡΠΊΠΎ ΡΠΎΠ²Π° ΡΡΡΠ±Π²Π° Π΄Π° ΡΠ΅ Π·Π½Π°Π΅ ΠΎΡ DevOps ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ Π² ΡΡΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΈΡ ΡΠ²ΡΡ Π½Π° ΠΎΠ±Π»Π°ΡΠΈΡΠ΅β ΡΠ΅ ΠΎΡΡΠ°Π²Ρ ΠΈΠ·Π²ΡΠ½ ΡΠ°ΠΌΠΊΠΈΡΠ΅ Π½Π° ΡΡΠ°ΡΠΈΡΡΠ°, Π½ΠΎ Π°ΠΊΠΎ ΡΡΡΠ±Π²Π° Π΄Π° ΠΊΠ°ΠΆΠ° Ρ ΡΡΠΈ Π΄ΡΠΌΠΈ: Π²ΡΠΈΡΠΊΠΎ ΡΠΎΠ²Π° Π΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ.
ΠΠΊΠΈΠΏΡΡ Tools
ΠΠ½Π°ΡΠΈΡΠ΅Π»Π½Π° ΡΠΎΠ»Ρ Π² Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·Π°ΡΠΈΡΡΠ° ΠΈΠ³ΡΠ°Π΅ Π΅ΠΊΠΈΠΏΡΡ Tools. ΠΡΠ½ΠΎΠ²Π½Π°ΡΠ° ΠΈΠΌ Π·Π°Π΄Π°ΡΠ° Π΅ ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ΡΠΎ Π½Π° ΡΠ΄ΠΎΠ±Π½ΠΈ Π³ΡΠ°ΡΠΈΡΠ½ΠΈ ΠΈ CLI ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΈ Π·Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈΡΠ΅. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π½Π°ΡΠΈΡΡ Π²ΡΡΡΠ΅ΡΠ΅Π½ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ Confer ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π±ΡΠΊΠ²Π°Π»Π½ΠΎ Ρ Π½ΡΠΊΠΎΠ»ΠΊΠΎ ΠΊΠ»ΠΈΠΊΠ° Π½Π° ΠΌΠΈΡΠΊΠ°ΡΠ° Π΄Π° ΡΠ΅ Π²Π½Π΅Π΄ΡΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π² Kubernetes, Π΄Π° ΠΌΡ ΡΠ΅ Π½Π°ΡΡΡΠΎΡΡ ΡΠ΅ΡΡΡΡΠΈ, ΠΊΠ»ΡΡΠΎΠ²Π΅ ΠΎΡ vault ΠΈ Ρ.Π½. ΠΡΠ΅Π΄ΠΈ ΠΈΠΌΠ°ΡΠ΅ Jenkins + Helm 2, Π½ΠΎ ΡΠ΅ Π½Π°Π»ΠΎΠΆΠΈ Π΄Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΈΠΌ ΡΠΎΠ±ΡΡΠ²Π΅Π½ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ, Π·Π° Π΄Π° ΠΈΠ·ΠΊΠ»ΡΡΠΈΠΌ ΠΊΠΎΠΏΠΈΡΠ°Π½Π΅ΡΠΎ ΠΈ Π²ΠΌΡΠΊΠ²Π°Π½Π΅ΡΠΎ ΠΈ Π΄Π° Π²Π½Π΅ΡΠ΅ΠΌ Π΅Π΄ΠΈΠ½ΡΡΠ²ΠΎ Π² ΠΆΠΈΠ·Π½Π΅Π½ΠΈΡ ΡΠΈΠΊΡΠ» Π½Π° ΡΠΎΡΡΡΠ΅ΡΠ°.
ΠΠΊΠΈΠΏΡΡ Ops Π½Π΅ ΠΏΠΈΡΠ΅ ΠΏΠ°ΠΉΠΏΠ»Π°ΠΉΠ½ΠΈ Π·Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈΡΠ΅, Π½ΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° Π΄Π°Π΄Π΅ ΠΊΠΎΠ½ΡΡΠ»ΡΠ°ΡΠΈΡ ΠΏΠΎ Π²ΡΡΠΊΠ°ΠΊΠ²ΠΈ Π²ΡΠΏΡΠΎΡΠΈ ΠΎΡΠ½ΠΎΡΠ½ΠΎ ΡΡΡ Π½ΠΎΡΠΎ Π½Π°ΠΏΠΈΡΠ²Π°Π½Π΅ (Ρ Π½ΡΠΊΠΎΠΈ Π²ΡΠ΅ ΠΎΡΠ΅ ΠΈΠΌ ΠΎΡΡΠ°Π½Π° Helm 3).
DevOps
Π©ΠΎ ΡΠ΅ ΠΎΡΠ½Π°ΡΡ Π΄ΠΎ DevOps, Π½ΠΈΠ΅ Π³ΠΎ Π²ΠΈΠΆΠ΄Π°ΠΌΠ΅ ΡΠ°ΠΊΠ°:
ΠΠΎΠΌΠ°Π½Π΄ΠΈΡΠ΅ Dev ΠΏΠΈΡΠ°Ρ ΠΊΠΎΠ΄, Π²Π½Π΅Π΄ΡΡΠ²Π°Ρ Π³ΠΎ ΡΡΠ΅Π· Confer Π² dev -> qa/stage -> prod. ΠΡΠ³ΠΎΠ²ΠΎΡΠ½ΠΎΡΡΡΠ° Π΄Π° ΡΠ΅ ΡΠ²Π΅ΡΡΡ, ΡΠ΅ ΠΊΠΎΠ΄ΡΡ Π½Π΅ Π·Π°Π±Π°Π²Ρ ΠΈ Π½Π΅ Ρ Π²ΡΡΠ»Ρ Π³ΡΠ΅ΡΠΊΠΈ, Π»Π΅ΠΆΠΈ Π½Π° Π΅ΠΊΠΈΠΏΠΈΡΠ΅ Dev ΠΈ Ops. ΠΡΠ΅Π· Π΄Π΅Π½Ρ, Π·Π° Π΄Π° ΡΠ΅Π°Π³ΠΈΡΠ° Π½Π° ΠΈΠ½ΡΠΈΠ΄Π΅Π½Ρ Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ ΡΠΈ, ΠΏΡΡΠ²ΠΎ ΡΡΡΠ±Π²Π° Π΄Π΅ΠΆΡΡΠ½ΠΈΡΡ ΠΎΡ Π΅ΠΊΠΈΠΏΠ° Ops, Π° Π²Π΅ΡΠ΅Ρ ΠΈ ΠΏΡΠ΅Π· Π½ΠΎΡΡΠ° Π΄Π΅ΠΆΡΡΠ½ΠΈΡΡ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡ (Ops) ΡΡΡΠ±Π²Π° Π΄Π° ΡΡΠ±ΡΠ΄ΠΈ Π΄Π΅ΠΆΡΡΠ½ΠΈΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ, Π°ΠΊΠΎ Π΅ ΡΠΈΠ³ΡΡΠ΅Π½, ΡΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡΡ Π½Π΅ Π΅ Π² ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ°ΡΠ°. ΠΡΠΈΡΠΊΠΈ ΠΌΠ΅ΡΡΠΈΠΊΠΈ ΠΈ Π°Π»Π΅ΡΡΠΈ Π² ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³Π° ΡΠ΅ ΠΏΠΎΡΠ²ΡΠ²Π°Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ½ΠΎ ΠΈΠ»ΠΈ ΠΏΠΎΠ»ΡΠ°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ½ΠΎ.
ΠΡΠ³ΠΎΠ²ΠΎΡΠ½ΠΎΡΡΡΠ° Π½Π° Ops Π·Π°ΠΏΠΎΡΠ²Π° ΠΎΡ ΠΌΠΎΠΌΠ΅Π½ΡΠ° Π½Π° ΠΏΡΡΠΊΠ°Π½Π΅ Π½Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ Π² ΠΏΡΠΎΠ΄ΡΠΊΡΠΈΡ, Π½ΠΎ ΠΎΡΠ³ΠΎΠ²ΠΎΡΠ½ΠΎΡΡΡΠ° Π½Π° Dev ΡΡΡΠΎ Π½Π΅ ΠΏΡΠΈΠΊΠ»ΡΡΠ²Π° - ΡΠ°Π±ΠΎΡΠΈΠΌ Π·Π°Π΅Π΄Π½ΠΎ ΠΈ ΡΠΌΠ΅ Π² Π΅Π΄ΠΈΠ½ ΠΈ ΡΡΡΠΈ ΠΊΠΎΡΠ°Π±.
Π Π°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈΡΠ΅ ΠΊΠΎΠ½ΡΡΠ»ΡΠΈΡΠ°Ρ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΠΈΡΠ΅, Π°ΠΊΠΎ Π΅ Π½ΡΠΆΠ½Π° ΠΏΠΎΠΌΠΎΡ ΠΏΡΠΈ Π½Π°ΠΏΠΈΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΈΠ²Π΅Π½ ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Go Π±Π΅ΠΊΠ΅Π½Π΄ + HTML5), Π° Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΠΈΡΠ΅ ΠΊΠΎΠ½ΡΡΠ»ΡΠΈΡΠ°Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈΡΠ΅ ΠΏΠΎ Π²ΡΡΠΊΠ°ΠΊΠ²ΠΈ ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ½ΠΈ Π²ΡΠΏΡΠΎΡΠΈ ΠΈΠ»ΠΈ Π²ΡΠΏΡΠΎΡΠΈ, ΡΠ²ΡΡΠ·Π°Π½ΠΈ Ρ k8s.
ΠΠ΅ΠΆΠ΄Ρ Π΄ΡΡΠ³ΠΎΡΠΎ, Π½ΡΠΌΠ°ΠΌΠ΅ ΠΌΠΎΠ½ΠΎΠ»ΠΈΡ, ΡΠ°ΠΌΠΎ ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΠΈ. ΠΡΠΎΡΡ ΠΈΠΌ Π² ΠΌΠΎΠΌΠ΅Π½ΡΠ° ΠΊΠΎΠ»Π΅Π±Π°Π΅ ΠΌΠ΅ΠΆΠ΄Ρ 900 ΠΈ 1000 Π² ΠΏΡΠΎΠ΄ΡΠΊΡΠΈΠ²Π½ΠΈΡ k8s ΠΊΠ»ΡΡΡΠ΅Ρ, Π°ΠΊΠΎ ΡΠ΅ ΠΈΠ·ΠΌΠ΅ΡΠ²Π° ΠΏΠΎ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ deployments. ΠΡΠΎΡΡ Π½Π° ΠΏΠΎΠ΄ΠΎΠ²Π΅ΡΠ΅ ΠΊΠΎΠ»Π΅Π±Π°Π΅ ΠΌΠ΅ΠΆΠ΄Ρ 1700 ΠΈ 2000. Π ΠΏΡΠΎΠ΄ΡΠΊΡΠΈΠ²Π½ΠΈΡ ΠΊΠ»ΡΡΡΠ΅Ρ Π² ΠΌΠΎΠΌΠ΅Π½ΡΠ° ΠΈΠΌΠ° ΠΎΠΊΠΎΠ»ΠΎ 2000 ΠΏΠΎΠ΄Π°.
ΠΠ΅ ΠΌΠΎΠ³Π° Π΄Π° Π΄Π°ΠΌ ΡΠΎΡΠ½ΠΈ ΡΠΈΡΠ»Π°, ΡΡΠΉ ΠΊΠ°ΡΠΎ ΡΠ»Π΅Π΄ΠΈΠΌ Π½Π΅Π½ΡΠΆΠ½ΠΈΡΠ΅ ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΠΈ ΠΈ Π³ΠΈ ΠΏΡΠ΅ΠΌΠ°Ρ Π²Π°ΠΌΠ΅ Π² ΠΏΠΎΠ»ΡΠ°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅Π½ ΡΠ΅ΠΆΠΈΠΌ. Π‘Π»Π΅Π΄Π΅Π½Π΅ΡΠΎ Π½Π° Π½Π΅Π½ΡΠΆΠ½ΠΈΡΠ΅ ΡΡΡΡΠΊΡΡΡΠΈ Π² k8s Π½ΠΈ ΠΏΠΎΠΌΠ°Π³Π° , ΠΊΠΎΠ΅ΡΠΎ Π·Π½Π°ΡΠΈΡΠ΅Π»Π½ΠΎ ΡΠΏΠ΅ΡΡΡΠ²Π° ΡΠ΅ΡΡΡΡΠΈ ΠΈ ΡΡΠ΅Π΄ΡΡΠ²Π°.
Π£ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° ΡΠ΅ΡΡΡΡΠΈΡΠ΅
ΠΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³
ΠΡΠ°ΠΉΠ½Π°ΡΠ° ΠΎΡΠ½ΠΎΠ²Π° Π·Π° Π΅ΠΊΡΠΏΠ»ΠΎΠ°ΡΠ°ΡΠΈΡΡΠ° Π½Π° Π³ΠΎΠ»ΡΠΌ ΠΊΠ»ΡΡΡΠ΅Ρ Π΅ ΠΏΡΠ°Π²ΠΈΠ»Π½ΠΎ ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΡΡ ΠΈ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠ²Π΅Π½ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³. ΠΡΠ΅ ΠΎΡΠ΅ Π½Π΅ ΡΠΌΠ΅ Π½Π°ΠΌΠ΅ΡΠΈΠ»ΠΈ ΡΠ½ΠΈΠ²Π΅ΡΡΠ°Π»Π½ΠΎ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅, ΠΊΠΎΠ΅ΡΠΎ Π΄Π° ΠΏΠΎΠΊΡΠΈΠ΅ 100 % ΠΎΡ Π²ΡΠΈΡΠΊΠΈΡΠ΅ ΠΆΠ΅Π»Π°Π½ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ Π·Π° ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³, Π·Π°ΡΠΎΠ²Π° ΠΏΠ΅ΡΠΈΠΎΠ΄ΠΈΡΠ½ΠΎ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ²Π°ΠΌΠ΅ ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΠΏΠ΅ΡΡΠΎΠ½Π°Π»ΠΈΠ·ΠΈΡΠ°Π½ΠΈ ΡΠ΅ΡΠ΅Π½ΠΈΡ Π² ΡΠ°Π·ΠΈ ΡΡΠ΅Π΄Π°.
- Zabbix. Π‘ΡΠ°ΡΠΈΡΡ Π΄ΠΎΠ±ΡΡ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³, ΠΊΠΎΠΉΡΠΎ Π΅ ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½ ΠΏΡΠ΅Π΄ΠΈΠΌΠ½ΠΎ Π·Π° ΠΏΡΠΎΡΠ»Π΅Π΄ΡΠ²Π°Π½Π΅ Π½Π° ΠΎΠ±ΡΠΎΡΠΎ ΡΡΡΡΠΎΡΠ½ΠΈΠ΅ Π½Π° ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ°ΡΠ°. Π’ΠΎΠΉ Π½ΠΈ ΠΊΠ°Π·Π²Π°, ΠΊΠΎΠ³Π°ΡΠΎ ΡΠ·Π΅Π»ΡΡ ΡΠΌΠΈΡΠ° ΠΏΠΎ ΠΏΡΠΎΡΠ΅Π½ΡΠΈ, ΠΏΠ°ΠΌΠ΅Ρ, Π΄ΠΈΡΠΊΠΎΠ²Π΅, ΠΌΡΠ΅ΠΆΠ° ΠΈ Ρ.Π½. ΠΠΈΡΠΎ ΠΈΠ·Π²ΡΠ½ΡΠ΅Π΄Π½ΠΎ, Π½ΠΎ ΡΡΡΠΎ ΡΠ°ΠΊΠ° ΠΈΠΌΠ°ΠΌΠ΅ ΠΎΡΠ΄Π΅Π»Π΅Π½ DaemonSet ΠΎΡ Π°Π³Π΅Π½ΡΠΈ, Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° ΠΊΠΎΠΈΡΠΎ Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ Π½Π°Π±Π»ΡΠ΄Π°Π²Π°ΠΌΠ΅ ΡΡΡΡΠΎΡΠ½ΠΈΠ΅ΡΠΎ Π½Π° DNS Π² ΠΊΠ»ΡΡΡΠ΅ΡΠ°: ΡΡΡΡΠΈΠΌ Π·Π°Π±Π°Π²ΡΡΠΈ ΡΠ΅ ΠΏΠΎΠ΄ΠΎΠ²Π΅ coredns, ΠΏΡΠΎΠ²Π΅ΡΡΠ²Π°ΠΌΠ΅ Π΄ΠΎΡΡΡΠΏΠ½ΠΎΡΡΡΠ° Π½Π° Π²ΡΠ½ΡΠ½ΠΈ Ρ ΠΎΡΡΠΎΠ²Π΅. ΠΠΎΠΆΠ΅ Π΄Π° ΠΈΠ·Π³Π»Π΅ΠΆΠ΄Π° Π½Π΅Π½ΡΠΆΠ½ΠΎ, Π½ΠΎ ΠΏΡΠΈ Π³ΠΎΠ»Π΅ΠΌΠΈ ΠΎΠ±Π΅ΠΌΠΈ ΡΡΠ°ΡΠΈΠΊ ΡΠΎΠ·ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ Π΅ ΡΠ΅ΡΠΈΠΎΠ·Π½Π° ΡΠΎΡΠΊΠ° Π½Π° ΠΎΡΠΊΠ°Π·. ΠΠΎ-ΡΠ°Π½ΠΎ Π²Π΅ΡΠ΅ , ΠΊΠ°ΠΊ ΡΠ΅ ΡΠΏΡΠ°Π²ΡΡ Ρ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡΡΠ° Π½Π° DNS Π² ΠΊΠ»ΡΡΡΠ΅ΡΠ°.
- Prometheus Operator. ΠΠ°Π±ΠΎΡ ΠΎΡ ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ Π΅ΠΊΡΠΏΠΎΡΡΠ΅ΡΠΈ Π΄Π°Π²Π° ΡΠΈΡΠΎΠΊ ΠΎΠ±Π·ΠΎΡ Π½Π° Π²ΡΠΈΡΠΊΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΈ Π½Π° ΠΊΠ»ΡΡΡΠ΅ΡΠ°. Π‘Π»Π΅Π΄ ΡΠΎΠ²Π° Π²ΠΈΠ·ΡΠ°Π»ΠΈΠ·ΠΈΡΠ°ΠΌΠ΅ Π²ΡΠΈΡΠΊΠΎ ΡΠΎΠ²Π° Π½Π° Π³ΠΎΠ»Π΅ΠΌΠΈ Π΄Π°ΡΠ±ΠΎΡΠ΄ΠΎΠ²Π΅ Π² Grafana, Π° Π·Π° ΠΈΠ·Π²Π΅ΡΡΡΠ²Π°Π½Π΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ alertmanager.
ΠΡΠ΅ Π΅Π΄ΠΈΠ½ ΠΏΠΎΠ»Π΅Π·Π΅Π½ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ Π·Π° Π½Π°Ρ ΡΡΠ°Π½Π° . ΠΠ°ΠΏΠΈΡΠ°Ρ ΠΌΠ΅ Π³ΠΎ ΡΠ»Π΅Π΄ ΠΊΠ°ΡΠΎ Π½ΡΠΊΠΎΠ»ΠΊΠΎ ΠΏΡΡΠΈ ΡΠ΅ ΡΠ±Π»ΡΡΠΊΠ°Ρ ΠΌΠ΅ Ρ ΡΠΈΡΡΠ°ΡΠΈΡ, Π² ΠΊΠΎΡΡΠΎ Π΅Π΄ΠΈΠ½ Π΅ΠΊΠΈΠΏ Π·Π°ΡΡΡΠ΄Π½ΡΠ²Π° ΠΏΡΠ΅ΠΌΠΈΠ½Π°Π²Π°Π½Π΅ΡΠΎ Π½Π° Ingress Π½Π° Π΄ΡΡΠ³ Π΅ΠΊΠΈΠΏ, ΠΊΠΎΠ΅ΡΠΎ Π²ΠΎΠ΄Π΅ΡΠ΅ Π΄ΠΎ Π³ΡΠ΅ΡΠΊΠΈ 50x. Π‘Π΅Π³Π°, ΠΏΡΠ΅Π΄ΠΈ Π²Π½Π΅Π΄ΡΡΠ²Π°Π½Π΅ Π² ΠΏΡΠΎΠ΄ΡΠΊΡΠΈΡ, ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈΡΠ΅ ΠΏΡΠΎΠ²Π΅ΡΡΠ²Π°Ρ, ΡΠ΅ Π½ΠΈΠΊΠΎΠ³ΠΎ Π½Π΅ Π·Π°ΡΡΠ³Π°Ρ, Π° Π·Π° ΠΌΠΎΡ Π΅ΠΊΠΈΠΏ ΡΠΎΠ²Π° Π΅ Π΄ΠΎΠ±ΡΠΎ ΡΡΠ΅Π΄ΡΡΠ²ΠΎ Π·Π° ΠΏΡΡΠ²ΠΎΠ½Π°ΡΠ°Π»Π½Π° Π΄ΠΈΠ°Π³Π½ΠΎΡΡΠΈΠΊΠ° Π½Π° ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ Ρ Ingress-ΠΈΡΠ΅. ΠΠ°Π±Π°Π²Π΅Π½ Π΅ ΡΠ°ΠΊΡΡΡ, ΡΠ΅ ΠΏΡΡΠ²ΠΎΠ½Π°ΡΠ°Π»Π½ΠΎ Π±Π΅ΡΠ΅ Π½Π°ΠΏΠΈΡΠ°Π½ Π·Π° Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΠΈ ΠΈ ΠΈΠ·Π³Π»Π΅ΠΆΠ΄Π°ΡΠ΅ Π΄ΠΎΡΡΠ° βΡΠΎΠΏΠΎΡΠ½ΠΎβ, Π½ΠΎ ΡΠ»Π΅Π΄ ΠΊΠ°ΡΠΎ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡΡ ΡΡΠ°Π½Π° ΠΏΠΎΠΏΡΠ»ΡΡΠ΅Π½ ΡΡΠ΅Π΄ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈΡΠ΅, ΡΠΎΠΉ Π·Π½Π°ΡΠΈΡΠ΅Π»Π½ΠΎ ΡΠ΅ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΈ ΠΈ Π²Π΅ΡΠ΅ Π½Π΅ ΠΈΠ·Π³Π»Π΅ΠΆΠ΄Π° ΠΊΠ°ΡΠΎ βΠ°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡ Π½Π°ΠΏΡΠ°Π²ΠΈ ΡΠ΅Π±-ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ Π·Π° Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΠΈβ. Π‘ΠΊΠΎΡΠΎ ΡΠ΅ ΡΠ΅ ΠΎΡΠΊΠ°ΠΆΠ΅ΠΌ ΠΎΡ ΡΠΎΠ·ΠΈ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ ΠΈ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΈ ΡΠΈΡΡΠ°ΡΠΈΠΈ ΡΠ΅ ΡΠ΅ Π²Π°Π»ΠΈΠ΄ΠΈΡΠ°Ρ ΠΎΡΠ΅ ΠΏΡΠ΅Π΄ΠΈ ΠΏΡΡΠΊΠ°Π½Π΅ΡΠΎ Π½Π° ΠΏΠ°ΠΉΠΏΠ»Π°ΠΉΠ½Π°.
Π Π΅ΡΡΡΡΠΈ Π½Π° Π΅ΠΊΠΈΠΏΠΈΡΠ΅ Π² "ΠΡΠ±Π°"
ΠΡΠ΅Π΄ΠΈ Π΄Π° ΠΏΡΠ΅ΠΌΠΈΠ½Π΅ΠΌ ΠΊΡΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠΈΡΠ΅, Π΅ Π²Π°ΠΆΠ½ΠΎ Π΄Π° ΠΎΠ±ΡΡΠ½ΠΈΠΌ ΠΊΠ°ΠΊ ΡΠ°Π±ΠΎΡΠΈ ΡΠ°Π·ΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ΡΠΎ Π½Π° ΡΠ΅ΡΡΡΡΠΈΡΠ΅ Π·Π° ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΠ·ΠΈ.
ΠΠ° Π΄Π° ΡΠ°Π·Π±Π΅ΡΠ΅ΠΌ ΠΊΠΎΠΈ Π΅ΠΊΠΈΠΏΠΈ ΠΈ Π² ΠΊΠ°ΠΊΠ²ΠΈ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ ΡΠ²ΠΎΠΈΡΠ΅ ΡΠ΅ΡΡΡΡΠΈ (ΠΏΡΠΎΡΠ΅ΡΠΎΡ, ΠΏΠ°ΠΌΠ΅Ρ, Π»ΠΎΠΊΠ°Π»Π΅Π½ SSD), Π½ΠΈΠ΅ ΡΠ°Π·ΠΏΡΠ΅Π΄Π΅Π»ΡΠΌΠ΅ Π½Π° Π²ΡΠ΅ΠΊΠΈ Π΅ΠΊΠΈΠΏ ΡΠ²ΠΎΡ namespace Π² "ΠΡΠ±Π°" ΠΈ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ°Π²Π°ΠΌΠ΅ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»Π½ΠΈΡΠ΅ ΠΌΡ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΏΠΎ ΠΏΡΠΎΡΠ΅ΡΠΎΡ, ΠΏΠ°ΠΌΠ΅Ρ ΠΈ Π΄ΠΈΡΠΊ, ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»Π½ΠΎ ΠΎΠ±ΡΡΠΆΠ΄Π°ΠΉΠΊΠΈ Π½ΡΠΆΠ΄ΠΈΡΠ΅ Π½Π° Π΅ΠΊΠΈΠΏΠΈΡΠ΅. Π‘ΡΠΎΡΠ²Π΅ΡΠ½ΠΎ, Π΅Π΄ΠΈΠ½ Π΅ΠΊΠΈΠΏ, Π² ΠΎΠ±ΡΠΈΡ ΡΠ»ΡΡΠ°ΠΉ, Π½Π΅ ΠΌΠΎΠΆΠ΅ Π΄Π° Π±Π»ΠΎΠΊΠΈΡΠ° ΡΠ΅Π»ΠΈΡ ΠΊΠ»Π°ΡΡΠ΅Ρ Π·Π° Π²Π½Π΅Π΄ΡΡΠ²Π°Π½Π΅, ΠΊΠ°ΡΠΎ Π·Π°Π΄Π΅Π»ΠΈ Ρ ΠΈΠ»ΡΠ΄ΠΈ ΡΠ΄ΡΠ° ΠΈ ΡΠ΅ΡΠ°Π±Π°ΠΉΡΠΈ ΠΏΠ°ΠΌΠ΅Ρ. ΠΠΎΡΡΡΠΏΠΈΡΠ΅ Π² namespace ΡΠ΅ Π΄Π°Π²Π°Ρ ΡΡΠ΅Π· AD (ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ RBAC). Namespace-ΠΈΡΠ΅ ΠΈ ΡΠ΅Ρ Π½ΠΈΡΠ΅ Π»ΠΈΠΌΠΈΡΠΈ ΡΠ΅ Π΄ΠΎΠ±Π°Π²ΡΡ ΡΡΠ΅Π· ΠΏΡΠ»-ΡΠ΅ΠΊΠ²Π΅ΡΡ Π² GIT ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ, Π° ΡΠ»Π΅Π΄ ΡΠΎΠ²Π° Π²ΡΠΈΡΠΊΠΎ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ½ΠΎ ΡΠ΅ ΡΠ°Π·Π³ΡΡΡΠ° ΡΡΠ΅Π· Ansible ΠΏΠ°ΠΉΠΏΠ»Π°ΠΉΠ½.
ΠΡΠΈΠΌΠ΅Ρ Π·Π° ΡΠ°Π·ΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π½Π° ΡΠ΅ΡΡΡΡΠΈ Π·Π° Π΅ΠΊΠΈΠΏ:
namespaces:
chat-team:
pods: 23
limits:
cpu: 11
memory: 20Gi
requests:
cpu: 11
memory: 20Gi
Π Π΅ΠΊΠ²Π΅ΡΡΠΈ ΠΈ Π»ΠΈΠΌΠΈΡΠΈ
Π "ΠΡΠ±Π°" Request β ΡΠΎΠ²Π° Π΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎΡΠΎ Π³Π°ΡΠ°Π½ΡΠΈΡΠ°Π½ΠΎ ΡΠ΅Π·Π΅ΡΠ²ΠΈΡΠ°Π½ΠΈ ΡΠ΅ΡΡΡΡΠΈ Π·Π° pod (Π΅Π΄ΠΈΠ½ ΠΈΠ»ΠΈ ΠΏΠΎΠ²Π΅ΡΠ΅ Docker ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΈ) Π² ΠΊΠ»Π°ΡΡΠ΅Ρa. Limit β ΡΠΎΠ²Π° Π΅ Π½Π΅Π³Π°ΡΠ°Π½ΡΠΈΡΠ°Π½ ΠΌΠ°ΠΊΡΠΈΠΌΡΠΌ. Π§Π΅ΡΡΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ Π²ΠΈΠ΄ΠΈ Π½Π° Π³ΡΠ°ΡΠΈΠΊΠΈΡΠ΅, ΠΊΠ°ΠΊ Π½ΡΠΊΠΎΠΉ Π΅ΠΊΠΈΠΏ Π΅ Π·Π°Π΄ΡΠ»ΠΆΠΈΠ» ΡΠ΅Π±Π΅ ΡΠΈ Ρ ΡΠ²ΡΡΠ΄Π΅ ΠΌΠ½ΠΎΠ³ΠΎ ΡΠ΅ΠΊΠ²Π΅ΡΡΠΈ Π·Π° Π²ΡΠΈΡΠΊΠΈ ΡΠ²ΠΎΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΈ Π½Π΅ ΠΌΠΎΠΆΠ΅ Π΄Π° Π²Π½Π΅Π΄ΡΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π² "ΠΡΠ±", ΡΡΠΉ ΠΊΠ°ΡΠΎ Π²ΡΠΈΡΠΊΠΈ requestβΠΈ Π² ΡΠ΅Ρ Π½ΠΈΡ namespace Π²Π΅ΡΠ΅ ΡΠ° βΠΈΠ·ΡΠ°Π·Ρ ΠΎΠ΄Π²Π°Π½ΠΈβ.
ΠΡΠ°Π²ΠΈΠ»Π½ΠΈΡΡ ΠΈΠ·Ρ ΠΎΠ΄ ΠΎΡ ΡΠ°ΠΊΠ°Π²Π° ΡΠΈΡΡΠ°ΡΠΈΡ: Π΄Π° ΡΠ΅ Π½Π°Π±Π»ΡΠ΄Π°Π²Π° ΡΠ΅Π°Π»Π½ΠΎΡΠΎ ΠΏΠΎΡΡΠ΅Π±Π»Π΅Π½ΠΈΠ΅ Π½Π° ΡΠ΅ΡΡΡΡΠΈ ΠΈ Π΄Π° ΡΠ΅ ΡΡΠ°Π²Π½ΡΠ²Π° Ρ ΠΏΠΎΠΈΡΠΊΠ°Π½ΠΎΡΠΎ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ (Request).


ΠΠ° ΡΠΊΡΠΈΠΉΠ½ΡΠΎΡΠΎΠ²Π΅ΡΠ΅ ΠΏΠΎ-Π³ΠΎΡΠ΅ ΡΠ΅ Π²ΠΈΠΆΠ΄Π°, ΡΠ΅ "Π·Π°ΠΏΠΈΡΠ°Π½ΠΈΡΠ΅" (Requested) CPU ΡΠ΅ ΠΏΡΠΈΠ±Π»ΠΈΠΆΠ°Π²Π°Ρ Π΄ΠΎ ΡΠ΅Π°Π»Π½ΠΎΡΠΎ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΏΠΎΡΠΎΡΠΈ, Π° Limits ΠΌΠΎΠ³Π°Ρ Π΄Π° Π½Π°Π΄Π²ΠΈΡΠ°Π²Π°Ρ ΡΠ΅Π°Π»Π½ΠΎΡΠΎ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΏΠΎΡΠΎΡΠΈ Π½Π° ΡΠ΅Π½ΡΡΠ°Π»Π½ΠΈΡΠ΅ ΠΏΡΠΎΡΠ΅ΡΠΎΡΠΈ =)
Π‘Π΅Π³Π° ΡΠ΅ ΡΠ°Π·Π³Π»Π΅Π΄Π°ΠΌΠ΅ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎ Π½ΡΠΊΠΎΠΉ namespace (ΠΈΠ·Π±ΡΠ°Ρ namespace kube-system β ΡΠΈΡΡΠ΅ΠΌΠ΅Π½ namespace Π·Π° ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΈΡΠ΅ Π½Π° ΡΠ°ΠΌΠΈΡ βΠΡΠ±β) ΠΈ ΡΠ΅ Π²ΠΈΠ΄ΠΈΠΌ ΡΡΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΠ΅ΡΠΎ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ΅Π°Π»Π½ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ΠΎΡΠΎ CPU Π²ΡΠ΅ΠΌΠ΅ ΠΈ ΠΏΠ°ΠΌΠ΅Ρ Π² ΡΡΠ°Π²Π½Π΅Π½ΠΈΠ΅ Ρ Π·Π°ΠΏΠΈΡΠ°Π½ΠΎΡΠΎ:

ΠΡΠ΅Π²ΠΈΠ΄Π½ΠΎ Π΅, ΡΠ΅ ΠΏΠ°ΠΌΠ΅ΡΡΠ° ΠΈ CPU-ΡΠΎ, ΡΠ΅Π·Π΅ΡΠ²ΠΈΡΠ°Π½ΠΈ ΠΏΠΎΠ΄ ΡΠΈΡΡΠ΅ΠΌΠ½ΠΈ ΡΡΠ»ΡΠ³ΠΈ, ΡΠ° ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ²Π΅ΡΠ΅ ΠΎΡ ΡΠ΅Π°Π»Π½ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ΠΎΡΠΎ. Π ΡΠ»ΡΡΠ°Ρ Ρ kube-system, ΡΠΎΠ²Π° Π΅ ΠΎΠΏΡΠ°Π²Π΄Π°Π½ΠΎ: ΠΈΠΌΠ°Π»ΠΎ Π΅ ΡΠ»ΡΡΠ°ΠΈ, ΠΊΠΎΠ³Π°ΡΠΎ nginx ingress controller ΠΈΠ»ΠΈ nodelocaldns Π² ΠΏΠΈΠΊ ΡΠ° Π΄ΠΎΡΡΠΈΠ³Π°Π»ΠΈ ΡΠ²ΠΎΠΈΡΠ΅ CPU Π»ΠΈΠΌΠΈΡΠΈ ΠΈ ΡΠ° ΠΊΠΎΠ½ΡΡΠΌΠΈΡΠ°Π΅Π»ΠΈ ΠΌΠ½ΠΎΠ³ΠΎ RAM, ΠΏΠΎΡΠ°Π΄ΠΈ ΠΊΠΎΠ΅ΡΠΎ ΡΠΎΠ·ΠΈ Π·Π°ΠΏΠ°Ρ Π΅ ΠΎΠΏΡΠ°Π²Π΄Π°Π½. ΠΡΠ²Π΅Π½ ΡΠΎΠ²Π°, Π½Π΅ ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° ΡΠ΅ Π²Π³Π»Π΅ΠΆΠ΄Π°ΠΌΠ΅ ΡΠ°ΠΌΠΎ Π² Π³ΡΠ°ΡΠΈΠΊΠΈΡΠ΅ ΠΎΡ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΡΠ΅ 3 ΡΠ°ΡΠ°: ΠΆΠ΅Π»Π°ΡΠ΅Π»Π½ΠΎ Π΅ Π΄Π° Π²ΠΈΠΆΠ΄Π°ΠΌΠ΅ ΠΈΡΡΠΎΡΠΈΡΠ΅ΡΠΊΠΈ ΠΌΠ΅ΡΡΠΈΠΊΠΈ Π·Π° ΠΏΠΎ-Π΄ΡΠ»ΡΠ³ ΠΏΠ΅ΡΠΈΠΎΠ΄ ΠΎΡ Π²ΡΠ΅ΠΌΠ΅.
Π Π°Π·ΡΠ°Π±ΠΎΡΠ΅Π½Π° Π΅ ΡΠΈΡΡΠ΅ΠΌΠ° ΠΎΡ βΠΏΡΠ΅ΠΏΠΎΡΡΠΊΠΈβ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΡΠΊ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° Π²ΠΈΠ΄ΠΈΡΠ΅ Π½Π° ΠΊΠΎΠΈ ΡΠ΅ΡΡΡΡΠΈ Π΅ Ρ ΡΠ±Π°Π²ΠΎ Π΄Π° ΡΠ²Π΅Π»ΠΈΡΠΈΡΠ΅ βΠ»ΠΈΠΌΠΈΡΠΈΡΠ΅β (Π³ΠΎΡΠ½Π°ΡΠ° ΡΠ°Π·ΡΠ΅ΡΠ΅Π½Π° Π³ΡΠ°Π½ΠΈΡΠ°), Π·Π° Π΄Π° Π½Π΅ ΡΠ΅ ΡΠ»ΡΡΠ²Π° βΡΡΠΎΡΠ»ΠΈΠ½Π³β: ΠΌΠΎΠΌΠ΅Π½ΡΠ°, ΠΊΠΎΠ³Π°ΡΠΎ ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ° Π²Π΅ΡΠ΅ Π΅ ΠΈΠ·ΡΠ°Π·Ρ ΠΎΠ΄ΠΈΠ»Π° CPU ΠΈΠ»ΠΈ ΠΏΠ°ΠΌΠ΅Ρ Π·Π° ΠΎΡΡΠ΅Π΄Π΅Π½ΠΎΡΠΎ ΠΉ Π²ΡΠ΅ΠΌΠ΅ ΠΈ ΡΠ°ΠΊΠ°, Π΄ΠΎΠΊΠ°ΡΠΎ Ρ βΡΠ°Π·ΠΌΠΎΡΠΎΠ·ΡΡβ:

Π Π΅ΡΠΎ ΠΈ ΠΏΠΎΠ΄ΠΎΠ²Π΅ΡΠ΅, Π½Π° ΠΊΠΎΠΈΡΠΎ ΡΠ»Π΅Π΄Π²Π° Π΄Π° ΡΠ΅ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ°Ρ ΡΠ΅ΡΡΡΡΠΈΡΠ΅:

ΠΠ° ΡΡΠΎΡΠ»ΠΈΠ½Π³ + ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³ Π½Π° ΡΠ΅ΡΡΡΡΠΈΡΠ΅ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ Π½Π°ΠΏΠΈΡΠ°Ρ Π½Π΅ Π΅Π΄Π½Π°, Π° ΠΌΠ½ΠΎΠ³ΠΎ ΡΡΠ°ΡΠΈΠΈ, Π·Π°ΡΠΎΠ²Π° Π·Π°Π΄Π°Π²Π°ΠΉΡΠ΅ Π²ΡΠΏΡΠΎΡΠΈ Π² ΠΊΠΎΠΌΠ΅Π½ΡΠ°ΡΠΈΡΠ΅. Π‘ Π½ΡΠΊΠΎΠ»ΠΊΠΎ Π΄ΡΠΌΠΈ ΠΌΠΎΠ³Π° Π΄Π° ΠΊΠ°ΠΆΠ°, ΡΠ΅ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·Π°ΡΠΈΡΡΠ° Π½Π° ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΈ ΠΌΠ΅ΡΡΠΈΠΊΠΈ Π΅ Π΄ΠΎΡΡΠ° ΡΠ»ΠΎΠΆΠ½Π° Π·Π°Π΄Π°ΡΠ° ΠΈ ΠΈΠ·ΠΈΡΠΊΠ²Π° ΠΌΠ½ΠΎΠ³ΠΎ Π²ΡΠ΅ΠΌΠ΅ ΠΈ Π°ΠΊΡΠΎΠ±Π°ΡΠΈΠΊΠ° Ρ βwindowβ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈ βCTEβ Π² Prometheus / VictoriaMetrics (ΡΠ΅Π·ΠΈ ΡΠ΅ΡΠΌΠΈΠ½ΠΈ ΡΠ° ΠΏΠΎΡΡΠ°Π²Π΅Π½ΠΈ Π² ΠΊΠ°Π²ΠΈΡΠΊΠΈ, Π·Π°ΡΠΎΡΠΎ Π² PromQL ΠΏΠΎΡΡΠΈ Π½ΡΠΌΠ° Π½ΠΈΡΠΎ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎ ΠΈ ΡΠ΅ Π½Π°Π»Π°Π³Π° Π΄Π° ΡΠ΅ ΠΏΠΈΡΠ°Ρ ΡΠ»ΠΎΠΆΠ½ΠΈ Π·Π°ΡΠ²ΠΊΠΈ, ΠΊΠΎΠΈΡΠΎ ΠΎΠ±Ρ
Π²Π°ΡΠ°Ρ Π½ΡΠΊΠΎΠ»ΠΊΠΎ Π΅ΠΊΡΠ°Π½Π° ΡΠ΅ΠΊΡΡ ΠΈ Π΄Π° ΡΠ΅ ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠ°Ρ).
Π ΠΊΡΠ°ΠΉΠ½Π° ΡΠΌΠ΅ΡΠΊΠ° ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈΡΠ΅ ΡΠ°Π·ΠΏΠΎΠ»Π°Π³Π°Ρ Ρ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΈ Π·Π° ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³ Π½Π° ΡΠ΅Ρ Π½ΠΈΡΠ΅ namespaces Π² βΠΡΠ±β, ΠΈ ΡΠ΅ ΠΌΠΎΠ³Π°Ρ ΡΠ°ΠΌΠΈ Π΄Π° ΠΈΠ·Π±Π΅ΡΠ°Ρ ΠΊΡΠ΄Π΅ ΠΈ ΠΊΠΎΠ³Π° Π½Π° ΠΊΠΎΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π΄Π° βΠΎΡΡΠ΅ΠΆΠ°Ρβ ΡΠ΅ΡΡΡΡΠΈΡΠ΅, Π° Π½Π° ΠΊΠΎΠΈ ΠΏΠΎΠ΄ΠΎΠ²Π΅ Π΄Π° ΠΎΡΡΡΡΠΏΡΡ ΡΠ΅Π»ΠΈΡ ΡΠΈ CPU ΠΏΡΠ΅Π· Π½ΠΎΡΡΠ°.
ΠΠ΅ΡΠΎΠ΄ΠΎΠ»ΠΎΠ³ΠΈΠΈ
Π ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΡΡΠ°, ΠΊΠ°ΠΊΠ²Π°ΡΠΎ Π΅ ΡΠΈΡΡΠ°ΡΠΈΡΡΠ° Π² ΠΌΠΎΠΌΠ΅Π½ΡΠ° ΠΌΠΎΠ΄Π½ΠΎ, Π½ΠΈΠ΅ ΡΠ΅ ΠΏΡΠΈΠ΄ΡΡΠΆΠ°ΠΌΠ΅ ΠΊΡΠΌ ΠΏΡΠ°ΠΊΡΠΈΠΊΠΈ ΠΎΡ DevOps ΠΈ SRE-ΠΏΡΠ°ΠΊΡΠΈΠΊΠΈ. ΠΠΎΠ³Π°ΡΠΎ Π² ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΡΡΠ° ΠΈΠΌΠ° 1000 ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΠ·Π°, ΠΎΠΊΠΎΠ»ΠΎ 350 ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈ ΠΈ 15 Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΠΈ Π½Π° ΡΡΠ»Π°ΡΠ° ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ°, ΡΡΡΠ±Π²Π° Π΄Π° βΠ±ΡΠ΄Π΅ΠΌ ΠΌΠΎΠ΄Π½ΠΈβ: Π·Π°Π΄ Π²ΡΠΈΡΠΊΠΈ ΡΠ΅Π·ΠΈ βΠ±Π°Π·Π²ΠΎΡΠ΄ΠΎΠ²Π΅β ΡΠ΅ ΠΊΡΠΈΠ΅ ΠΎΡΡΡΠ° Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡ ΠΎΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·Π°ΡΠΈΡ Π½Π° Π²ΡΠΈΡΠΊΠΎ, Π° Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΠΈΡΠ΅ Π½Π΅ ΡΡΡΠ±Π²Π° Π΄Π° Π±ΡΠ΄Π°Ρ bottleneck Π² ΠΏΡΠΎΡΠ΅ΡΠΈΡΠ΅.
ΠΠ°ΡΠΎ Ops, Π½ΠΈΠ΅ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΡΠΌΠ΅ ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΠΌΠ΅ΡΡΠΈΠΊΠΈ ΠΈ ΡΠ°Π±Π»Π° Π·Π° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈΡΠ΅, ΡΠ²ΡΡΠ·Π°Π½ΠΈ Ρ Π²ΡΠ΅ΠΌΠ΅ΡΠΎ Π·Π° ΠΎΡΠ³ΠΎΠ²ΠΎΡ Π½Π° ΡΡΠ»ΡΠ³ΠΈΡΠ΅ ΠΈ ΡΠ΅Ρ Π½ΠΈΡΠ΅ Π³ΡΠ΅ΡΠΊΠΈ.
ΠΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ ΡΠ°ΠΊΠΈΠ²Π° ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ»ΠΎΠ³ΠΈΠΈ, ΠΊΠ°ΡΠΎ: , ΠΈ , ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡΠ°ΠΉΠΊΠΈ Π³ΠΈ Π·Π°Π΅Π΄Π½ΠΎ. Π‘ΡΡΠ΅ΠΌΠΈΠΌ ΡΠ΅ Π΄Π° ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·ΠΈΡΠ°ΠΌΠ΅ Π±ΡΠΎΡ Π½Π° ΡΠ°Π±Π»Π°ΡΠ°, ΡΠ°ΠΊΠ° ΡΠ΅ ΠΎΡ Π΅Π΄ΠΈΠ½ ΠΏΠΎΠ³Π»Π΅Π΄ Π΄Π° Π΅ ΡΡΠ½ΠΎ ΠΊΠΎΠΉ ΡΠ΅ΡΠ²ΠΈΡ Π² ΠΌΠΎΠΌΠ΅Π½ΡΠ° Π΄Π΅Π³ΡΠ°Π΄ΠΈΡΠ° (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΊΠΎΠ΄ΠΎΠ²Π΅ΡΠ΅ Π½Π° ΠΎΡΠ³ΠΎΠ²ΠΎΡΠΈ Π² ΡΠ΅ΠΊΡΠ½Π΄Π°, Π²ΡΠ΅ΠΌΠ΅ΡΠΎ Π·Π° ΠΎΡΠ³ΠΎΠ²ΠΎΡ Π² 99-ΠΈΡ ΠΏΡΠΎΡΠ΅Π½ΡΠΈΠ») ΠΈ ΡΠ°ΠΊΠ° Π½Π°ΡΠ°ΡΡΠΊ. ΠΠ΅Π΄Π½Π°Π³Π° ΡΠΎΠΌ ΡΠ΅ ΠΏΠΎΡΠ²ΡΡ Π½ΠΎΠ²ΠΈ ΠΌΠ΅ΡΡΠΈΠΊΠΈ Π·Π° ΠΎΠ±ΡΠΈΡΠ΅ ΡΠ°Π±Π»Π°, Π½ΠΈΠ΅ Π²Π΅Π΄Π½Π°Π³Π° Π³ΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠ°ΠΌΠ΅ ΠΈ Π΄ΠΎΠ±Π°Π²ΡΠΌΠ΅.
ΠΠ΅ ΡΡΠΌ ΡΠΈΡΡΠ²Π°Π» Π³ΡΠ°ΡΠΈΠΊΠΈ ΠΎΡ ΠΌΠ΅ΡΠ΅Ρ. ΠΠ΅ΡΠΎΡΡΠ½ΠΎ, ΡΠΎΠ²Π° Π΅ Π΄ΠΎΠ±ΡΡ Π·Π½Π°ΠΊ: Π·Π½Π°ΡΠΈ ΠΏΠΎΠ²Π΅ΡΠ΅ΡΠΎ "ΠΆΠ΅Π»Π°Π½ΠΈΡ" Π²Π΅ΡΠ΅ ΡΠ° ΡΠ΅Π°Π»ΠΈΠ·ΠΈΡΠ°Π½ΠΈ. ΠΠΌΠ°Π»ΠΎ Π΅ ΡΠ»ΡΡΠ°ΠΈ, ΠΊΠΎΠ³Π°ΡΠΎ Π·Π° ΡΠ΅Π΄ΠΌΠΈΡΠ° ΡΠΈΡΡΠ²Π°ΠΌ Π½ΠΎΠ²Π° Π³ΡΠ°ΡΠΈΠΊΠ° ΠΏΠΎΠ½Π΅ Π²Π΅Π΄Π½ΡΠΆ Π½Π° Π΄Π΅Π½.


ΠΠΎΠ»ΡΡΠ΅Π½ΠΈΡΡ ΡΠ΅Π·ΡΠ»ΡΠ°Ρ Π΅ ΡΠ΅Π½Π΅Π½, Π·Π°ΡΠΎΡΠΎ ΡΠ΅Π³Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈΡΠ΅ Π΄ΠΎΡΡΠ° ΡΡΠ΄ΠΊΠΎ ΠΈΠ΄Π²Π°Ρ ΠΏΡΠΈ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΠΈΡΠ΅ Ρ Π²ΡΠΏΡΠΎΡΠΈ "ΠΊΡΠ΄Π΅ ΠΌΠΎΠ³Π° Π΄Π° Π²ΠΈΠ΄Ρ Π½ΡΠΊΠ°ΠΊΠ²Π° ΠΌΠ΅ΡΡΠΈΠΊΠ°".
ΠΠ½Π΅Π΄ΡΡΠ²Π°Π½Π΅ Service Mesh Π½Π΅ Π΅ Π΄Π°Π»Π΅Ρ ΠΈ ΡΡΡΠ±Π²Π° Π΄Π° ΠΎΠ±Π»Π΅ΠΊΡΠΈ ΠΆΠΈΠ²ΠΎΡΠ° Π½Π° Π²ΡΠΈΡΠΊΠΈ, ΠΊΠΎΠ»Π΅Π³ΠΈΡΠ΅ ΠΎΡ Tools Π²Π΅ΡΠ΅ ΡΠ° Π±Π»ΠΈΠ·ΠΊΠΈ Π΄ΠΎ Π²Π½Π΅Π΄ΡΠ΅Π½ΠΈΠ΅ΡΠΎ Π½Π° Π°Π±ΡΡΡΠ°ΠΊΡΠ½ΠΈΡ "Istio Π½Π° Π·Π΄ΡΠ°Π²ΠΈΡ ΡΠΎΠ²Π΅ΠΊ": ΠΆΠΈΠ·Π½Π΅Π½ΠΈΡΡ ΡΠΈΠΊΡΠ» Π½Π° Π²ΡΡΠΊΠΎ HTTP(s) ΠΈΡΠΊΠ°Π½Π΅ ΡΠ΅ Π±ΡΠ΄Π΅ Π²ΠΈΠ΄ΠΈΠΌ Π² ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³Π°, ΠΈ Π²ΠΈΠ½Π°Π³ΠΈ ΡΠ΅ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΡΠ°Π·Π±Π΅ΡΠ΅ "Π½Π° ΠΊΠΎΠΉ Π΅ΡΠ°ΠΏ Π²ΡΠΈΡΠΊΠΎ Π΅ ΡΡΡΠΏΠ΅Π½ΠΎ" ΠΏΡΠΈ ΠΌΠ΅ΠΆΠ΄ΡΡΠ΅ΡΠ²ΠΈΠ·Π½ΠΎΡΠΎ (ΠΈ Π½Π΅ ΡΠ°ΠΌΠΎ) Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠ΅. ΠΠ±ΠΎΠ½ΠΈΡΠ°ΠΉΡΠ΅ ΡΠ΅ Π·Π° Π½ΠΎΠ²ΠΈΠ½ΠΈΡΠ΅ ΠΎΡ Ρ Π°Π±Π° Π½Π° ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΡ ΠΠΎΠΌΠΠ»ΠΈΠΊ. =)
ΠΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° Kubernetes ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ°
ΠΡΡΠΎΡΠΈΡΠ΅ΡΠΊΠΈ Π΅ ΡΠ°ΠΊΠ°, ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ ΠΏΠ°ΡΡΠ½Π°ΡΠ° Π²Π΅ΡΡΠΈΡ Kubespray β Ansible ΡΠΎΠ»Ρ Π·Π° ΡΠ°Π·Π³ΡΡΡΠ°Π½Π΅, ΡΠ°Π·ΡΠΈΡΡΠ²Π°Π½Π΅ ΠΈ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ Π½Π° Kubernetes. Π ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ ΠΌΠΎΠΌΠ΅Π½Ρ ΠΎΡ ΠΎΡΠ½ΠΎΠ²Π½Π°ΡΠ° ΠΊΠ»ΠΎΠ½ΠΊΠ° Π±Π΅ΡΠ΅ ΠΏΡΠ΅ΠΌΠ°Ρ Π½Π°ΡΠ° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ°ΡΠ° Π½Π° non-kubeadm ΠΈΠ½ΡΡΠ°Π»Π°ΡΠΈΠΈ, Π° ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ Π·Π° ΠΏΡΠ΅ΠΌΠΈΠ½Π°Π²Π°Π½Π΅ Π½Π° kubeadm Π½Π΅ Π±Π΅ΡΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π΅Π½ΠΎ. Π ΡΠ΅Π·ΡΠ»ΡΠ°Ρ Π½Π° ΡΠΎΠ²Π° ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΡΡΠ° Southbridge Π½Π°ΠΏΡΠ°Π²ΠΈ ΡΠ²ΠΎΠΉ fork (Ρ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° kubeadm ΠΈ Π±ΡΡΠ· ΡΠΈΠΊΠΈΡ Π½Π° ΠΊΡΠΈΡΠΈΡΠ½ΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ).
ΠΡΠΎΡΠ΅ΡΡΡ Π½Π° ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ Π½Π° Π²ΡΠΈΡΠΊΠΈ k8s ΠΊΠ»ΡΡΡΠ΅ΡΠΈ ΠΈΠ·Π³Π»Π΅ΠΆΠ΄Π° ΡΠ°ΠΊΠ°:
- ΠΠ·Π΅ΠΌΠ°ΠΌΠ΅ Kubespray ΠΎΡ Southbridge, ΡΡΠΏΠΎΡΡΠ°Π²ΡΠΌΠ΅ Ρ Π½Π°ΡΠ°ΡΠ° ΠΊΠ»ΠΎΠ½ΠΊΠ°, ΠΌΠ΅ΡΠ΄ΠΆΠΈΠΌ.
- ΠΡΡΠΊΠ°ΠΌΠ΅ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ΡΠΎ Π² Stress-"ΠΡΠ±".
- ΠΡΡΠΊΠ°ΠΌΠ΅ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ΡΠΎ ΠΏΠΎ Π΅Π΄Π½Π° Π½ΠΎΠ΄Π° (Π² Ansible ΡΠΎΠ²Π° Π΅ "serial: 1") Π² Dev-"ΠΡΠ±".
- ΠΠ±Π½ΠΎΠ²ΡΠ²Π°ΠΌΠ΅ Prod Π² ΡΡΠ±ΠΎΡΠ° Π²Π΅ΡΠ΅Ρ ΠΏΠΎ Π΅Π΄Π½Π° Π½ΠΎΠ΄Π°.
Π Π±ΡΠ΄Π΅ΡΠ΅ ΠΈΠΌΠ°ΠΌΠ΅ ΠΏΠ»Π°Π½ΠΎΠ²Π΅ Π΄Π° Π·Π°ΠΌΠ΅Π½ΠΈΠΌ Kubespray Ρ Π½Π΅ΡΠΎ ΠΏΠΎ-Π±ΡΡΠ·ΠΎ ΠΈ Π΄Π° ΠΏΡΠ΅ΠΌΠΈΠ½Π΅ΠΌ Π½Π° kubeadm.
ΠΠ±ΡΠΎ ΠΈΠΌΠ°ΠΌΠ΅ ΡΡΠΈ "ΠΡΠ±Π°": Stress, Dev ΠΈ Prod. ΠΠ»Π°Π½ΠΈΡΠ°ΠΌΠ΅ Π΄Π° ΡΡΠ°ΡΡΠΈΡΠ°ΠΌΠ΅ ΠΎΡΠ΅ Π΅Π΄ΠΈΠ½ (hot standby) Prod-"ΠΡΠ±" Π²ΡΠ² Π²ΡΠΎΡΠΈΡ Π¦ΠΠ. Stress ΠΈ Dev ΠΆΠΈΠ²Π΅ΡΡ Π² "Π²ΠΈΡΡΡΠ°Π»ΠΊΠΈ" (oVirt Π·Π° Stress ΠΈ VMWare cloud Π·Π° Dev). Prod-"ΠΡΠ±" ΠΆΠΈΠ²Π΅Π΅ Π½Π° "Π³ΠΎΠ»ΠΎ ΠΆΠ΅Π»ΡΠ·ΠΎ" (bare metal): ΡΠΎΠ²Π° ΡΠ° Π΅Π΄Π½Π°ΠΊΠ²ΠΈ Π½ΠΎΠ΄ΠΈ Ρ 32 CPU Π½ΠΈΡΠΊΠΈ, 64-128 ΠΠ± ΠΏΠ°ΠΌΠ΅Ρ ΠΈ 300 ΠΠ± SSD RAID 10 β ΠΎΠ±ΡΠΎ 50 Π½Π° Π±ΡΠΎΠΉ. Π’ΡΠΈ "ΡΡΠ½ΠΊΠΈ" Π½ΠΎΠ΄ΠΈ ΡΠ° ΠΎΡΠ΄Π΅Π»Π΅Π½ΠΈ Π·Π° "ΠΌΠ°ΡΡΠ΅ΡΠ°" Prod-"ΠΡΠ±Π°": 16 ΠΠ± ΠΏΠ°ΠΌΠ΅Ρ, 12 CPU Π½ΠΈΡΠΊΠΈ.
ΠΠ° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΠ²ΠΎΡΠΎ ΠΏΡΠ΅Π΄ΠΏΠΎΡΠΈΡΠ°ΠΌΠ΅ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ "Π³ΠΎΠ»ΠΎ ΠΆΠ΅Π»ΡΠ·ΠΎ" ΠΈ ΠΈΠ·Π±ΡΠ³Π²Π°ΠΌΠ΅ ΠΈΠ·Π»ΠΈΡΠ½ΠΈ ΡΠ»ΠΎΠ΅Π²Π΅ ΠΊΠ°ΡΠΎ OpenStack: Π½Π΅ Π½ΠΈ ΡΡΡΠ±Π²Π°Ρ "ΡΡΠΌΠ½ΠΈ ΡΡΡΠ΅Π΄ΠΈ" ΠΈ CPU steal timeΠ‘Π»ΠΎΠΆΠ½ΠΎΡΡΡΠ° Π½Π° Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠΈΡΠ°Π½Π΅ΡΠΎ Π½Π°ΡΠ°ΡΡΠ²Π° ΠΏΠΎΡΡΠΈ Π΄Π²ΠΎΠΉΠ½ΠΎ Π² ΡΠ»ΡΡΠ°ΠΉ Π½Π° in-house OpenStack.
ΠΠ° CI/CD βΠΡΠ±ΠΎΠ²ΠΈΡΠ΅β ΠΈ Π΄ΡΡΠ³ΠΈ ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ½ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ ΠΎΡΠ΄Π΅Π»Π΅Π½ GIT-ΡΡΡΠ²ΡΡ, Helm 3 (ΠΏΡΠ΅Ρ Π²ΡΡΠ»ΡΠ½Π΅ΡΠΎ ΠΎΡ Helm 2 Π±Π΅ΡΠ΅ Π΄ΠΎΡΡΠ° Π±ΠΎΠ»Π΅Π·Π½Π΅Π½ΠΎ, Π½ΠΎ ΡΠΌΠ΅ ΠΌΠ½ΠΎΠ³ΠΎ Π΄ΠΎΠ²ΠΎΠ»Π½ΠΈ ΠΎΡ ΠΎΠΏΡΠΈΡΡΠ° atomic), Jenkins, Ansible ΠΈ Docker. ΠΠ±ΠΈΡΠ°ΠΌΠ΅ feature-bΡΠ°Π½ΡΠΎΠ²Π΅ ΠΈ Π΄Π΅ΠΏΠ»ΠΎΠΉ Π² ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΡΡΠ΅Π΄ΠΈ ΠΎΡ Π΅Π΄Π½ΠΎ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅.
ΠΠ°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅

Π’Π°ΠΊΠ°, Π² ΠΎΠ±ΡΠΈ Π»ΠΈΠ½ΠΈΠΈ, Π² ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΡΡΠ° ΠΠΎΠΌΠΠ»ΠΈΠΊ ΠΈΠ·Π³Π»Π΅ΠΆΠ΄Π° ΠΏΡΠΎΡΠ΅ΡΡΡ DevOps ΠΎΡ ΡΡΡΠ°Π½Π° Π½Π° ΠΈΠ½ΠΆΠ΅Π½Π΅ΡΠ° ΠΏΠΎ Π΅ΠΊΡΠΏΠ»ΠΎΠ°ΡΠ°ΡΠΈΡ. Π‘ΡΠ°ΡΠΈΡΡΠ° ΡΠ΅ ΠΏΠΎΠ»ΡΡΠΈ ΠΏΠΎ-ΠΌΠ°Π»ΠΊΠΎ ΡΠ΅Ρ
Π½ΠΈΡΠ΅ΡΠΊΠ°, ΠΎΡΠΊΠΎΠ»ΠΊΠΎΡΠΎ ΠΎΡΠ°ΠΊΠ²Π°Ρ
: Π·Π°ΡΠΎΠ²Π°, ΡΠ»Π΅Π΄Π΅ΡΠ΅ Π½ΠΎΠ²ΠΈΠ½ΠΈΡΠ΅ Π½Π° ΠΠΎΠΌΠΠ»ΠΈΠΊ Π² Π₯Π°Π±ΡΠ°: ΡΠ΅ ΠΈΠΌΠ° ΠΏΠΎ-"Ρ
Π°ΡΠ΄ΠΊΠΎΡΠ½ΠΈ" ΡΡΠ°ΡΠΈΠΈ Π·Π° Kubernetes ΠΈ Π½Π΅ ΡΠ°ΠΌΠΎ.
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: habr.com
