Nätverk, lastbalansering och säkerhet

Introduktion till Kubernetes

Frank Heilmann

Platform Architect and Freelance Instructor

Mer om etiketter och selektorer

Etiketter:

  • Nyckel/värde-par kopplade till Kubernetes-objekt som Pods eller Nodes
  • Används för att organisera delmängder av objekt
  • Kan ändras när som helst
  • Exempel:
    • environment: prod
    • app: my_cool_app
    • has_GPU: true

Selektorer:

  • Används för att identifiera objekt via etiketter
  • Exempel:

    • ...    
      selector:
          environment: prod
          app: my_cool_app
      ...
      
    • ...
      nodeSelector:
        has_GPU: true
      ...
      
Introduktion till Kubernetes

Nätverk och tjänster

Kubernetes-tjänster

  • Varje Pod får en egen klusterövergripande IP-adress
  • Kan användas för kommunikation mellan Pods
  • Begränsat användbara, eftersom Pods kan startas om när som helst och då får en ny IP-adress
  • Tjänster används för att koppla Pods till och erbjuda stabil anslutning
Introduktion till Kubernetes

Tjänstemanifest

Kubernetes-tjänster

apiVersion: v1
kind: Service
metadata:
  name: Kubernetes_Service_2
spec:
  type: ...
  selector:
    app: app2 
  ...
Introduktion till Kubernetes

Lastbalansering

Lastbalansering

  • En lastbalanserare i Kubernetes fördelar belastningen över Pods
  • Förhindrar ojämn resursbelastning, ökar effektiviteten och sänker svarstiderna

  • Exempel:

    • en tjänst tillhandahålls från flera Pods
    • lastbalanseraren fördelar belastningen jämnt till Pods
Introduktion till Kubernetes

Lastbalansering i Kubernetes

apiVersion: v1
kind: Service
metadata:
  name: <service name>
spec:
  type: LoadBalancer
  selector:
    <key1>: <value1>
    <key2>: <value2>
  ...
  • Lastbalanserare är vanligtvis förkonfigurerade av Kubernetes-leverantören (molnleverantören)
  • Inget behov av extra manifest för en lastbalanserare – den skapas och kopplas automatiskt till tjänsten
Introduktion till Kubernetes

Ingress

Kubernetes Ingress

  • Ingress-objekt används för att dirigera HTTP- och HTTPS-förfrågningar (trafik) utifrån klustret till tjänster inuti klustret
  • Ingress-regler definierar vilken tjänst som hanterar vilka förfrågningar
  • Används vanligtvis i kombination med lastbalansering
Introduktion till Kubernetes

Kubernetes-säkerhet

  • Säkerhet i moderna IT-arkitekturer är ett mycket viktigt men komplext område med många aspekter
  • Kubernetes har alla nödvändiga komponenter för att skydda applikationer som körs

    på det, t.ex.:

    • "Secret"-API:et för konfidentiella objekt som lösenord, tokens, nycklar m.m.
    • verktyg och API:er för krypterad nätverkskommunikation
    • metoder för autentisering av användare
    • rollbaserad och attributbaserad åtkomstkontroll ("RBAC" och "ABAC")
Introduktion till Kubernetes

Nu kör vi en övning!

Introduktion till Kubernetes

Preparing Video For Download...