Мережа, балансування навантаження та безпека

Вступ до Kubernetes

Frank Heilmann

Platform Architect and Freelance Instructor

Докладніше про Labels і Selectors

Labels:

  • Пара «ключ/значення», прикріплена до об'єктів Kubernetes, як-от Pod або Node
  • Використовують для впорядкування підмножин об'єктів
  • Можна змінювати будь-коли
  • Приклади:
    • environment: prod
    • app: my_cool_app
    • has_GPU: true

Selectors:

  • Дають змогу ідентифікувати об'єкти за labels
  • Приклади:

    • ...    
      selector:
          environment: prod
          app: my_cool_app
      ...
      
    • ...
      nodeSelector:
        has_GPU: true
      ...
      
Вступ до Kubernetes

Мережа та Services

Служби Kubernetes

  • Кожен Pod отримує власну IP-адресу в межах кластера
  • Використовується для зв'язку між Pod-ами
  • Малокорисно, бо Pod-и можуть перезапускатися і отримувати нову IP
  • Services прив'язують Pod-и та забезпечують стабільне з'єднання
Вступ до Kubernetes

Маніфести Service

Служби Kubernetesl

apiVersion: v1
kind: Service
metadata:
  name: Kubernetes_Service_2
spec:
  type: ...
  selector:
    app: app2 
  ...
Вступ до Kubernetes

Балансування навантаження

Балансування навантаження

  • У Kubernetes load balancer розподіляє навантаження між Pod-ами
  • Уникає нерівномірного навантаження, підвищує ефективність і зменшує час відповіді

  • Приклад:

    • сервіс на кількох Pod-ах
    • load balancer рівномірно розподіляє трафік між Pod-ами
Вступ до Kubernetes

Балансування навантаження в Kubernetes

apiVersion: v1
kind: Service
metadata:
  name: <service name>
spec:
  type: LoadBalancer
  selector:
    <key1>: <value1>
    <key2>: <value2>
  ...
  • Балансувальники зазвичай попередньо налаштовані Kubernetes-провайдером (хмарним провайдером)
  • Не потрібно оголошувати додаткові маніфести для балансувальника — його буде автоматично створено й прив'язано до сервісу
Вступ до Kubernetes

Ingress

Kubernetes Ingress

  • Об'єкти Ingress маршрутизують HTTP і HTTPS-трафік ззовні кластера до сервісів у кластері
  • Правила Ingress визначають, який сервіс обробляє які запити
  • Зазвичай використовуються разом із балансуванням навантаження
Вступ до Kubernetes

Безпека в Kubernetes

  • Безпека в сучасних IT-архітектурах — надважлива, але складна багатогранна сфера
  • Kubernetes має всі потрібні компоненти для захисту застосунків,

    напр.:

    • API "Secret" для конфіденційних об'єктів, як-от паролі, токени, ключі тощо
    • інструменти й API для шифрованого мережевого зв'язку
    • методи автентифікації користувачів
    • керування доступом на основі ролей і атрибутів ("RBAC" і "ABAC")
Вступ до Kubernetes

Давайте потренуємось!

Вступ до Kubernetes

Preparing Video For Download...