Kubernetes Π² Π”ΠΎΠΌΠšΠ»ΠΈΠΊ: ΠΊΠ°ΠΊ ΡΠΏΠ°Ρ‚ΡŒ спокойно, управляя кластСром Π½Π° 1000 микросСрвисов

МСня Π·ΠΎΠ²ΡƒΡ‚ Π’ΠΈΠΊΡ‚ΠΎΡ€ Π―Π³ΠΎΡ„Π°Ρ€ΠΎΠ², ΠΈ я занимаюсь Ρ€Π°Π·Π²ΠΈΡ‚ΠΈΠ΅ΠΌ Kubernetes-ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ Π² ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ Π”ΠΎΠΌΠšΠ»ΠΈΠΊ Π² долТности тСхничСского руководитСля Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π΅ Ops (эксплуатация). Π― Ρ…ΠΎΡ‚Π΅Π» Π±Ρ‹ Ρ€Π°ΡΡΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΎΠ± устройствС Π½Π°ΡˆΠΈΡ… процСссов Dev <-> Ops, ΠΎΠ± особСнностях эксплуатации ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ· самых Π±ΠΎΠ»ΡŒΡˆΠΈΡ… k8s-кластСров Π² России, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΎ DevOps/SRE-ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ°Ρ…, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ примСняСт наша ΠΊΠΎΠΌΠ°Π½Π΄Π°.

Kubernetes Π² Π”ΠΎΠΌΠšΠ»ΠΈΠΊ: ΠΊΠ°ΠΊ ΡΠΏΠ°Ρ‚ΡŒ спокойно, управляя кластСром Π½Π° 1000 микросСрвисов

Команда Ops

Π’ ΠΊΠΎΠΌΠ°Π½Π΄Π΅ Ops Π½Π° Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ 15 Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊ. Π’Ρ€ΠΎΠ΅ ΠΈΠ· Π½ΠΈΡ… ΠΎΡ‚Π²Π΅Ρ‡Π°ΡŽΡ‚ Π·Π° офис, Π΄Π²ΠΎΠ΅ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ Π² Π΄Ρ€ΡƒΠ³ΠΎΠΌ часовом поясС ΠΈ доступны, Π² Ρ‚ΠΎΠΌ числС, ΠΈ Π½ΠΎΡ‡ΡŒΡŽ. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, всСгда ΠΊΡ‚ΠΎ-Ρ‚ΠΎ ΠΈΠ· Ops находится Ρƒ ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€Π° ΠΈ Π³ΠΎΡ‚ΠΎΠ² ΡΡ€Π΅Π°Π³ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½Π° ΠΈΠ½Ρ†ΠΈΠ΄Π΅Π½Ρ‚ любой слоТности. Ночных дСТурств Ρƒ нас Π½Π΅Ρ‚, Ρ‡Ρ‚ΠΎ сохраняСт Π½Π°ΡˆΡƒ психику ΠΈ Π΄Π°Ρ‘Ρ‚ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ всСм Π²Ρ‹ΡΡ‹ΠΏΠ°Ρ‚ΡŒΡΡ ΠΈ ΠΏΡ€ΠΎΠ²ΠΎΠ΄ΠΈΡ‚ΡŒ досуг Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π·Π° ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ΠΎΠΌ.

Kubernetes Π² Π”ΠΎΠΌΠšΠ»ΠΈΠΊ: ΠΊΠ°ΠΊ ΡΠΏΠ°Ρ‚ΡŒ спокойно, управляя кластСром Π½Π° 1000 микросСрвисов

ΠšΠΎΠΌΠΏΠ΅Ρ‚Π΅Π½Ρ†ΠΈΠΈ Ρƒ всСх Ρ€Π°Π·Π½Ρ‹Π΅: сСтСвики, DBA, спСциалисты ΠΏΠΎ стСку ELK, Kubernetes-Π°Π΄ΠΌΠΈΠ½Ρ‹/Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ, спСциалисты ΠΏΠΎ ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³Ρƒ, Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ, ΠΆΠ΅Π»Π΅Π·Ρƒ ΠΈ Ρ‚.Π΄. ΠžΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ всСх ΠΎΠ΄Π½ΠΎ β€” ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ Π·Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π² ΠΊΠ°ΠΊΠΎΠΉ-Ρ‚ΠΎ стСпСни любого ΠΈΠ· нас: Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ввСсти Π½ΠΎΠ²Ρ‹Π΅ Π½ΠΎΠ΄Ρ‹ Π² кластСр k8s, ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ PostgreSQL, Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ pipeline CI/CD + Ansible, Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ‡Ρ‚ΠΎ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ Π½Π° Python/Bash/Go, ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ ΠΆΠ΅Π»Π΅Π·ΠΊΡƒ Π² Π¦ΠžΠ”. Π‘ΠΈΠ»ΡŒΠ½Ρ‹Π΅ ΠΊΠΎΠΌΠΏΠ΅Ρ‚Π΅Π½Ρ†ΠΈΠΈ Π² ΠΊΠ°ΠΊΠΎΠΉ-Π»ΠΈΠ±ΠΎ области Π½Π΅ ΠΌΠ΅ΡˆΠ°ΡŽΡ‚ ΡΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π΄Π΅ΡΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΈ Π½Π°Ρ‡Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠΊΠ°Ρ‡ΠΈΠ²Π°Ρ‚ΡŒΡΡ Π² ΠΊΠ°ΠΊΠΎΠΉ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ Π΄Ρ€ΡƒΠ³ΠΎΠΉ области. НапримСр, я устраивался Π² компанию ΠΊΠ°ΠΊ спСциалист ΠΏΠΎ PostgreSQL, Π° сСйчас моя главная Π·ΠΎΠ½Π° отвСтствСнности β€” кластСры Kubernetes. Π’ ΠΊΠΎΠΌΠ°Π½Π΄Π΅ любой рост Ρ‚ΠΎΠ»ΡŒΠΊΠΎ привСтствуСтся ΠΈ ΠΎΡ‡Π΅Π½ΡŒ Ρ€Π°Π·Π²ΠΈΡ‚ΠΎ чувство ΠΏΠ»Π΅Ρ‡Π°.

ΠšΡΡ‚Π°Ρ‚ΠΈ, ΠΌΡ‹ Ρ…Π°Π½Ρ‚ΠΈΠΌ. ВрСбования ΠΊ ΠΊΠ°Π½Π΄ΠΈΠ΄Π°Ρ‚Π°ΠΌ довольно стандартныС. Π›ΠΈΡ‡Π½ΠΎ для мСня Π²Π°ΠΆΠ½ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊ вписывался Π² ΠΊΠΎΠ»Π»Π΅ΠΊΡ‚ΠΈΠ², Π±Ρ‹Π» Π½Π΅ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚Π½Ρ‹ΠΌ, Π½ΠΎ Ρ‚Π°ΠΊΠΆΠ΅ ΡƒΠΌΠ΅Π» ΠΎΡ‚ΡΡ‚Π°ΠΈΠ²Π°Ρ‚ΡŒ свою Ρ‚ΠΎΡ‡ΠΊΡƒ зрСния, ΠΆΠ΅Π»Π°Π» Ρ€Π°Π·Π²ΠΈΠ²Π°Ρ‚ΡŒΡΡ ΠΈ Π½Π΅ боялся Π΄Π΅Π»Π°Ρ‚ΡŒ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π½ΠΎΠ²ΠΎΠ΅, ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π» свои ΠΈΠ΄Π΅ΠΈ. Π’Π°ΠΊΠΆΠ΅, ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ Π½Π°Π²Ρ‹ΠΊΠΈ программирования Π½Π° скриптовых языках, Π·Π½Π°Π½ΠΈΠ΅ основ Linux ΠΈ английского языка. Английский Π½ΡƒΠΆΠ΅Π½ просто для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊ Π² случаС Ρ„Π°ΠΊΠ°ΠΏΠ° ΠΌΠΎΠ³ Π·Π°Π³ΡƒΠ³Π»ΠΈΡ‚ΡŒ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ Π·Π° 10 сСкунд, Π° Π½Π΅ Π·Π° 10 ΠΌΠΈΠ½ΡƒΡ‚. Π‘ΠΎ спСциалистами с Π³Π»ΡƒΠ±ΠΎΠΊΠΈΠΌ Π·Π½Π°Π½ΠΈΠ΅ΠΌ Linux сСйчас ΠΎΡ‡Π΅Π½ΡŒ слоТно: смСшно, Π½ΠΎ Π΄Π²Π° ΠΊΠ°Π½Π΄ΠΈΠ΄Π°Ρ‚Π° ΠΈΠ· Ρ‚Ρ€Π΅Ρ… Π½Π΅ ΠΌΠΎΠ³ΡƒΡ‚ ΠΎΡ‚Π²Π΅Ρ‚ΠΈΡ‚ΡŒ Π½Π° вопрос Β«Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Load Average? Из Ρ‡Π΅Π³ΠΎ ΠΎΠ½ складываСтся?Β», Π° вопрос «Как ΡΠΎΠ±Ρ€Π°Ρ‚ΡŒ core dump ΠΈΠ· сишной ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹Β» ΡΡ‡ΠΈΡ‚Π°ΡŽΡ‚ Ρ‡Π΅ΠΌ-Ρ‚ΠΎ ΠΈΠ· ΠΌΠΈΡ€Π° ΡΠ²Π΅Ρ€Ρ…Π»ΡŽΠ΄Π΅ΠΉβ€¦ ΠΈΠ»ΠΈ Π΄ΠΈΠ½ΠΎΠ·Π°Π²Ρ€ΠΎΠ². Π‘ этим приходится ΠΌΠΈΡ€ΠΈΡ‚ΡŒΡΡ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Ρƒ людСй сильно Ρ€Π°Π·Π²ΠΈΡ‚Ρ‹ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΊΠΎΠΌΠΏΠ΅Ρ‚Π΅Π½Ρ†ΠΈΠΈ, Π° «линуксу» ΠΌΡ‹ Π½Π°ΡƒΡ‡ΠΈΠΌ. ΠžΡ‚Π²Π΅Ρ‚ Π½Π° вопрос Β«Π·Π°Ρ‡Π΅ΠΌ это всё Π½ΡƒΠΆΠ½ΠΎ Π·Π½Π°Ρ‚ΡŒ 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 backend + HTML5), Π° Π°Π΄ΠΌΠΈΠ½Ρ‹ ΠΊΠΎΠ½ΡΡƒΠ»ΡŒΡ‚ΠΈΡ€ΡƒΡŽΡ‚ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² ΠΏΠΎ Π»ΡŽΠ±Ρ‹ΠΌ инфраструктурным вопросам, ΠΈΠ»ΠΈ вопросам, связанным с k8s.

ΠšΡΡ‚Π°Ρ‚ΠΈ, Ρƒ нас Π²ΠΎΠΎΠ±Ρ‰Π΅ Π½Π΅Ρ‚ ΠΌΠΎΠ½ΠΎΠ»ΠΈΡ‚Π°, Ρ‚ΠΎΠ»ΡŒΠΊΠΎ микросСрвисы. Π˜Ρ… количСство ΠΏΠΎΠΊΠ° Ρ‡Ρ‚ΠΎ колСблСтся ΠΌΠ΅ΠΆΠ΄Ρƒ 900 ΠΈ 1000 Π² prod k8s-кластСрС, Ссли ΠΈΠ·ΠΌΠ΅Ρ€ΡΡ‚ΡŒ ΠΏΠΎ количСству deployments. ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ ΠΏΠΎΠ΄ΠΎΠ² колСблСтся ΠΌΠ΅ΠΆΠ΄Ρƒ 1700 ΠΈ 2000. Подов Π² prod-кластСрС сСйчас ΠΎΠΊΠΎΠ»ΠΎ 2000.

Π’ΠΎΡ‡Π½Ρ‹Π΅ числа Π½Π°Π·Π²Π°Ρ‚ΡŒ Π½Π΅ ΠΌΠΎΠ³Ρƒ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΌΡ‹ слСдим Π·Π° Π½Π΅Π½ΡƒΠΆΠ½Ρ‹ΠΌΠΈ микросСрвисами ΠΈ Π²Ρ‹ΠΏΠΈΠ»ΠΈΠ²Π°Π΅ΠΌ ΠΈΡ… Π² полуавтоматичСском Ρ€Π΅ΠΆΠΈΠΌΠ΅. Π‘Π»Π΅Π΄ΠΈΡ‚ΡŒ Π·Π° Π½Π΅Π½ΡƒΠΆΠ½Ρ‹ΠΌΠΈ сущностями Π² k8s Π½Π°ΠΌ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ useless-operator, Ρ‡Ρ‚ΠΎ Π·Π΄ΠΎΡ€ΠΎΠ²ΠΎ экономит рСсурсы ΠΈ дСньги.

Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ рСсурсами

ΠœΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³

ΠšΡ€Π°Π΅ΡƒΠ³ΠΎΠ»ΡŒΠ½Ρ‹ΠΌ ΠΊΠ°ΠΌΠ½Π΅ΠΌ Π² эксплуатации большого кластСра становится Π³Ρ€Π°ΠΌΠΎΡ‚Π½ΠΎ выстроСнный ΠΈ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠ²Π½Ρ‹ΠΉ ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³. ΠœΡ‹ ΠΏΠΎΠΊΠ° Π½Π΅ нашли ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΏΠΎΠΊΡ€Ρ‹Π»ΠΎ Π±Ρ‹ 100 % всСх Β«Ρ…ΠΎΡ‚Π΅Π»ΠΎΠΊΒ» ΠΏΠΎ ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³Ρƒ, поэтому пСриодичСски ΠΊΠ»Π΅ΠΏΠ°Π΅ΠΌ Ρ€Π°Π·Π½Ρ‹Π΅ кастомныС Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π² этой срСдС.

  • Zabbix. Π‘Ρ‚Π°Ρ€Ρ‹ΠΉ Π΄ΠΎΠ±Ρ€Ρ‹ΠΉ ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½, Π² ΠΏΠ΅Ρ€Π²ΡƒΡŽ ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ, для отслСТивания ΠΎΠ±Ρ‰Π΅Π³ΠΎ состояния инфраструктуры. Он Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ Π½Π°ΠΌ, ΠΊΠΎΠ³Π΄Π° Π½ΠΎΠ΄Π° ΡƒΠΌΠΈΡ€Π°Π΅Ρ‚ ΠΏΠΎ ΠΏΡ€ΠΎΡ†Ρƒ, памяти, дискам, сСти ΠΈ Ρ‚Π°ΠΊ Π΄Π°Π»Π΅Π΅. НичСго ΡΠ²Π΅Ρ€Ρ…ΡŠΠ΅ΡΡ‚Π΅ΡΡ‚Π²Π΅Π½Π½ΠΎΠ³ΠΎ, Π½ΠΎ Ρ‚Π°ΠΊΠΆΠ΅ Ρƒ нас Π΅ΡΡ‚ΡŒ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΉ DaemonSet ΠΈΠ· Π°Π³Π΅Π½Ρ‚ΠΎΠ², с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ…, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΌΡ‹ ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠΌ состояниС DNS Π² кластСрС: ΠΈΡ‰Π΅ΠΌ тупящиС ΠΏΠΎΠ΄Ρ‹ coredns, провСряСм Π΄ΠΎΡΡ‚ΡƒΠΏΠ½ΠΎΡΡ‚ΡŒ Π²Π½Π΅ΡˆΠ½ΠΈΡ… хостов. Казалось Π±Ρ‹, Π·Π°Ρ‡Π΅ΠΌ Ρ€Π°Π΄ΠΈ этого Π·Π°ΠΌΠΎΡ€Π°Ρ‡ΠΈΠ²Π°Ρ‚ΡŒΡΡ, Π½ΠΎ Π½Π° Π±ΠΎΠ»ΡŒΡˆΠΈΡ… ΠΎΠ±ΡŠΠ΅ΠΌΠ°Ρ… Ρ‚Ρ€Π°Ρ„ΠΈΠΊΠ° этот ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ являСтся ΡΠ΅Ρ€ΡŒΠ΅Π·Π½ΠΎΠΉ Ρ‚ΠΎΡ‡ΠΊΠΎΠΉ ΠΎΡ‚ΠΊΠ°Π·Π°. Π Π°Π½Π΅Π΅ я ΡƒΠΆΠ΅ описывал, ΠΊΠ°ΠΊ боролся с ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒΡŽ DNS Π² кластСрС.
  • Prometheus Operator. Набор Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… экспортСров Π΄Π°Ρ‘Ρ‚ большой ΠΎΠ±Π·ΠΎΡ€ всСх ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² кластСра. Π”Π°Π»Π΅Π΅ Π²ΠΈΠ·ΡƒΠ°Π»ΠΈΠ·ΠΈΡ€ΡƒΠ΅ΠΌ всё это Π½Π° Π±ΠΎΠ»ΡŒΡˆΠΈΡ… Π΄Π°ΡˆΠ±ΠΎΡ€Π΄Π°Ρ… Π² Grafana, Π° для ΠΎΠΏΠΎΠ²Π΅Ρ‰Π΅Π½ΠΈΠΉ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ alertmanager.

Π•Ρ‰Π΅ ΠΎΠ΄Π½ΠΈΠΌ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ΠΌ инструмСнтом для нас стал list-ingress. ΠœΡ‹ написали Π΅Π³ΠΎ послС Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ нСсколько Ρ€Π°Π· ΡΡ‚ΠΎΠ»ΠΊΠ½ΡƒΠ»ΠΈΡΡŒ с ситуациСй, ΠΊΠΎΠ³Π΄Π° ΠΎΠ΄Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΏΠ΅Ρ€Π΅ΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚ своими путями Ingress Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹, ΠΈΠ·-Π·Π° Ρ‡Π΅Π³ΠΎ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π»ΠΈ ошибки 50x. БСйчас ΠΏΠ΅Ρ€Π΅Π΄ Π΄Π΅ΠΏΠ»ΠΎΠ΅ΠΌ Π½Π° ΠΏΡ€ΠΎΠ΄ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΡŽΡ‚, Ρ‡Ρ‚ΠΎ Π½ΠΈΠΊΠΎΠ³ΠΎ Π½Π΅ Π·Π°Π΄Π΅Π½ΡƒΡ‚, Π° для ΠΌΠΎΠ΅ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ это Ρ…ΠΎΡ€ΠΎΡˆΠΈΠΉ инструмСнт для ΠΏΠ΅Ρ€Π²ΠΈΡ‡Π½ΠΎΠΉ диагностики ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ с Ingress’Π°ΠΌΠΈ. Π—Π°Π±Π°Π²Π½ΠΎ, Ρ‡Ρ‚ΠΎ сначала Π΅Π³ΠΎ написали для Π°Π΄ΠΌΠΈΠ½ΠΎΠ² ΠΈ выглядСл ΠΎΠ½ довольно Β«Ρ‚ΠΎΠΏΠΎΡ€Π½ΠΎΒ», Π½ΠΎ послС Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ инструмСнт полюбился dev-ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌ, ΠΎΠ½ сильно прСобразился ΠΈ стал Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ Π½Π΅ ΠΊΠ°ΠΊ Β«Π°Π΄ΠΌΠΈΠ½ сдСлал Π²Π΅Π±-ΠΌΠΎΡ€Π΄Ρƒ для Π°Π΄ΠΌΠΈΠ½ΠΎΠ²Β». Π‘ΠΊΠΎΡ€ΠΎ ΠΌΡ‹ откаТСмся ΠΎΡ‚ этого инструмСнта ΠΈ ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Π΅ ситуации Π±ΡƒΠ΄ΡƒΡ‚ Π²Π°Π»ΠΈΠ΄ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π΅Ρ‰Π΅ Π΄ΠΎ Π²Ρ‹ΠΊΠ°Ρ‚ΠΊΠΈ ΠΏΠ°ΠΉΠΏΠ»Π°ΠΉΠ½Π°.

РСсурсы ΠΊΠΎΠΌΠ°Π½Π΄ Π² Β«ΠšΡƒΠ±Π΅Β»

ΠŸΡ€Π΅ΠΆΠ΄Π΅ Ρ‡Π΅ΠΌ ΠΏΡ€ΠΈΡΡ‚ΡƒΠΏΠΈΡ‚ΡŒ ΠΊ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°ΠΌ, стоит ΠΎΠ±ΡŠΡΡΠ½ΠΈΡ‚ΡŒ, ΠΊΠ°ΠΊ Ρƒ нас Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π²Ρ‹Π΄Π΅Π»Π΅Π½ΠΈΠ΅ рСсурсов для микросСрвисов.

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ‚ΡŒ, ΠΊΠ°ΠΊΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΈ Π² ΠΊΠ°ΠΊΠΈΡ… количСствах ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ свои рСсурсы (процСссор, ΠΏΠ°ΠΌΡΡ‚ΡŒ, Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ 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 (ΠΎΠ΄ΠΈΠ½ ΠΈΠ»ΠΈ Π±ΠΎΠ»Π΅Π΅ Π΄ΠΎΠΊΠ΅Ρ€-ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΎΠ²) Π² кластСрС. Limit β€” это Π½Π΅Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ максимум. Часто ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ Π½Π° Π³Ρ€Π°Ρ„ΠΈΠΊΠ°Ρ…, ΠΊΠ°ΠΊ какая-Ρ‚ΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Π° выставила сСбС слишком ΠΌΠ½ΠΎΠ³ΠΎ рСквСстов для всСх своих ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΈ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π·Π°Π΄Π΅ΠΏΠ»ΠΎΠΈΡ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π² Β«ΠšΡƒΠ±Β», Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΏΠΎΠ΄ ΠΈΡ… namespace всС request’Ρ‹ ΡƒΠΆΠ΅ Β«ΠΏΠΎΡ‚Ρ€Π°Ρ‡Π΅Π½Ρ‹Β».

ΠŸΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΉ Π²Ρ‹Ρ…ΠΎΠ΄ ΠΈΠ· Ρ‚Π°ΠΊΠΎΠΉ ситуации: ΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠ΅ ΠΏΠΎΡ‚Ρ€Π΅Π±Π»Π΅Π½ΠΈΠ΅ рСсурсов ΠΈ ΡΡ€Π°Π²Π½ΠΈΠ²Π°Ρ‚ΡŒ с Π·Π°ΠΏΡ€ΠΎΡˆΠ΅Π½Π½Ρ‹ΠΌ количСством (Request).

Kubernetes Π² Π”ΠΎΠΌΠšΠ»ΠΈΠΊ: ΠΊΠ°ΠΊ ΡΠΏΠ°Ρ‚ΡŒ спокойно, управляя кластСром Π½Π° 1000 микросСрвисов
Kubernetes Π² Π”ΠΎΠΌΠšΠ»ΠΈΠΊ: ΠΊΠ°ΠΊ ΡΠΏΠ°Ρ‚ΡŒ спокойно, управляя кластСром Π½Π° 1000 микросСрвисов

На ΡΠΊΡ€ΠΈΠ½ΡˆΠΎΡ‚Π°Ρ… Π²Ρ‹ΡˆΠ΅ Π²ΠΈΠ΄Π½ΠΎ, Ρ‡Ρ‚ΠΎ Β«Π·Π°ΠΏΡ€ΠΎΡˆΠ΅Π½Π½Ρ‹Π΅Β» (Requested) CPU ΠΏΠΎΠ΄Π±ΠΈΡ€Π°ΡŽΡ‚ΡΡ ΠΊ Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠΌΡƒ количСству ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ², Π° Limits ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΡ€Π΅Π²Ρ‹ΡˆΠ°Ρ‚ΡŒ Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠ΅ количСство ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ² Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΡŒΠ½Ρ‹Ρ… процСссоров =)

Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ Ρ€Π°Π·Π±Π΅Ρ€Ρ‘ΠΌ ΠΊΠ°ΠΊΠΎΠΉ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ namespace (я Π²Ρ‹Π±Ρ€Π°Π» namespace kube-system β€” систСмный namespace для ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² самого Β«ΠšΡƒΠ±Π°Β») ΠΈ посмотрим ΡΠΎΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅ Ρ€Π΅Π°Π»ΡŒΠ½ΠΎ использованного процСссорного Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΠΈ памяти ΠΊ Π·Π°ΠΏΡ€ΠΎΡˆΠ΅Π½Π½ΠΎΠΌΡƒ:

Kubernetes Π² Π”ΠΎΠΌΠšΠ»ΠΈΠΊ: ΠΊΠ°ΠΊ ΡΠΏΠ°Ρ‚ΡŒ спокойно, управляя кластСром Π½Π° 1000 микросСрвисов

ΠžΡ‡Π΅Π²ΠΈΠ΄Π½ΠΎ, Ρ‡Ρ‚ΠΎ памяти ΠΈ ЦПУ Π·Π°Ρ€Π΅Π·Π΅Ρ€Π²ΠΈΡ€ΠΎΠ²Π°Π½ΠΎ ΠΏΠΎΠ΄ систСмныС слуТбы Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ большС, Ρ‡Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Ρ€Π΅Π°Π»ΡŒΠ½ΠΎ. Π’ случаС с kube-system это ΠΎΠΏΡ€Π°Π²Π΄Π°Π½ΠΎ: Π±Ρ‹Π²Π°Π»ΠΎ, Ρ‡Ρ‚ΠΎ nginx ingress controller ΠΈΠ»ΠΈ nodelocaldns Π² ΠΏΠΈΠΊΠ΅ ΡƒΠΏΠΈΡ€Π°Π»ΠΈΡΡŒ Π² CPU ΠΈ ΠΎΡ‚ΡŠΠ΅Π΄Π°Π»ΠΈ ΠΎΡ‡Π΅Π½ΡŒ ΠΌΠ½ΠΎΠ³ΠΎ RAM, поэтому здСсь Ρ‚Π°ΠΊΠΎΠΉ запас ΠΎΠΏΡ€Π°Π²Π΄Π°Π½. К Ρ‚ΠΎΠΌΡƒ ΠΆΠ΅, ΠΌΡ‹ Π½Π΅ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΠΎΠ»Π°Π³Π°Ρ‚ΡŒΡΡ Π½Π° Π³Ρ€Π°Ρ„ΠΈΠΊΠΈ Π·Π° послСдниС 3 часа: ΠΆΠ΅Π»Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Π²ΠΈΠ΄Π΅Ρ‚ΡŒ историчСскиС ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ Π·Π° большой ΠΏΠ΅Ρ€ΠΈΠΎΠ΄ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ.

Π‘Ρ‹Π»Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π° систСма Β«Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°Ρ†ΠΈΠΉΒ». НапримСр, здСсь ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ, ΠΊΠ°ΠΊΠΈΠΌ рСсурсам Π»ΡƒΡ‡ΡˆΠ΅ Π±Ρ‹ ΠΏΠΎΠ΄Π½ΡΡ‚ΡŒ Β«Π»ΠΈΠΌΠΈΡ‚Ρ‹Β» (вСрхняя Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½Π½Π°Ρ ΠΏΠ»Π°Π½ΠΊΠ°), Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π΅ происходило Β«Ρ‚Ρ€ΠΎΡ‚Ρ‚Π»ΠΈΠ½Π³Π°Β» (throttling): ΠΌΠΎΠΌΠ΅Π½Ρ‚Π°, ΠΊΠΎΠ³Π΄Π° ΠΏΠΎΠ΄ ΡƒΠΆΠ΅ ΠΏΠΎΡ‚Ρ€Π°Ρ‚ΠΈΠ» CPU ΠΈΠ»ΠΈ ΠΏΠ°ΠΌΡΡ‚ΡŒ Π·Π° ΠΎΡ‚Π²Π΅Π΄Π΅Π½Π½Ρ‹ΠΉ Π΅ΠΌΡƒ ΠΊΠ²Π°Π½Ρ‚ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΠΈ находится Π² ΠΎΠΆΠΈΠ΄Π°Π½ΠΈΠΈ, ΠΏΠΎΠΊΠ° Π΅Π³ΠΎ «разморозят»:

Kubernetes Π² Π”ΠΎΠΌΠšΠ»ΠΈΠΊ: ΠΊΠ°ΠΊ ΡΠΏΠ°Ρ‚ΡŒ спокойно, управляя кластСром Π½Π° 1000 микросСрвисов

А Π²ΠΎΡ‚ ΠΏΠΎΠ΄Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ слСдовало Π±Ρ‹ ΡƒΠΌΠ΅Ρ€ΠΈΡ‚ΡŒ Π°ΠΏΠΏΠ΅Ρ‚ΠΈΡ‚Ρ‹:

Kubernetes Π² Π”ΠΎΠΌΠšΠ»ΠΈΠΊ: ΠΊΠ°ΠΊ ΡΠΏΠ°Ρ‚ΡŒ спокойно, управляя кластСром Π½Π° 1000 микросСрвисов

ΠŸΡ€ΠΎ Ρ‚Ρ€ΠΎΡ‚Ρ‚Π»ΠΈΠ½Π³ + ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³ рСсурсов ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Π½Π΅ ΠΎΠ΄Π½Ρƒ ΡΡ‚Π°Ρ‚ΡŒΡŽ, поэтому Π·Π°Π΄Π°Π²Π°ΠΉΡ‚Π΅ вопросы Π² коммСнтариях. Π’ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… словах ΠΌΠΎΠ³Ρƒ ΡΠΊΠ°Π·Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π·Π°Π΄Π°Ρ‡Π° Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Ρ… ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊ вСсьма нСпростая ΠΈ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ ΠΌΠ½ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΠΈ эквилибристики с Β«ΠΎΠΊΠΎΠ½Π½Ρ‹ΠΌΠΈΒ» функциями ΠΈ Β«CTEΒ» Prometheus / VictoriaMetrics (эти Ρ‚Π΅Ρ€ΠΌΠΈΠ½Ρ‹ взяты Π² ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠΈ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Π² PromQL ΠΏΠΎΡ‡Ρ‚ΠΈ Ρ‡Ρ‚ΠΎ Π½Π΅Ρ‚ Π½ΠΈΡ‡Π΅Π³ΠΎ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠ³ΠΎ, ΠΈ приходится Π³ΠΎΡ€ΠΎΠ΄ΠΈΡ‚ΡŒ ΡΡ‚Ρ€Π°ΡˆΠ½Ρ‹Π΅ запросы Π½Π° нСсколько экранов тСкста ΠΈ Π·Π°Π½ΠΈΠΌΠ°Ρ‚ΡŒΡΡ ΠΈΡ… ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠ΅ΠΉ).

Π’ ΠΈΡ‚ΠΎΠ³Π΅, Ρƒ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² Π΅ΡΡ‚ΡŒ инструмСнты для ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³Π° своих namespaces Π² Β«ΠšΡƒΠ±Π΅Β», ΠΈ ΠΎΠ½ΠΈ способны сами Π²Ρ‹Π±ΠΈΡ€Π°Ρ‚ΡŒ, Π³Π΄Π΅ ΠΈ Π² ΠΊΠ°ΠΊΠΎΠ΅ врСмя Ρƒ ΠΊΠ°ΠΊΠΈΡ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΌΠΎΠΆΠ½ΠΎ Β«ΠΏΠΎΠ΄Ρ€Π΅Π·Π°Ρ‚ΡŒΒ» рСсурсы, Π° ΠΊΠ°ΠΊΠΈΠΌ ΠΏΠΎΠ΄Π°ΠΌ ΠΌΠΎΠΆΠ½ΠΎ Π½Π° всю Π½ΠΎΡ‡ΡŒ ΠΎΡ‚Π΄Π°Ρ‚ΡŒ вСсь CPU.

ΠœΠ΅Ρ‚ΠΎΠ΄ΠΎΠ»ΠΎΠ³ΠΈΠΈ

Π’ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ, ΠΊΠ°ΠΊ сСйчас ΠΌΠΎΠ΄Π½ΠΎ, ΠΌΡ‹ придСрТиваСмся DevOps- ΠΈ SRE-ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊ. Когда Π² ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ 1000 микросСрвисов, ΠΎΠΊΠΎΠ»ΠΎ 350 Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² ΠΈ 15 Π°Π΄ΠΌΠΈΠ½ΠΎΠ² Π½Π° всю инфраструктуру, приходится Β«Π±Ρ‹Ρ‚ΡŒ ΠΌΠΎΠ΄Π½Ρ‹ΠΌΒ»: Π·Π° всСми этими Β«Π±Π°Π·Π²ΠΎΡ€Π΄Π°ΠΌΠΈΒ» скрываСтся острая Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ Π² Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ всСго ΠΈ вся, Π° Π°Π΄ΠΌΠΈΠ½Ρ‹ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ Π±ΡƒΡ‚Ρ‹Π»ΠΎΡ‡Π½Ρ‹ΠΌ Π³ΠΎΡ€Π»Ρ‹ΡˆΠΊΠΎΠΌ Π² процСссах.

Как Ops, ΠΌΡ‹ прСдоставляСм Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ ΠΈ Π΄Π°ΡˆΠ±ΠΎΡ€Π΄Ρ‹ для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ², связанныС со ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒΡŽ ΠΎΡ‚Π²Π΅Ρ‚Π° сСрвисов ΠΈ ΠΈΡ… ошибками.

ΠœΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Ρ‚Π°ΠΊΠΈΠ΅ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ»ΠΎΠ³ΠΈΠΈ, ΠΊΠ°ΠΊ: RED, USE ΠΈ Golden Signals, комбинируя ΠΈΡ… вмСстС. БтараСмся ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ количСство Π΄Π°ΡˆΠ±ΠΎΡ€Π΄ΠΎΠ² Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ с ΠΎΠ΄Π½ΠΎΠ³ΠΎ взгляда Π±Ρ‹Π»ΠΎ понятно, ΠΊΠ°ΠΊΠΎΠΉ сСрвис сСйчас Π΄Π΅Π³Ρ€Π°Π΄ΠΈΡ€ΡƒΠ΅Ρ‚ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΊΠΎΠ΄Ρ‹ ΠΎΡ‚Π²Π΅Ρ‚ΠΎΠ² Π² сСкунду, врСмя ΠΎΡ‚Π²Π΅Ρ‚Π° ΠΏΠΎ 99-ΠΏΠ΅Ρ€Ρ†Π΅Π½Ρ‚ΠΈΠ»ΡŽ), ΠΈ Ρ‚Π°ΠΊ Π΄Π°Π»Π΅Π΅. Как Ρ‚ΠΎΠ»ΡŒΠΊΠΎ становятся Π½ΡƒΠΆΠ½Ρ‹ ΠΊΠ°ΠΊΠΈΠ΅-Ρ‚ΠΎ Π½ΠΎΠ²Ρ‹Π΅ ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ для ΠΎΠ±Ρ‰ΠΈΡ… Π΄Π°ΡˆΠ±ΠΎΡ€Π΄ΠΎΠ², ΠΌΡ‹ Ρ‚ΡƒΡ‚ ΠΆΠ΅ ΠΈΡ… рисуСм ΠΈ добавляСм.

Π― Π½Π΅ рисовал Π³Ρ€Π°Ρ„ΠΈΠΊΠΈ ΡƒΠΆΠ΅ мСсяц. НавСрноС, это Ρ…ΠΎΡ€ΠΎΡˆΠΈΠΉ Π·Π½Π°ΠΊ: Π·Π½Π°Ρ‡ΠΈΡ‚ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ Β«Ρ…ΠΎΡ‚Π΅Π»ΠΎΠΊΒ» ΡƒΠΆΠ΅ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Ρ‹. Π‘Ρ‹Π²Π°Π»ΠΎ, Ρ‡Ρ‚ΠΎ Π·Π° нСдСлю я хотя Π±Ρ‹ Ρ€Π°Π· Π² дСнь рисовал ΠΊΠ°ΠΊΠΎΠΉ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ Π½ΠΎΠ²Ρ‹ΠΉ Π³Ρ€Π°Ρ„ΠΈΠΊ.

Kubernetes Π² Π”ΠΎΠΌΠšΠ»ΠΈΠΊ: ΠΊΠ°ΠΊ ΡΠΏΠ°Ρ‚ΡŒ спокойно, управляя кластСром Π½Π° 1000 микросСрвисов

Kubernetes Π² Π”ΠΎΠΌΠšΠ»ΠΈΠΊ: ΠΊΠ°ΠΊ ΡΠΏΠ°Ρ‚ΡŒ спокойно, управляя кластСром Π½Π° 1000 микросСрвисов

ΠŸΠΎΠ»ΡƒΡ‡ΠΈΠ²ΡˆΠΈΠΉΡΡ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Ρ†Π΅Π½Π΅Π½ Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Ρ€Π°Π·Ρ€Π°Π±Ρ‹ довольно Ρ€Π΅Π΄ΠΊΠΎ ходят ΠΊ Π°Π΄ΠΌΠΈΠ½Π°ΠΌ с вопросами Β«Π³Π΄Π΅ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°ΠΊΡƒΡŽ-Ρ‚ΠΎ ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΡƒΒ».

Π’Π½Π΅Π΄Ρ€Π΅Π½ΠΈΠ΅ Service Mesh Π½Π΅ Π·Π° Π³ΠΎΡ€Π°ΠΌΠΈ ΠΈ Π΄ΠΎΠ»ΠΆΠ½ΠΎ сильно ΠΎΠ±Π»Π΅Π³Ρ‡ΠΈΡ‚ΡŒ всСм Тизнь, ΠΊΠΎΠ»Π»Π΅Π³ΠΈ ΠΈΠ· Tools ΡƒΠΆΠ΅ Π±Π»ΠΈΠ·ΠΊΠΈ ΠΊ Π²Π½Π΅Π΄Ρ€Π΅Π½ΠΈΡŽ абстрактного Β«Istio Π·Π΄ΠΎΡ€ΠΎΠ²ΠΎΠ³ΠΎ Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΠ°Β»: ΠΆΠΈΠ·Π½Π΅Π½Π½Ρ‹ΠΉ Ρ†ΠΈΠΊΠ» ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ HTTP(s)-запроса Π±ΡƒΠ΄Π΅Ρ‚ Π²ΠΈΠ΄Π΅Π½ Π² ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³Π΅, ΠΈ всСгда ΠΌΠΎΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠ½ΡΡ‚ΡŒ Β«Π½Π° ΠΊΠ°ΠΊΠΎΠΌ этапС всё сломалось» ΠΏΡ€ΠΈ мСТсСрвисном (ΠΈ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ) взаимодСйствии. ΠŸΠΎΠ΄ΠΏΠΈΡΡ‹Π²Π°ΠΉΡ‚Π΅ΡΡŒ Π½Π° новости Ρ…Π°Π±Π° ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ Π”ΠΎΠΌΠšΠ»ΠΈΠΊ. =)

ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° инфраструктуры Kubernetes

Π˜ΡΡ‚ΠΎΡ€ΠΈΡ‡Π΅ΡΠΊΠΈ слоТилось Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ ΠΏΠ°Ρ‚Ρ‡Π΅Π½Π½ΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ Kubespray β€” Ansible-Ρ€ΠΎΠ»ΡŒ для разворачивания, Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ ΠΈ обновлСния Kubernetes. Π’ ΠΊΠ°ΠΊΠΎΠΉ-Ρ‚ΠΎ ΠΌΠΎΠΌΠ΅Π½Ρ‚ ΠΈΠ· основной Π²Π΅Ρ‚ΠΊΠΈ Π±Ρ‹Π»Π° Π²Ρ‹ΠΏΠΈΠ»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° non-kubeadm инсталляций, Π° процСсс ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π° Π½Π° kubeadm ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ Π½Π΅ Π±Ρ‹Π». Π’ ΠΈΡ‚ΠΎΠ³Π΅, компания Southbridge сдСлала свой Ρ„ΠΎΡ€ΠΊ (с ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΎΠΉ 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 threads, 64-128 Π“Π± памяти ΠΈ 300 Π“Π± SSD RAID 10 β€” всСго ΠΈΡ… 50 ΡˆΡ‚ΡƒΠΊ. Π’Ρ€ΠΈ Β«Ρ‚ΠΎΠ½ΠΊΠΈΠ΅Β» Π½ΠΎΠ΄Ρ‹ Π²Ρ‹Π΄Π΅Π»Π΅Π½Ρ‹ ΠΏΠΎΠ΄ «мастСра» Prod-Β«ΠšΡƒΠ±Π°Β»: 16 Π“Π± памяти, 12 CPU threads.

Для ΠΏΡ€ΠΎΠ΄Π° ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡ΠΈΡ‚Π°Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Β«Π³ΠΎΠ»ΠΎΠ΅ ΠΆΠ΅Π»Π΅Π·ΠΎΒ» ΠΈ ΠΈΠ·Π±Π΅Π³Π°Π΅ΠΌ Π»ΠΈΡˆΠ½ΠΈΡ… прослоСк Π²Ρ€ΠΎΠ΄Π΅ OpenStack: Π½Π°ΠΌ Π½Π΅ Π½ΡƒΠΆΠ½Ρ‹ Β«ΡˆΡƒΠΌΠ½Ρ‹Π΅ сосСди» ΠΈ CPU steal time. Π”Π° ΠΈ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ администрирования возрастаСт ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ Π²Π΄Π²ΠΎΠ΅ Π² случаС in-house OpenStack.

Для CI/CD Β«ΠšΡƒΠ±ΠΎΠ²Ρ‹Ρ…Β» ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ… инфраструктурных ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΉ GIT-сСрвСр, Helm 3 (ΠΏΠ΅Ρ€Π΅ΡˆΠ»ΠΈ довольно Π±ΠΎΠ»Π΅Π·Π½Π΅Π½Π½ΠΎ с Helm 2, Π½ΠΎ ΠΎΡ‡Π΅Π½ΡŒ Ρ€Π°Π΄Ρ‹ ΠΎΠΏΡ†ΠΈΠΈ atomic), Jenkins, Ansible ΠΈ Docker. Π›ΡŽΠ±ΠΈΠΌ feature-Π±Ρ€Π°Π½Ρ‡ΠΈ ΠΈ Π΄Π΅ΠΏΠ»ΠΎΠΉ Π² Ρ€Π°Π·Π½Ρ‹Π΅ срСды ΠΈΠ· ΠΎΠ΄Π½ΠΎΠ³ΠΎ рСпозитория.

Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅

Kubernetes Π² Π”ΠΎΠΌΠšΠ»ΠΈΠΊ: ΠΊΠ°ΠΊ ΡΠΏΠ°Ρ‚ΡŒ спокойно, управляя кластСром Π½Π° 1000 микросСрвисов
Π’ΠΎΡ‚ Ρ‚Π°ΠΊ, Π² ΠΎΠ±Ρ‰ΠΈΡ… Ρ‡Π΅Ρ€Ρ‚Π°Ρ…, Π² ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ Π”ΠΎΠΌΠšΠ»ΠΈΠΊ выглядит процСсс DevOps со стороны ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€Π° эксплуатации. Π‘Ρ‚Π°Ρ‚ΡŒΡ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»Π°ΡΡŒ ΠΌΠ΅Π½Π΅Π΅ тСхничСской, Ρ‡Π΅ΠΌ я ΠΎΠΆΠΈΠ΄Π°Π»: поэтому, слСдитС Π·Π° новостями Π”ΠΎΠΌΠšΠ»ΠΈΠΊ Π½Π° Π₯Π°Π±Ρ€Π΅: Π±ΡƒΠ΄ΡƒΡ‚ Π±ΠΎΠ»Π΅Π΅ Β«Ρ…Π°Ρ€Π΄ΠΊΠΎΡ€Π½Ρ‹Π΅Β» ΡΡ‚Π°Ρ‚ΡŒΠΈ ΠΎ Kubernetes ΠΈ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: habr.com

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ