Rețele, echilibrarea încărcării și securitate

Introducere în Kubernetes

Frank Heilmann

Platform Architect and Freelance Instructor

Mai multe despre etichete și selectori

Etichete:

  • Perechi cheie/valoare atașate obiectelor Kubernetes precum Pod-uri sau Node-uri
  • Pot fi utilizate pentru a organiza subseturi de obiecte
  • Pot fi modificate oricând
  • Exemple:
    • environment: prod
    • app: my_cool_app
    • has_GPU: true

Selectori:

  • Pot fi utilizați pentru identificarea obiectelor prin etichete
  • Exemple:

    • ...    
      selector:
          environment: prod
          app: my_cool_app
      ...
      
    • ...
      nodeSelector:
        has_GPU: true
      ...
      
Introducere în Kubernetes

Rețele și servicii

Servicii Kubernetes

  • Fiecare Pod primește un IP propriu la nivelul clusterului
  • Poate fi utilizat pentru comunicarea între Pod-uri
  • Nu este foarte util, deoarece Pod-urile se pot reporni oricând și vor primi un nou IP
  • Serviciile sunt utilizate pentru a conecta Pod-urile și a oferi conectivitate stabilă
Introducere în Kubernetes

Manifeste pentru servicii

Servicii Kubernetes

apiVersion: v1
kind: Service
metadata:
  name: Kubernetes_Service_2
spec:
  type: ...
  selector:
    app: app2 
  ...
Introducere în Kubernetes

Echilibrarea încărcării

Echilibrarea încărcării

  • Un load balancer în Kubernetes distribuie încărcarea între Pod-uri
  • Evită supraîncărcarea resurselor, crește eficiența și reduce timpii de răspuns

  • Exemplu:

    • un serviciu furnizat de mai multe Pod-uri
    • load balancer-ul distribuie uniform încărcarea între Pod-uri
Introducere în Kubernetes

Echilibrarea încărcării în Kubernetes

apiVersion: v1
kind: Service
metadata:
  name: <service name>
spec:
  type: LoadBalancer
  selector:
    <key1>: <value1>
    <key2>: <value2>
  ...
  • Load balancer-ele sunt de obicei preconfigurate de furnizorul Kubernetes (furnizorul cloud)
  • Nu este nevoie de manifeste suplimentare — load balancer-ul este creat și atașat automat la serviciu
Introducere în Kubernetes

Ingress

Kubernetes Ingress

  • Obiectele Ingress rutează cereri HTTP și HTTPS din afara clusterului către servicii din interior
  • Regulile Ingress definesc ce serviciu gestionează fiecare cerere
  • Utilizat de obicei împreună cu echilibrarea încărcării
Introducere în Kubernetes

Securitate în Kubernetes

  • Securitatea în arhitecturile IT moderne este extrem de importantă, dar și un domeniu complex cu multiple fațete
  • Kubernetes include toate componentele necesare pentru securizarea aplicațiilor,

    de exemplu:

    • API-ul "Secret" pentru obiecte confidențiale precum parole, tokenuri, chei etc.
    • instrumente și API-uri pentru comunicare de rețea criptată
    • metode de autentificare a utilizatorilor
    • controlul accesului bazat pe roluri și pe atribute ("RBAC" și "ABAC")
Introducere în Kubernetes

Să exersăm!

Introducere în Kubernetes

Preparing Video For Download...