Sieciowanie, równoważenie obciążenia i bezpieczeństwo

Wprowadzenie do Kubernetes

Frank Heilmann

Platform Architect and Freelance Instructor

Etykiety i selektory – więcej informacji

Etykiety:

  • Pary klucz/wartość przypisane do obiektów Kubernetes, takich jak Pody lub Węzły
  • Umożliwiają organizowanie podzbiorów obiektów
  • Można je modyfikować w dowolnym momencie
  • Przykłady:
    • environment: prod
    • app: my_cool_app
    • has_GPU: true

Selektory:

  • Służą do identyfikowania obiektów za pomocą etykiet
  • Przykłady:

    • ...    
      selector:
          environment: prod
          app: my_cool_app
      ...
      
    • ...
      nodeSelector:
        has_GPU: true
      ...
      
Wprowadzenie do Kubernetes

Sieciowanie i usługi

Usługi Kubernetes

  • Każdy Pod otrzymuje własny adres IP w klastrze
  • Może być używany do komunikacji między Podami
  • Mało praktyczne – Pody mogą się restartować i otrzymywać nowy adres IP
  • Usługi służą do przyłączania Podów i zapewnienia stabilnej łączności
Wprowadzenie do Kubernetes

Manifesty usług

Usługi Kubernetes

apiVersion: v1
kind: Service
metadata:
  name: Kubernetes_Service_2
spec:
  type: ...
  selector:
    app: app2 
  ...
Wprowadzenie do Kubernetes

Równoważenie obciążenia

Równoważenie obciążenia

  • Load balancer w Kubernetes rozdziela obciążenie między Pody
  • Zapobiega nierównomiernemu obciążeniu zasobów, zwiększa wydajność i skraca czas odpowiedzi

  • Przykład:

    • usługa uruchomiona na wielu Podach
    • load balancer równomiernie rozdziela obciążenie między Pody
Wprowadzenie do Kubernetes

Równoważenie obciążenia w Kubernetes

apiVersion: v1
kind: Service
metadata:
  name: <service name>
spec:
  type: LoadBalancer
  selector:
    <key1>: <value1>
    <key2>: <value2>
  ...
  • Load balancery są zazwyczaj wstępnie konfigurowane przez dostawcę Kubernetes (dostawcę chmury)
  • Nie trzeba deklarować dodatkowych manifestów – load balancer zostanie automatycznie utworzony i dołączony do usługi
Wprowadzenie do Kubernetes

Ingress

Kubernetes Ingress

  • Obiekty Ingress służą do kierowania żądań HTTP i HTTPS z zewnątrz klastra do usług wewnątrz klastra
  • Reguły Ingress określają, która usługa obsługuje dane żądania
  • Zazwyczaj stosowane wraz z równoważeniem obciążenia
Wprowadzenie do Kubernetes

Bezpieczeństwo w Kubernetes

  • Bezpieczeństwo w nowoczesnych architekturach IT to niezwykle ważna, lecz złożona dziedzina o wielu aspektach
  • Kubernetes posiada wszystkie niezbędne komponenty do zabezpieczania

    aplikacji, m.in.:

    • API "Secret" dla poufnych obiektów, takich jak hasła, tokeny, klucze itp.
    • narzędzia i API umożliwiające szyfrowaną komunikację sieciową
    • metody uwierzytelniania użytkowników
    • kontrola dostępu oparta na rolach i na atrybutach ("RBAC" i "ABAC")
Wprowadzenie do Kubernetes

Czas na ćwiczenia!

Wprowadzenie do Kubernetes

Preparing Video For Download...