Рекомендации по изоляции кластера в службах Azure Kubernetes (AKS)

При управлении кластерами в Cлужбе Azure Kubernetes (AKS) часто возникает необходимость изолировать команды и рабочие нагрузки. AKS позволяет гибко выполнять кластеры с несколькими клиентами и изолировать ресурсы. Чтобы максимально увеличить инвестиции в Kubernetes, важно понимать функции многотенантности и изоляции AKS.

Это статья содержит рекомендации по изоляции для операторов кластера. Вы узнаете, как выполнять следующие задачи:

  • Планирование кластеров с несколькими клиентами и разделение ресурсов.
  • Используйте логическую или физическую изоляцию в кластерах AKS.

проектирование кластеров с учетом мультитенантности.

Kubernetes позволяет логически изолировать команды и рабочую нагрузку в пределах одного кластера. Цель заключается в том, чтобы предоставить каждой рабочей группе минимальные разрешения для работы с ресурсами. Пространство имен в Kubernetes создает границу логической изоляции. Другие функции Kubernetes и рекомендации по изоляции и многотенантности включают следующие области:

Планирование

Планирование использует основные функции, такие как квоты ресурсов и бюджеты нарушений pod. Дополнительные сведения об этих функциях см. в перечне советов и рекомендаций по базовым функциям планировщика в AKS.

К расширенным возможностям планировщика относятся:

  • Таинты и терпимые.
  • Селекторы узлов.
  • Сходство или удаление сходства узлов и объектов pod.

Дополнительные сведения об этих функциях см. в перечне советов и рекомендаций по расширенным функциям планировщика в AKS.

Сеть

Сеть при помощи политик сети управляет потоком входящего и исходящего трафика для объектов pod.

Аутентификация и авторизация

Функции аутентификации и авторизации включают:

  • Управление доступом на основе ролей (RBAC).
  • Интеграция Microsoft Entra.
  • Удостоверения pod.
  • Секреты в Azure Key Vault.

Дополнительные сведения об этих функциях см. в перечне советов и рекомендаций по аутентификации и авторизации в AKS.

Контейнеры

Контейнеры включают:

  • Надстройка Политика Azure для AKS для обеспечения безопасности pod.
  • Прием безопасности Pod.
  • Сканирование образов и среды выполнения для уязвимостей.
  • Применение App Armor или Seccomp (Secure Computing) для ограничения доступа контейнера к базовому узлу.

Логически изолированные кластеры

Рекомендации по рекомендациям

Разделение команд и проектов с помощью логической изоляции. Минимизация количества физических кластеров AKS, развертываемых для изоляции команд и приложений.

С логической изоляцией можно использовать один кластер AKS для нескольких рабочих нагрузок, команд или сред. Пространства имен Kubernetes образуют границу логической изоляции для рабочих нагрузок и ресурсов.

Logical isolation of a Kubernetes cluster in AKS

Логическое разделение кластеров обычно обеспечивает более высокую плотность pod, чем в случае физического разделения. При этом меньшее количество вычислений находится в режиме ожидания в кластере. Используя средство автомасштабирования кластера Kubernetes, вы можете масштабировать число узлов в соответствии с текущими требованиями. Этот подход позволяет свести к минимуму затраты, выполнив только требуемое количество узлов.

Среды Kubernetes не являются полностью безопасными для враждебного использования нескольких клиентов. В мультитенантной среде несколько клиентов работают в общей инфраструктуре. Если все клиенты не могут быть доверенными, необходимо дополнительное планирование, чтобы предотвратить влияние на безопасность и службу других клиентов.

Другие функции безопасности, такие как Kubernetes RBAC для узлов, эффективно блокируют эксплойты. Для обеспечения безопасности при работе в неблагоприятных мультитенантных средах следует доверять только гипервизору. Домен безопасности для Kubernetes становится всем кластером, а не отдельным узлом.

Для таких типов неблагоприятных мультитенантных рабочих нагрузок следует использовать физически изолированные кластеры.

Физически изолированные кластеры

Рекомендации по рекомендациям

Сведите к минимуму использование физической изоляции для каждой отдельной команды или развертывания приложений и используйте логическую изоляцию.

Физическое разделение кластеров AKS является распространенным способом изоляции кластеров. При такой модели изоляции каждая команда или рабочая нагрузка получает собственный кластер AKS. Хотя физическая изоляция может показаться наиболее простым способом изоляции рабочих нагрузок или команд, она требует управления и дополнительных расходов. При использовании физически изолированных кластеров необходимо поддерживать несколько кластеров и отдельно предоставлять доступ и назначать разрешения. Плата за каждый отдельный узел также взимается.

Physical isolation of individual Kubernetes clusters in AKS

Физически изолированные кластеры обычно имеют низкую плотность pod. Поскольку каждой команде или рабочей нагрузке предоставляется собственный кластер AKS, все эти кластеры обычно получают избыточные вычислительные ресурсы. Часто на этих узлах запланировано несколько модулей pod. Невостребованное пространство на узлах недоступно для приложений или служб, над которыми работают другие команды. Эти избыточные ресурсы способствуют дополнительным затратам в физически изолированных кластерах.

Следующие шаги

Эта статья посвящена изоляции кластера. Дополнительные сведения об операциях кластера в AKS см. в следующих статьях: