Сети, балансировка нагрузки и безопасность

Введение в Kubernetes

Frank Heilmann

Platform Architect and Freelance Instructor

Подробнее о метках и селекторах

Метки:

  • Пары ключ/значение, прикреплённые к объектам Kubernetes — Pod'ам или узлам
  • Позволяют организовывать подмножества объектов
  • Можно изменять в любое время
  • Примеры:
    • environment: prod
    • app: my_cool_app
    • has_GPU: true

Селекторы:

  • Используются для поиска объектов по меткам
  • Примеры:

    • ...    
      selector:
          environment: prod
          app: my_cool_app
      ...
      
    • ...
      nodeSelector:
        has_GPU: true
      ...
      
Введение в Kubernetes

Сети и сервисы

Сервисы Kubernetes

  • Каждый Pod получает собственный IP-адрес в рамках кластера
  • Может использоваться для связи между Pod'ами
  • Не очень надёжно: Pod может перезапуститься в любой момент и получить новый IP
  • Сервисы позволяют подключать Pod'ы и обеспечивают стабильное соединение
Введение в Kubernetes

Манифесты сервисов

Сервисы Kubernetes

apiVersion: v1
kind: Service
metadata:
  name: Kubernetes_Service_2
spec:
  type: ...
  selector:
    app: app2 
  ...
Введение в Kubernetes

Балансировка нагрузки

Балансировка нагрузки

  • Балансировщик нагрузки в Kubernetes распределяет нагрузку между Pod'ами
  • Предотвращает перегрузку ресурсов, повышает эффективность и сокращает время отклика

  • Пример:

    • сервис обслуживается несколькими Pod'ами
    • балансировщик равномерно распределяет нагрузку между ними
Введение в Kubernetes

Балансировка нагрузки в Kubernetes

apiVersion: v1
kind: Service
metadata:
  name: <service name>
spec:
  type: LoadBalancer
  selector:
    <key1>: <value1>
    <key2>: <value2>
  ...
  • Балансировщики нагрузки, как правило, предварительно настраиваются провайдером Kubernetes (облачным провайдером)
  • Дополнительные манифесты не нужны — балансировщик создаётся и подключается к сервису автоматически
Введение в Kubernetes

Ingress

Ingress в Kubernetes

  • Объекты Ingress используются для маршрутизации HTTP- и HTTPS-запросов из-за пределов кластера к его сервисам
  • Правила Ingress определяют, какой сервис обрабатывает тот или иной запрос
  • Как правило, применяется совместно с балансировкой нагрузки
Введение в Kubernetes

Безопасность в Kubernetes

  • Безопасность в современных IT-архитектурах — крайне важная, но сложная и многогранная область
  • Kubernetes включает все необходимые компоненты для защиты приложений,

    например:

    • API «Secret» для хранения конфиденциальных объектов — паролей, токенов, ключей и т. д.
    • инструменты и API для шифрования сетевого трафика
    • механизмы аутентификации пользователей
    • управление доступом на основе ролей и атрибутов («RBAC» и «ABAC»)
Введение в Kubernetes

Давайте потренируемся!

Введение в Kubernetes

Preparing Video For Download...