ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Kubernetes-кластСров: сколько ΠΈΡ… Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ?

ΠŸΡ€ΠΈΠΌ. ΠΏΠ΅Ρ€Π΅Π².: этот ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π» ΠΎΡ‚ ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° learnk8s β€” ΠΎΡ‚Π²Π΅Ρ‚ Π½Π° популярный вопрос ΠΏΡ€ΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ инфраструктуры Π½Π° Π±Π°Π·Π΅ Kubernetes. НадССмся, Ρ‡Ρ‚ΠΎ достаточно Ρ€Π°Π·Π²Ρ‘Ρ€Π½ΡƒΡ‚Ρ‹Π΅ описания плюсов ΠΈ минусов ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΈΠ· Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ² ΠΏΠΎΠΌΠΎΠ³ΡƒΡ‚ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ Π²Ρ‹Π±ΠΎΡ€ ΠΈ для вашСго ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°.

ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Kubernetes-кластСров: сколько ΠΈΡ… Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ?

TL;DR: ΠΎΠ΄ΠΈΠ½ ΠΈ Ρ‚ΠΎΡ‚ ΠΆΠ΅ Π½Π°Π±ΠΎΡ€ Ρ€Π°Π±ΠΎΡ‡ΠΈΡ… Π½Π°Π³Ρ€ΡƒΠ·ΠΎΠΊ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ Π½Π° Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… ΠΊΡ€ΡƒΠΏΠ½Ρ‹Ρ… кластСрах (Π½Π° ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ кластСр Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΈΡ…ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ большоС число workload’ΠΎΠ²) ΠΈΠ»ΠΈ Π½Π° мноТСствС ΠΌΠ΅Π»ΠΊΠΈΡ… (с ΠΌΠ°Π»Ρ‹ΠΌ числом Π½Π°Π³Ρ€ΡƒΠ·ΠΎΠΊ Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΌ кластСрС).

НиТС ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π° Ρ‚Π°Π±Π»ΠΈΡ†Π°, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΎΡ†Π΅Π½ΠΈΠ²Π°ΡŽΡ‚ΡΡ ΠΏΠ»ΡŽΡΡ‹ ΠΈ минусы ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π°:

ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Kubernetes-кластСров: сколько ΠΈΡ… Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ?

ΠŸΡ€ΠΈ использовании Kubernetes Π² качСствС ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ для эксплуатации ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ часто Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡŽΡ‚ нСсколько Ρ„ΡƒΠ½Π΄Π°ΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½Ρ‹Ρ… вопросов ΠΎ тонкостях настройки кластСров:

  • КакоС число кластСров ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ?
  • Насколько ΠΊΡ€ΡƒΠΏΠ½Ρ‹ΠΌΠΈ ΠΈΡ… Π΄Π΅Π»Π°Ρ‚ΡŒ?
  • Π§Ρ‚ΠΎ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π²ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ кластСр?

Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ я ΠΏΠΎΠΏΡ‹Ρ‚Π°ΡŽΡΡŒ ΠΎΡ‚Π²Π΅Ρ‚ΠΈΡ‚ΡŒ Π½Π° всС эти вопросы, ΠΏΡ€ΠΎΠ°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π² ΠΏΠ»ΡŽΡΡ‹ ΠΈ минусы ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π°.

ΠŸΠΎΡΡ‚Π°Π½ΠΎΠ²ΠΊΠ° вопроса

Как ΡΠΎΠ·Π΄Π°Ρ‚Π΅Π»ΡŒ ПО, Π²Ρ‹ скорСС всСго ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½ΠΎ Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚Π΅ ΠΈ эксплуатируСтС мноТСство ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ.

ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, мноТСство экзСмпляров этих ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ навСрняка Π·Π°ΠΏΡƒΡΠΊΠ°ΡŽΡ‚ΡΡ Π² Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… окруТСниях β€” ΠΊ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρƒ, это ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ dev, test ΠΈ prod.

Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ получаСтся цСлая ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π° ΠΈΠ· ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΈ ΠΎΠΊΡ€ΡƒΠΆΠ΅Π½ΠΈΠΉ:

ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Kubernetes-кластСров: сколько ΠΈΡ… Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ?
ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΈ окруТСния

Π’ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Π²Ρ‹ΡˆΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ прСдставлСны 3 прилоТСния ΠΈ 3 окруТСния, Ρ‡Ρ‚ΠΎ Π² ΠΈΡ‚ΠΎΠ³Π΅ Π΄Π°Π΅Ρ‚ 9 Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Ρ… Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ².

ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ экзСмпляр прилоТСния прСдставляСт собой ΡΠ°ΠΌΠΎΠ΄ΠΎΡΡ‚Π°Ρ‚ΠΎΡ‡Π½ΡƒΡŽ deployment-Π΅Π΄ΠΈΠ½ΠΈΡ†Ρƒ, с ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ нСзависимо ΠΎΡ‚ Π΄Ρ€ΡƒΠ³ΠΈΡ….

ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ экзСмпляр прилоТСния ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΡΡ‚ΠΎΡΡ‚ΡŒ ΠΈΠ· мноТСства ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ², Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ Ρ„Ρ€ΠΎΠ½Ρ‚Π΅Π½Π΄, бэкСнд, Π±Π°Π·Π° Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ Ρ‚.Π΄. Π’ случаС микросСрвисного прилоТСния экзСмпляр Π±ΡƒΠ΄Π΅Ρ‚ Π²ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ Π² сСбя всС микросСрвисы.

Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ Ρƒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ Kubernetes Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡŽΡ‚ нСсколько вопросов:

  • Π‘Ρ‚ΠΎΠΈΡ‚ Π»ΠΈ Ρ€Π°Π·ΠΌΠ΅Ρ‰Π°Ρ‚ΡŒ всС экзСмпляры прилоТСния Π² ΠΎΠ΄Π½ΠΎΠΌ кластСрС?
  • Π‘Ρ‚ΠΎΠΈΡ‚ Π»ΠΈ Π·Π°Π²ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΉ кластСр ΠΏΠΎΠ΄ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ экзСмпляр прилоТСния?
  • Или, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, слСдуСт Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΠ΅ΠΉ Π²Ρ‹ΡˆΠ΅ΠΏΠ΅Ρ€Π΅Ρ‡ΠΈΡΠ»Π΅Π½Π½Ρ‹Ρ… ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΎΠ²?

ВсС эти Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹ Π²ΠΏΠΎΠ»Π½Π΅ ТизнСспособны, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Kubernetes β€” это гибкая систСма, которая Π½Π΅ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΠ²Π°Π΅Ρ‚ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ Π² возмоТностях.

Π’ΠΎΡ‚ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΠ· Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Ρ… ΠΏΡƒΡ‚Π΅ΠΉ:

  • ΠΎΠ΄ΠΈΠ½ большой ΠΎΠ±Ρ‰ΠΈΠΉ кластСр;
  • мноТСство Π½Π΅Π±ΠΎΠ»ΡŒΡˆΠΈΡ… узкоспСциализированных кластСров;
  • ΠΎΠ΄ΠΈΠ½ кластСр Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠ΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅;
  • ΠΎΠ΄ΠΈΠ½ кластСр Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠ΅ ΠΎΠΊΡ€ΡƒΠΆΠ΅Π½ΠΈΠ΅.

Как ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½ΠΈΠΆΠ΅, ΠΏΠ΅Ρ€Π²Ρ‹Π΅ Π΄Π²Π° ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π° находятся Π½Π° ΠΏΡ€ΠΎΡ‚ΠΈΠ²ΠΎΠΏΠΎΠ»ΠΎΠΆΠ½Ρ‹Ρ… ΠΊΠΎΠ½Ρ†Π°Ρ… ΡˆΠΊΠ°Π»Ρ‹ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ²:

ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Kubernetes-кластСров: сколько ΠΈΡ… Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ?
ΠžΡ‚ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… Π±ΠΎΠ»ΡŒΡˆΠΈΡ… кластСров (слСва) Π΄ΠΎ мноТСства ΠΌΠ°Π»Π΅Π½ΡŒΠΊΠΈΡ… (справа)

Π’ ΠΎΠ±Ρ‰Π΅ΠΌ случаС считаСтся, Ρ‡Ρ‚ΠΎ ΠΎΠ΄ΠΈΠ½ кластСр «большС» Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ Ссли Ρƒ Π½Π΅Π³ΠΎ большС сумма ΡƒΠ·Π»ΠΎΠ² ΠΈ pod’ΠΎΠ². НапримСр, кластСр с 10-ю ΡƒΠ·Π»Π°ΠΌΠΈ ΠΈ 100 pod’Π°ΠΌΠΈ большС кластСра с 1-ΠΌ ΡƒΠ·Π»ΠΎΠΌ ΠΈ 10-ю pod’Π°ΠΌΠΈ.

Π§Ρ‚ΠΎ ΠΆ, Π΄Π°Π²Π°ΠΉΡ‚Π΅ Π½Π°Ρ‡Π½Π΅ΠΌ!

1. Один большой ΠΎΠ±Ρ‰ΠΈΠΉ кластСр

ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ β€” Ρ€Π°Π·ΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ всС Ρ€Π°Π±ΠΎΡ‡ΠΈΠ΅ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ Π² ΠΎΠ΄Π½ΠΎΠΌ кластСрС:

ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Kubernetes-кластСров: сколько ΠΈΡ… Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ?
Один большой кластСр

Π’ Ρ€Π°ΠΌΠΊΠ°Ρ… этого ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π° кластСр ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΊΠ°ΠΊ ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Π°Ρ инфраструктурная ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° β€” всС Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΠ΅ Π²Ρ‹ просто Ρ€Π°Π·Π²ΠΎΡ€Π°Ρ‡ΠΈΠ²Π°Π΅Ρ‚Π΅ Π² ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΌ кластСрС Kubernetes.

Namespace’Ρ‹ Kubernetes ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ логичСски ΠΎΡ‚Π΄Π΅Π»ΠΈΡ‚ΡŒ части кластСра Π΄Ρ€ΡƒΠ³ ΠΎΡ‚ Π΄Ρ€ΡƒΠ³Π°, Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ экзСмпляра прилоТСния ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ своС пространство ΠΈΠΌΠ΅Π½.

Π”Π°Π²Π°ΠΉΡ‚Π΅ рассмотрим ΠΏΠ»ΡŽΡΡ‹ ΠΈ минусы этого ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π°.

+ Π­Ρ„Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎΠ΅ использованиС рСсурсов

Π’ случаС СдинствСнного кластСра потрСбуСтся лишь ΠΎΠ΄Π½Π° копия всСх рСсурсов, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Ρ… для запуска кластСра Kubernetes ΠΈ управлСния ΠΈΠΌ.

НапримСр, это справСдливо для мастСр-ΡƒΠ·Π»ΠΎΠ². ΠžΠ±Ρ‹Ρ‡Π½ΠΎ Π½Π° ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ кластСр Kubernetes приходится ΠΏΠΎ 3 мастСр-ΡƒΠ·Π»Π°, поэтому для ΠΎΠ΄Π½ΠΎΠ³ΠΎ СдинствСнного кластСра ΠΈΡ… число Ρ‚Π°ΠΊΠΈΠΌ ΠΈ останСтся (для сравнСния, 10 кластСрам понадобятся 30 мастСр-ΡƒΠ·Π»ΠΎΠ²).

Π’Ρ‹ΡˆΠ΅ΡƒΠΊΠ°Π·Π°Π½Π½Π°Ρ Ρ‚ΠΎΠ½ΠΊΠΎΡΡ‚ΡŒ относится ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠΌ сСрвисам, Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠΌ Π² ΠΌΠ°ΡΡˆΡ‚Π°Π±Π°Ρ… всСго кластСра, Ρ‚Π°ΠΊΠΈΠΌ ΠΊΠ°ΠΊ балансировщики Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ, ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Ρ‹ Ingress, систСмы Π°ΡƒΡ‚Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ, логирования ΠΈ ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³Π°.

Π’ Π΅Π΄ΠΈΠ½ΠΎΠΌ кластСрС всС эти сСрвисы ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ сразу для всСх Ρ€Π°Π±ΠΎΡ‡ΠΈΡ… Π½Π°Π³Ρ€ΡƒΠ·ΠΎΠΊ (Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ ΠΈΡ… ΠΊΠΎΠΏΠΈΠΈ, ΠΊΠ°ΠΊ Π² случаС Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… кластСров).

+ Π”Π΅ΡˆΠ΅Π²ΠΈΠ·Π½Π°

Как слСдствиС Π²Ρ‹ΡˆΠ΅ΠΈΠ·Π»ΠΎΠΆΠ΅Π½Π½ΠΎΠ³ΠΎ, мСньшСС число кластСров ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ обходится дСшСвлС, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΎΡ‚ΡΡƒΡ‚ΡΡ‚Π²ΡƒΡŽΡ‚ расходы Π½Π° ΠΈΠ·Π±Ρ‹Ρ‚ΠΎΡ‡Π½Ρ‹Π΅ рСсурсы.

Π­Ρ‚ΠΎ особСнно справСдливо для мастСр-ΡƒΠ·Π»ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ ΡΡ‚ΠΎΠΈΡ‚ΡŒ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… Π΄Π΅Π½Π΅Π³ нСзависимо ΠΎΡ‚ способа размСщСния (on-premises ΠΈΠ»ΠΈ Π² ΠΎΠ±Π»Π°ΠΊΠ΅).

НСкоторыС управляСмыС (managed) сСрвисы Kubernetes, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ Google Kubernetes Engine (GKE) ΠΈΠ»ΠΈ Azure Kubernetes Service (AKS), ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‰ΠΈΠΉ слой бСсплатно. Π’ Π΄Π°Π½Π½ΠΎΠΌ случаС вопрос Π·Π°Ρ‚Ρ€Π°Ρ‚ стоит ΠΌΠ΅Π½Π΅Π΅ остро.

Π’Π°ΠΊΠΆΠ΅ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ managed-сСрвисы, Π²Π·ΠΈΠΌΠ°ΡŽΡ‰ΠΈΠ΅ Ρ„ΠΈΠΊΡΠΈΡ€ΠΎΠ²Π°Π½Π½ΡƒΡŽ ΠΏΠ»Π°Ρ‚Ρƒ Π·Π° Ρ€Π°Π±ΠΎΡ‚Ρƒ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ кластСра Kubernetes (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Amazon Elastic Kubernetes Service, EKS).

+ Π­Ρ„Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎΠ΅ администрированиС

Π£ΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ ΠΎΠ΄Π½ΠΈΠΌ кластСром ΠΏΡ€ΠΎΡ‰Π΅, Ρ‡Π΅ΠΌ нСсколькими.

АдминистрированиС ΠΌΠΎΠΆΠ΅Ρ‚ Π²ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ Π² сСбя ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Π·Π°Π΄Π°Ρ‡ΠΈ:

  • ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ вСрсии Kubernetes;
  • настройка ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅Ρ€Π° CI/CD;
  • установка ΠΏΠ»Π°Π³ΠΈΠ½Π° CNI;
  • настройка систСмы Π°ΡƒΡ‚Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ;
  • установка ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π° допуска;

ΠΈ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ другиС…

Π’ случаС ΠΎΠ΄Π½ΠΎΠ³ΠΎ кластСра Π·Π°Π½ΠΈΠΌΠ°Ρ‚ΡŒΡΡ всСм этим придСтся Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄ΠΈΠ½ Ρ€Π°Π·.

Для мноТСства кластСров ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ придСтся ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΡΡ‚ΡŒ ΠΌΠ½ΠΎΠ³ΠΎΠΊΡ€Π°Ρ‚Π½ΠΎ, Ρ‡Ρ‚ΠΎ, вСроятно, ΠΏΠΎΡ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ Π½Π΅ΠΊΠΎΠΉ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ процСссов ΠΈ инструмСнтов, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΡ‚ΡŒ ΡΠΈΡΡ‚Π΅ΠΌΠ°Ρ‚ΠΈΡ‡Π½ΠΎΡΡ‚ΡŒ ΠΈ Π΅Π΄ΠΈΠ½ΠΎΠΎΠ±Ρ€Π°Π·ΠΈΠ΅ процСсса.

А Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ нСсколько слов ΠΎ минусах.

βˆ’ Единая Ρ‚ΠΎΡ‡ΠΊΠ° ΠΎΡ‚ΠΊΠ°Π·Π°

Π’ случаС ΠΎΡ‚ΠΊΠ°Π·Π° СдинствСнного кластСра пСрСстанут Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ сразу всС Ρ€Π°Π±ΠΎΡ‡ΠΈΠ΅ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ!

БущСствуСт масса Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ², ΠΊΠΎΠ³Π΄Π° Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠΉΡ‚ΠΈ Π½Π΅ Ρ‚Π°ΠΊ:

  • ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ Kubernetes ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ Π½Π΅ΠΎΠΆΠΈΠ΄Π°Π½Π½Ρ‹ΠΌ ΠΏΠΎΠ±ΠΎΡ‡Π½Ρ‹ΠΌ эффСктам;
  • общСкластСрный ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΏΠ»Π°Π³ΠΈΠ½ CNI) Π½Π°Ρ‡ΠΈΠ½Π°Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π½Π΅ Ρ‚Π°ΠΊ, ΠΊΠ°ΠΊ оТидалось;
  • ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² кластСра настроСн Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ;
  • сбой Π² Π½ΠΈΠΆΠ΅Π»Π΅ΠΆΠ°Ρ‰Π΅ΠΉ инфраструктурС.

Один Ρ‚Π°ΠΊΠΎΠΉ ΠΈΠ½Ρ†ΠΈΠ΄Π΅Π½Ρ‚ ΠΌΠΎΠΆΠ΅Ρ‚ нанСсти ΡΠ΅Ρ€ΡŒΠ΅Π·Π½Ρ‹ΠΉ ΡƒΡ€ΠΎΠ½ всСм Ρ€Π°Π±ΠΎΡ‡ΠΈΠΌ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠ°ΠΌ, Ρ€Π°Π·ΠΌΠ΅Ρ‰Π΅Π½Π½Ρ‹ΠΌ Π² ΠΎΠ±Ρ‰Π΅ΠΌ кластСрС.

βˆ’ ΠžΡ‚ΡΡƒΡ‚ΡΡ‚Π²ΠΈΠ΅ ТСсткой изоляции

Π Π°Π±ΠΎΡ‚Π° Π² ΠΎΠ±Ρ‰Π΅ΠΌ кластСрС ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ прилоТСния совмСстно ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½ΠΎΠ΅ обСспСчСниС, сСтСвыС возмоТности ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΡƒΡŽ систСму Π½Π° ΡƒΠ·Π»Π°Ρ… кластСра.

Π’ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΌ смыслС Π΄Π²Π° ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π° с двумя Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΌΠΈ прилоТСниями, Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΠΈΠ΅ Π½Π° ΠΎΠ΄Π½ΠΎΠΌ ΠΈ Ρ‚ΠΎΠΌ ΠΆΠ΅ ΡƒΠ·Π»Π΅, ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹ Π΄Π²ΡƒΠΌ процСссам, Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΠΈΠΌ Π½Π° ΠΎΠ΄Π½ΠΎΠΉ ΠΈ Ρ‚ΠΎΠΉ ΠΆΠ΅ машинС ΠΏΠΎΠ΄ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈ Ρ‚ΠΎΠ³ΠΎ ΠΆΠ΅ ядра ОБ.

ΠšΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Ρ‹ Linux ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‚ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Ρ„ΠΎΡ€ΠΌΡƒ изоляции, Π½ΠΎ ΠΎΠ½Π° Π΄Π°Π»Π΅ΠΊΠΎ Π½Π΅ Ρ‚Π°ΠΊ сильна, ΠΊΠ°ΠΊ Ρ‚Π°, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‚, скаТСм, Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΌΠ°ΡˆΠΈΠ½Ρ‹. Π’ сущности, процСсс Π² ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π΅ β€” это Ρ‚ΠΎΡ‚ ΠΆΠ΅ процСсс, Π·Π°ΠΏΡƒΡ‰Π΅Π½Π½Ρ‹ΠΉ Π² ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмС хоста.

Π­Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ ΡΡ‚Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΎΠΉ с Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния бСзопасности: подобная организация тСорСтичСски позволяСт нСсвязанным прилоТСниям Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ Π΄Ρ€ΡƒΠ³ с Π΄Ρ€ΡƒΠ³ΠΎΠΌ (Π½Π°ΠΌΠ΅Ρ€Π΅Π½Π½ΠΎ ΠΈΠ»ΠΈ случайно).

ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, всС Ρ€Π°Π±ΠΎΡ‡ΠΈΠ΅ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ Π² кластСрС Kubernetes совмСстно ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ общСкластСрныС сСрвисы, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ DNS β€” это позволяСт прилоТСниям Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒ Service’Ρ‹ Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π² кластСрС.

ВсС Π²Ρ‹ΡˆΠ΅ΠΏΠ΅Ρ€Π΅Ρ‡ΠΈΡΠ»Π΅Π½Π½Ρ‹Π΅ ΠΏΡƒΠ½ΠΊΡ‚Ρ‹ ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ Ρ€Π°Π·Π½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π² зависимости ΠΎΡ‚ Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π½ΠΈΠΉ, ΠΏΡ€Π΅Π΄ΡŠΡΠ²Π»ΡΠ΅ΠΌΡ‹Ρ… ΠΊ бСзопасности ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ.

Kubernetes прСдоставляСт Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ инструмСнты для прСдотвращСния ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ Π² систСмС бСзопасности, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ PodSecurityPolicies ΠΈ NetworkPolicies. Однако для ΠΈΡ… ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠΉ настройки трСбуСтся ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΉ ΠΎΠΏΡ‹Ρ‚ ΠΊΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, ΠΎΠ½ΠΈ Π½Π΅ Π² состоянии Π·Π°ΠΊΡ€Ρ‹Ρ‚ΡŒ Π°Π±ΡΠΎΠ»ΡŽΡ‚Π½ΠΎ всС Π΄Ρ‹Ρ€Ρ‹ Π² бСзопасности.

Π’Π°ΠΆΠ½ΠΎ всСгда ΠΏΠΎΠΌΠ½ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ Kubernetes ΠΈΠ·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½ для совмСстного использования, Π° Π½Π΅ для изоляции ΠΈ бСзопасности.

βˆ’ ΠžΡ‚ΡΡƒΡ‚ΡΡ‚Π²ΠΈΠ΅ ТСсткой multi-tenancy

Учитывая ΠΎΠ±ΠΈΠ»ΠΈΠ΅ ΠΎΠ±Ρ‰ΠΈΡ… рСсурсов Π² кластСрС Kubernetes, сущСствуСт мноТСство способов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ прилоТСния ΠΌΠΎΠ³ΡƒΡ‚ Β«Π½Π°ΡΡ‚ΡƒΠΏΠ°Ρ‚ΡŒ Π΄Ρ€ΡƒΠ³ Π΄Ρ€ΡƒΠ³Ρƒ Π½Π° пятки».

НапримСр, ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΌΠΎΠ½ΠΎΠΏΠΎΠ»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½Π΅ΠΊΠΈΠΉ ΠΎΠ±Ρ‰ΠΈΠΉ рСсурс (Π²Ρ€ΠΎΠ΄Π΅ процСссора ΠΈΠ»ΠΈ памяти) ΠΈ Π»ΠΈΡˆΠΈΡ‚ΡŒ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ прилоТСния, Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΠΈΠ΅ Π½Π° Ρ‚ΠΎΠΌ ΠΆΠ΅ ΡƒΠ·Π»Π΅, доступа ΠΊ Π½Π΅ΠΌΡƒ.

Kubernetes обСспСчиваСт Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΡ‹ контроля Π·Π° ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹ΠΌ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ΠΌ, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ запросы рСсурсов ΠΈ Π»ΠΈΠΌΠΈΡ‚Ρ‹ (см. Ρ‚Π°ΠΊΠΆΠ΅ ΡΡ‚Π°Ρ‚ΡŒΡŽ Β« CPU-Π»ΠΈΠΌΠΈΡ‚Ρ‹ ΠΈ агрСссивный Ρ‚Ρ€ΠΎΡ‚Ρ‚Π»ΠΈΠ½Π³ Π² Kubernetes Β» β€” ΠΏΡ€ΠΈΠΌ. ΠΏΠ΅Ρ€Π΅Π².), ResourceQuotas ΠΈ LimitRanges. Однако, ΠΊΠ°ΠΊ ΠΈ Π² случаС бСзопасности, ΠΈΡ… настройка достаточно Π½Π΅Ρ‚Ρ€ΠΈΠ²ΠΈΠ°Π»ΡŒΠ½Π° ΠΈ ΠΎΠ½ΠΈ Π½Π΅ способны ΠΏΡ€Π΅Π΄ΠΎΡ‚Π²Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ Π°Π±ΡΠΎΠ»ΡŽΡ‚Π½ΠΎ всС Π½Π΅ΠΏΡ€Π΅Π΄Π²ΠΈΠ΄Π΅Π½Π½Ρ‹Π΅ ΠΏΠΎΠ±ΠΎΡ‡Π½Ρ‹Π΅ эффСкты.

βˆ’ Π‘ΠΎΠ»ΡŒΡˆΠΎΠ΅ число ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ

Π’ случаС СдинствСнного кластСра приходится ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°Ρ‚ΡŒ доступ ΠΊ Π½Π΅ΠΌΡƒ мноТСству людСй. И Ρ‡Π΅ΠΌ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½Π΅Π΅ ΠΈΡ… число, Ρ‚Π΅ΠΌ Π²Ρ‹ΡˆΠ΅ риск Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ ΠΎΠ½ΠΈ Ρ‡Ρ‚ΠΎ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ Β«ΡΠ»ΠΎΠΌΠ°ΡŽΡ‚Β».

Π’Π½ΡƒΡ‚Ρ€ΠΈ кластСра ΠΌΠΎΠΆΠ½ΠΎ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ, ΠΊΡ‚ΠΎ ΠΈ Ρ‡Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ Π΄Π΅Π»Π°Ρ‚ΡŒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ управлСния доступом Π½Π° основС Ρ€ΠΎΠ»Π΅ΠΉ (RBAC) (см. ΡΡ‚Π°Ρ‚ΡŒΡŽ Β« ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ ΠΈ авторизация RBAC Π² Kubernetes Β» β€” ΠΏΡ€ΠΈΠΌ. ΠΏΠ΅Ρ€Π΅Π².). Π’ΠΏΡ€ΠΎΡ‡Π΅ΠΌ, ΠΎΠ½ΠΎ Π½Π΅ ΠΏΠΎΠΌΠ΅ΡˆΠ°Π΅Ρ‚ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌ Β«ΡΠ»ΠΎΠΌΠ°Ρ‚ΡŒΒ» Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π² Π³Ρ€Π°Π½ΠΈΡ†Π°Ρ… своСй Π·ΠΎΠ½Ρ‹ отвСтствСнности.

βˆ’ ΠšΠ»Π°ΡΡ‚Π΅Ρ€Ρ‹ Π½Π΅ ΠΌΠΎΠ³ΡƒΡ‚ расти Π΄ΠΎ бСсконСчности

ΠšΠ»Π°ΡΡ‚Π΅Ρ€, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для всСх Ρ€Π°Π±ΠΎΡ‡ΠΈΡ… Π½Π°Π³Ρ€ΡƒΠ·ΠΎΠΊ, Π±ΡƒΠ΄Π΅Ρ‚, вСроятно, вСсьма большим (ΠΏΠΎ числу ΡƒΠ·Π»ΠΎΠ² ΠΈ pod’ΠΎΠ²).

Но Ρ‚ΡƒΡ‚ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ другая ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°: кластСры Π² Kubernetes Π½Π΅ ΠΌΠΎΠ³ΡƒΡ‚ расти Π΄ΠΎ бСсконСчности.

БущСствуСт тСорСтичСский ΠΏΡ€Π΅Π΄Π΅Π» Π½Π° Ρ€Π°Π·ΠΌΠ΅Ρ€ кластСра. Π’ Kubernetes ΠΎΠ½ составляСт ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ 5000 ΡƒΠ·Π»ΠΎΠ², 150 тыс. pod’ΠΎΠ² ΠΈ 300 тыс. ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΎΠ².

Однако Π² Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠΉ ΠΆΠΈΠ·Π½ΠΈ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ ΠΌΠΎΠ³ΡƒΡ‚ Π½Π°Ρ‡Π°Ρ‚ΡŒΡΡ Π³ΠΎΡ€Π°Π·Π΄ΠΎ Ρ€Π°Π½ΡŒΡˆΠ΅ β€” Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, всСго ΠΏΡ€ΠΈ 500 ΡƒΠ·Π»Π°Ρ….

Π”Π΅Π»ΠΎ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΊΡ€ΡƒΠΏΠ½Ρ‹Π΅ кластСры ΠΎΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚ Π²Ρ‹ΡΠΎΠΊΡƒΡŽ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ Π½Π° ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‰ΠΈΠΉ слой Kubernetes. Π”Ρ€ΡƒΠ³ΠΈΠΌΠΈ словами, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒ кластСр Π² Ρ€Π°Π±ΠΎΡ‡Π΅ΠΌ состоянии ΠΈ эффСктивно ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ рСсурсы, трСбуСтся Ρ‚Ρ‰Π°Ρ‚Π΅Π»ΡŒΠ½Π°Ρ настройка.

Π­Ρ‚Π° ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° изучаСтся Π² ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΉ ΡΡ‚Π°Ρ‚ΡŒΠ΅ Π² ΠΎΡ€ΠΈΠ³ΠΈΠ½Π°Π»ΡŒΠ½ΠΎΠΌ Π±Π»ΠΎΠ³Π΅ ΠΏΠΎΠ΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ Β«Architecting Kubernetes clusters β€” choosing a worker node sizeΒ».

Но Π΄Π°Π²Π°ΠΉΡ‚Π΅ рассмотрим ΠΏΡ€ΠΎΡ‚ΠΈΠ²ΠΎΠΏΠΎΠ»ΠΎΠΆΠ½Ρ‹ΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄: мноТСство ΠΌΠ΅Π»ΠΊΠΈΡ… кластСров.

2. ΠœΠ½ΠΎΠΆΠ΅ΡΡ‚Π²ΠΎ Π½Π΅Π±ΠΎΠ»ΡŒΡˆΠΈΡ…, спСциализированных кластСров

ΠŸΡ€ΠΈ Π΄Π°Π½Π½ΠΎΠΌ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π΅ Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΉ кластСр для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Ρ€Π°Π·Π²Π΅Ρ€Ρ‚Ρ‹Π²Π°Π΅ΠΌΠΎΠ³ΠΎ элСмСнта:

ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Kubernetes-кластСров: сколько ΠΈΡ… Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ?
ΠœΠ½ΠΎΠΆΠ΅ΡΡ‚Π²ΠΎ ΠΌΠ΅Π»ΠΊΠΈΡ… кластСров

Для Ρ†Π΅Π»Π΅ΠΉ этой ΡΡ‚Π°Ρ‚ΡŒΠΈ ΠΏΠΎΠ΄ Ρ€Π°Π·Π²Π΅Ρ€Ρ‚Ρ‹Π²Π°Π΅ΠΌΡ‹ΠΌ элСмСнтом понимаСтся экзСмпляр прилоТСния β€” Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, dev-вСрсия ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ прилоТСния.

Π’ Π΄Π°Π½Π½ΠΎΠΉ стратСгии Kubernetes ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΊΠ°ΠΊ спСциализированная срСда выполнСния для ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… экзСмпляров прилоТСния.

Π”Π°Π²Π°ΠΉΡ‚Π΅ рассмотрим ΠΏΠ»ΡŽΡΡ‹ ΠΈ минусы этого ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π°.

+ ΠžΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π½Ρ‹ΠΉ «радиус Π²Π·Ρ€Ρ‹Π²Π°Β»

ΠŸΡ€ΠΈ Β«ΠΏΠΎΠ»ΠΎΠΌΠΊΠ΅Β» кластСра Π½Π΅Π³Π°Ρ‚ΠΈΠ²Π½Ρ‹Π΅ послСдствия ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΠ²Π°ΡŽΡ‚ΡΡ лишь Ρ‚Π΅ΠΌΠΈ Ρ€Π°Π±ΠΎΡ‡ΠΈΠΌΠΈ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠ°ΠΌΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±Ρ‹Π»ΠΈ Ρ€Π°Π·Π²Π΅Ρ€Π½ΡƒΡ‚Ρ‹ Π² этом кластСрС. ВсС Π΄Ρ€ΡƒΠ³ΠΈΠ΅ workload’Ρ‹ ΠΎΡΡ‚Π°ΡŽΡ‚ΡΡ Π½Π΅Ρ‚Ρ€ΠΎΠ½ΡƒΡ‚Ρ‹ΠΌΠΈ.

+ Π˜Π·ΠΎΠ»ΡΡ†ΠΈΡ

Π Π°Π±ΠΎΡ‡ΠΈΠ΅ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ, Ρ€Π°Π·ΠΌΠ΅Ρ‰Π΅Π½Π½Ρ‹Π΅ Π² ΠΈΠ½Π΄ΠΈΠ²ΠΈΠ΄ΡƒΠ°Π»ΡŒΠ½Ρ‹Ρ… кластСрах, Π½Π΅ ΠΈΠΌΠ΅ΡŽΡ‚ ΠΎΠ±Ρ‰ΠΈΡ… рСсурсов, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ процСссор, ΠΏΠ°ΠΌΡΡ‚ΡŒ, опСрационная систСма, ΡΠ΅Ρ‚ΡŒ ΠΈΠ»ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ сСрвисы.

Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ ΠΌΡ‹ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ ΠΆΠ΅ΡΡ‚ΠΊΡƒΡŽ ΠΈΠ·ΠΎΠ»ΡΡ†ΠΈΡŽ ΠΌΠ΅ΠΆΠ΄Ρƒ нСсвязанными прилоТСниями, Ρ‡Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ благоприятно ΡΠΊΠ°Π·Π°Ρ‚ΡŒΡΡ Π½Π° ΠΈΡ… бСзопасности.

+ МалоС число ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ

Учитывая, Ρ‡Ρ‚ΠΎ Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΌ кластСрС содСрТится лишь ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π½Ρ‹ΠΉ Π½Π°Π±ΠΎΡ€ Ρ€Π°Π±ΠΎΡ‡ΠΈΡ… Π½Π°Π³Ρ€ΡƒΠ·ΠΎΠΊ, сокращаСтся число ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ с доступом ΠΊ Π½Π΅ΠΌΡƒ.

Π§Π΅ΠΌ мСньшС людСй ΠΈΠΌΠ΅ΡŽΡ‚ доступ ΠΊ кластСру, Ρ‚Π΅ΠΌ Π½ΠΈΠΆΠ΅ риск Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ «сломаСтся».

Π”Π°Π²Π°ΠΉΡ‚Π΅ посмотрим Π½Π° минусы.

βˆ’ НСэффСктивноС использованиС рСсурсов

Как ΡƒΠΏΠΎΠΌΠΈΠ½Π°Π»ΠΎΡΡŒ Ρ€Π°Π½Π΅Π΅, ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡƒ кластСру Kubernetes трСбуСтся ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΉ Π½Π°Π±ΠΎΡ€ ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‰ΠΈΡ… рСсурсов: мастСр-ΡƒΠ·Π»Ρ‹, ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½ΠΎΠ³ΠΎ слоя, Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ для ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³Π° ΠΈ вСдСния Π»ΠΎΠ³ΠΎΠ².

Π’ случаС большого числа ΠΌΠ°Π»Ρ‹Ρ… кластСров приходится Π²Ρ‹Π΄Π΅Π»ΡΡ‚ΡŒ Π±Γ³Π»ΡŒΡˆΡƒΡŽ долю рСсурсов Π½Π° ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅.

βˆ’ Π”ΠΎΡ€ΠΎΠ³ΠΎΠ²ΠΈΠ·Π½Π°

НСэффСктивноС использованиС рСсурсов автоматичСски Π²Π»Π΅Ρ‡Π΅Ρ‚ Π·Π° собой высокиС Π·Π°Ρ‚Ρ€Π°Ρ‚Ρ‹.

НапримСр, содСрТаниС 30 мастСр-ΡƒΠ·Π»ΠΎΠ² вмСсто Ρ‚Ρ€Π΅Ρ… ΠΏΡ€ΠΈ Ρ‚ΠΎΠΉ ΠΆΠ΅ Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ мощности ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ отразится Π½Π° расходах.

βˆ’ БлоТности администрирования

ΠΠ΄ΠΌΠΈΠ½ΠΈΡΡ‚Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ мноТСство кластСров Kubernetes Π³ΠΎΡ€Π°Π·Π΄ΠΎ слоТнСС, Ρ‡Π΅ΠΌ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с ΠΎΠ΄Π½ΠΈΠΌ.

НапримСр, придСтся Π½Π°ΡΡ‚Ρ€Π°ΠΈΠ²Π°Ρ‚ΡŒ Π°ΡƒΡ‚Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΡŽ ΠΈ Π°Π²Ρ‚ΠΎΡ€ΠΈΠ·Π°Ρ†ΠΈΡŽ для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ кластСра. ОбновлСниС вСрсии Kubernetes Ρ‚Π°ΠΊΠΆΠ΅ придСтся ΠΏΡ€ΠΎΠ²ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΏΠΎ нСсколько Ρ€Π°Π·.

Π‘ΠΊΠΎΡ€Π΅Π΅ всСго, придСтся ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΡŽ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ²Ρ‹ΡΠΈΡ‚ΡŒ ΡΡ„Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ всСх этих Π·Π°Π΄Π°Ρ‡.

Π’Π΅ΠΏΠ΅Ρ€ΡŒ рассмотрим ΠΌΠ΅Π½Π΅Π΅ ΡΠΊΡΡ‚Ρ€Π΅ΠΌΠ°Π»ΡŒΠ½Ρ‹Π΅ сцСнарии.

3. Один кластСр Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠ΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅

Π’ Ρ€Π°ΠΌΠΊΠ°Ρ… этого ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π° Π²Ρ‹ создаСтС ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΉ кластСр для всСх экзСмпляров ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ³ΠΎ прилоТСния:

ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Kubernetes-кластСров: сколько ΠΈΡ… Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ?
ΠšΠ»Π°ΡΡ‚Π΅Ρ€ Π½Π° ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅

Π’Π°ΠΊΠΎΠΉ ΠΏΡƒΡ‚ΡŒ ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Ρ‚ΡŒ ΠΊΠ°ΠΊ ΠΎΠ±ΠΎΠ±Ρ‰Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠ° Β«ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΉ кластСр Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄ΡƒΒ», ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€ΠΎΠ² занимаСтся Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΎΠΉ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ»ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ.

Π”Π°Π²Π°ΠΉΡ‚Π΅ рассмотрим ΠΏΠ»ΡŽΡΡ‹ ΠΈ минусы этого ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π°.

+ ΠšΠ»Π°ΡΡ‚Π΅Ρ€ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ΄ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ ΠΏΠΎΠ΄ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅

Если Ρƒ прилоТСния ΠΈΠΌΠ΅ΡŽΡ‚ΡΡ особыС потрСбности, ΠΈΡ… ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π² кластСрС, Π½Π΅ затрагивая Π΄Ρ€ΡƒΠ³ΠΈΠ΅ кластСры.

Π’Π°ΠΊΠΈΠ΅ потрСбности ΠΌΠΎΠ³ΡƒΡ‚ Π²ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ worker’Ρ‹ с GPU, ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Π΅ ΠΏΠ»Π°Π³ΠΈΠ½Ρ‹ CNI, service mesh ΠΈΠ»ΠΈ ΠΊΠ°ΠΊΠΎΠΉ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ Π΄Ρ€ΡƒΠ³ΠΎΠΉ сСрвис.

ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ кластСр ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ΄ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ ΠΏΠΎΠ΄ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰Π΅Π΅ Π² Π½Π΅ΠΌ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ½ содСрТал Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ.

βˆ’ Π Π°Π·Π½Ρ‹Π΅ срСды Π² ΠΎΠ΄Π½ΠΎΠΌ кластСрС

НСдостатком этого ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π° являСтся Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ экзСмпляры ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΈΠ· Ρ€Π°Π·Π½Ρ‹Ρ… ΠΎΠΊΡ€ΡƒΠΆΠ΅Π½ΠΈΠΉ ΡΠΎΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ Π² ΠΎΠ΄Π½ΠΎΠΌ кластСрС.

НапримСр, prod-вСрсия прилоТСния Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π² Ρ‚ΠΎΠΌ ΠΆΠ΅ кластСрС, Ρ‡Ρ‚ΠΎ ΠΈ dev-вСрсия. Π­Ρ‚ΠΎ Ρ‚Π°ΠΊΠΆΠ΅ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ Π²Π΅Π΄ΡƒΡ‚ свою Π΄Π΅ΡΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Π² Ρ‚ΠΎΠΌ ΠΆΠ΅ кластСрС, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ эксплуатируСтся production-вСрсия прилоТСния.

Если ΠΈΠ·-Π·Π° дСйствий Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² ΠΈΠ»ΠΈ глюков dev-вСрсии Π² кластСрС ΠΏΡ€ΠΎΠΈΠ·ΠΎΠΉΠ΄Π΅Ρ‚ сбой, Ρ‚ΠΎ ΠΏΠΎΡ‚Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΡΡ‚Ρ€Π°Π΄Π°Ρ‚ΡŒ ΠΈ prod-вСрсия β€” ΠΎΠ³Ρ€ΠΎΠΌΠ½Ρ‹ΠΉ нСдостаток Ρ‚Π°ΠΊΠΎΠ³ΠΎ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π°.

Ну ΠΈ, Π½Π°ΠΊΠΎΠ½Π΅Ρ†, послСдний сцСнарий Π² нашСм спискС.

4. Один кластСр Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠ΅ ΠΎΠΊΡ€ΡƒΠΆΠ΅Π½ΠΈΠ΅

Π”Π°Π½Π½Ρ‹ΠΉ сцСнарий прСдусматриваСт Π²Ρ‹Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ кластСра Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠ΅ ΠΎΠΊΡ€ΡƒΠΆΠ΅Π½ΠΈΠ΅:

ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Kubernetes-кластСров: сколько ΠΈΡ… Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ?
Один кластСр Π½Π° ΠΎΠΊΡ€ΡƒΠΆΠ΅Π½ΠΈΠ΅

К ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρƒ, Ρƒ вас ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ кластСры dev, test ΠΈ prod, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π²Ρ‹ Π±ΡƒΠ΄Π΅Ρ‚Π΅ Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ всС экзСмпляры прилоТСния, ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π½Ρ‹Π΅ для ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ срСды.

Π’ΠΎΡ‚ ΠΏΠ»ΡŽΡΡ‹ ΠΈ минусы Ρ‚Π°ΠΊΠΎΠ³ΠΎ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π°.

+ Π˜Π·ΠΎΠ»ΡΡ†ΠΈΡ prod-срСды

Π’ Ρ€Π°ΠΌΠΊΠ°Ρ… этого ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π° всС окруТСния ΠΎΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ ΠΈΠ·ΠΎΠ»ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΌΠΈ Π΄Ρ€ΡƒΠ³ ΠΎΡ‚ Π΄Ρ€ΡƒΠ³Π°. Однако Π½Π° ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅ это особСнно Π²Π°ΠΆΠ½ΠΎ для prod-срСды.

Production-вСрсии прилоТСния Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Π½Π΅ зависят ΠΎΡ‚ происходящСго Π² Π΄Ρ€ΡƒΠ³ΠΈΡ… кластСрах ΠΈ срСдах.

Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Ссли Π² dev-кластСрС Π²Π½Π΅Π·Π°ΠΏΠ½ΠΎ Π²ΠΎΠ·Π½ΠΈΠΊΠ½Π΅Ρ‚ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°, prod-вСрсии ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ ΠΊΠ°ΠΊ Π±ΡƒΠ΄Ρ‚ΠΎ Π½ΠΈΡ‡Π΅Π³ΠΎ Π½Π΅ ΡΠ»ΡƒΡ‡ΠΈΠ»ΠΎΡΡŒ.

+ ΠšΠ»Π°ΡΡ‚Π΅Ρ€ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ΄ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ ΠΏΠΎΠ΄ срСду

ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ кластСр ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ΄ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ ΠΏΠΎΠ΄ Π΅Π³ΠΎ ΠΎΠΊΡ€ΡƒΠΆΠ΅Π½ΠΈΠ΅. НапримСр, ΠΌΠΎΠΆΠ½ΠΎ:

  • ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π² dev-кластСрС инструмСнты для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΈ ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ;
  • ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ тСстовыС Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠΈ ΠΈ инструмСнты Π² кластСрС test;
  • ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ ΠΌΠΎΡ‰Π½ΠΎΠ΅ ΠΎΠ±ΠΎΡ€ΡƒΠ΄ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ сСтСвыС ΠΊΠ°Π½Π°Π»Ρ‹ Π² кластСрС prod.

Π­Ρ‚ΠΎ позволяСт ΠΏΠΎΠ²Ρ‹ΡΠΈΡ‚ΡŒ ΡΡ„Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ ΠΊΠ°ΠΊ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ, Ρ‚Π°ΠΊ ΠΈ эксплуатации ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ.

+ ΠžΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅ доступа ΠΊ production-кластСру

ΠΠ΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с prod-кластСром Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ нСчасто, Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΡ‚ΡŒ ΠΊΡ€ΡƒΠ³ Π»ΠΈΡ†, ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΡ… ΠΊ Π½Π΅ΠΌΡƒ доступ.

МоТно ΠΏΠΎΠΉΡ‚ΠΈ Π΅Ρ‰Π΅ дальшС ΠΈ Π²ΠΎΠΎΠ±Ρ‰Π΅ Π»ΠΈΡˆΠΈΡ‚ΡŒ людСй доступа ΠΊ этому кластСру, Π° всС развСртывания Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ инструмСнта CI/CD. ΠŸΠΎΠ΄ΠΎΠ±Π½Ρ‹ΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ максимально ΡΠ½ΠΈΠ·ΠΈΡ‚ΡŒ риск чСловСчСских ошибок ΠΈΠΌΠ΅Π½Π½ΠΎ Ρ‚Π°ΠΌ, Π³Π΄Π΅ это Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½ΠΎ.

А Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ нСсколько слов ΠΎ минусах.

βˆ’ ΠžΡ‚ΡΡƒΡ‚ΡΡ‚Π²ΠΈΠ΅ изоляции ΠΌΠ΅ΠΆΠ΄Ρƒ прилоТСниями

Основной нСдостаток ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π° β€” отсутствиС Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½ΠΎΠΉ ΠΈ рСсурсной изоляции ΠΌΠ΅ΠΆΠ΄Ρƒ прилоТСниями.

НСсвязанныС прилоТСния совмСстно ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ рСсурсы кластСра: систСмноС ядро, процСссор, ΠΏΠ°ΠΌΡΡ‚ΡŒ ΠΈ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ слуТбы.

Как ΡƒΠΆΠ΅ ΡƒΠΏΠΎΠΌΠΈΠ½Π°Π»ΠΎΡΡŒ, это ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΠΎΡ‚Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎ опасным.

βˆ’ ΠΠ΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π»ΠΎΠΊΠ°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ зависимости ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ

Если Ρƒ прилоТСния ΠΈΠΌΠ΅ΡŽΡ‚ΡΡ особыС трСбования, Ρ‚ΠΎ ΠΈΡ… приходится ΡƒΠ΄ΠΎΠ²Π»Π΅Ρ‚Π²ΠΎΡ€ΡΡ‚ΡŒ Π²ΠΎ всСх кластСрах.

НапримСр, Ссли ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡŽ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌ GPU, Ρ‚ΠΎ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ кластСр Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ ΠΏΠΎ ΠΊΡ€Π°ΠΉΠ½Π΅ΠΉ ΠΌΠ΅Ρ€Π΅ ΠΎΠ΄ΠΈΠ½ worker с GPU (Π΄Π°ΠΆΠ΅ Ссли ΠΎΠ½ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ этим ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ).

Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ ΠΌΡ‹ рискуСм ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ высокиС ΠΈΠ·Π΄Π΅Ρ€ΠΆΠΊΠΈ ΠΈ нСэффСктивноС использованиС рСсурсов.

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

ΠŸΡ€ΠΈ Π½Π°Π»ΠΈΡ‡ΠΈΠΈ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ Π½Π°Π±ΠΎΡ€Π° ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΈΡ… ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π°Π·ΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ Π² Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… Π±ΠΎΠ»ΡŒΡˆΠΈΡ… кластСрах ΠΈΠ»ΠΈ Π²ΠΎ мноТСствС ΠΌΠ°Π»Ρ‹Ρ….

Π’ ΡΡ‚Π°Ρ‚ΡŒΠ΅ рассмотрСны ΠΏΠ»ΡŽΡΡ‹ ΠΈ минусы Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΎΠ², начиная ΠΎΡ‚ ΠΎΠ΄Π½ΠΎΠ³ΠΎ глобального кластСра ΠΈ заканчивая нСсколькими нСбольшими ΠΈ узкоспСциализированными:

  • ΠΎΠ΄ΠΈΠ½ ΠΊΡ€ΡƒΠΏΠ½Ρ‹ΠΉ ΠΎΠ±Ρ‰ΠΈΠΉ кластСр;
  • мноТСство Π½Π΅Π±ΠΎΠ»ΡŒΡˆΠΈΡ… узкоспСциализированных кластСров;
  • ΠΎΠ΄ΠΈΠ½ кластСр Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠ΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅;
  • ΠΎΠ΄ΠΈΠ½ кластСр Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠ΅ ΠΎΠΊΡ€ΡƒΠΆΠ΅Π½ΠΈΠ΅.

Π˜Ρ‚Π°ΠΊ, ΠΊΠ°ΠΊΠΎΠΉ ΠΆΠ΅ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ?

Как ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ, ΠΎΡ‚Π²Π΅Ρ‚ зависит ΠΎΡ‚ сцСнария использования: Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π²Π·Π²Π΅ΡΠΈΡ‚ΡŒ ΠΏΠ»ΡŽΡΡ‹ ΠΈ минусы Ρ€Π°Π·Π½Ρ‹Ρ… ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΎΠ² ΠΈ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚.

Однако Π²Ρ‹Π±ΠΎΡ€ Π½Π΅ ограничиваСтся ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½Ρ‹ΠΌΠΈ Π²Ρ‹ΡˆΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°ΠΌΠΈ β€” ΠΌΠΎΠΆΠ½ΠΎ Π·Π°Π΄Π΅ΠΉΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ любоС ΠΈΡ… сочСтаниС!

НапримСр, ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠΎ ΠΏΠ°Ρ€Π΅ кластСров Π½Π° ΠΊΠ°ΠΆΠ΄ΡƒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ: кластСр для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ (Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Π±ΡƒΠ΄ΡƒΡ‚ окруТСния dev ΠΈ test) ΠΈ кластСр для production (Π³Π΄Π΅ Π±ΡƒΠ΄Π΅Ρ‚ Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ production-срСда).

ΠžΠΏΠΈΡ€Π°ΡΡΡŒ Π½Π° ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΈΠ· этой ΡΡ‚Π°Ρ‚ΡŒΠΈ, Π²Ρ‹ смоТСтС ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠ»ΡŽΡΡ‹ ΠΈ минусы ΠΏΠΎΠ΄ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΉ сцСнарий. Π£Π΄Π°Ρ‡ΠΈ!

P.S.

Π§ΠΈΡ‚Π°ΠΉΡ‚Π΅ Ρ‚Π°ΠΊΠΆΠ΅ Π² нашСм Π±Π»ΠΎΠ³Π΅:

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