Sobes.tech
Junior — Middle

Jak wdrażasz i konfigurujesz load balancery w Kubernetes do rozkładania ruchu?

sobes.tech AI

Odpowiedź od AI

W Kubernetesie powszechnie używa się obiektów Service typu LoadBalancer lub Ingress do równoważenia obciążenia.

  • Service typu LoadBalancer tworzy zewnętrzny load balancer (np. w chmurze), który rozdziela ruch na pody.
  • Ingress zarządza ruchem HTTP/HTTPS i pozwala na konfigurowanie reguł routingu i równoważenia.

Przykład konfiguracji Service z LoadBalancer:

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

Dla bardziej elastycznego równoważenia można użyć kontrolerów Ingress (np. NGINX Ingress Controller), gdzie konfiguruje się reguły routingu, SSL, przepisywanie URL itp.

Ważne jest również skonfigurowanie sond gotowości (readiness) i żywotności (liveness) dla podów, aby load balancer kierował ruch tylko do zdrowych instancji.