Sobes.tech
Junior — Middle

Come implementi e configuri i bilanciatori di carico in Kubernetes per distribuire il traffico?

sobes.tech AI

Risposta dell'AI

In Kubernetes, gli oggetti Service di tipo LoadBalancer o Ingress sono comunemente usati per il bilanciamento del carico.

  • Service di tipo LoadBalancer crea un bilanciatore di carico esterno (ad esempio, nel cloud) che distribuisce il traffico ai pod.
  • Ingress gestisce il traffico HTTP/HTTPS e consente di configurare regole di instradamento e bilanciamento.

Esempio di configurazione di un Service con LoadBalancer:

apiVersion: v1
kind: Service
metadata:
  name: my-service
spec:
  type: LoadBalancer
  selector:
    app: my-app
  ports:
    - protocol: TCP
      port: 80
      targetPort: 8080

Per un bilanciamento più flessibile, si possono usare controller di Ingress (ad esempio, NGINX Ingress Controller), dove si configurano regole di instradamento, SSL, riscrittura URL, ecc.

È inoltre importante configurare le sonde di readiness e liveness per i pod, in modo che il bilanciatore indirizzi il traffico solo alle istanze sane.