Sobes.tech
Back to questions
Junior — Middle
74

Каким образом вы реализуете и настраиваете балансировщики нагрузки в Kubernetes для распределения трафика?

Companies where asked
Data World

Answer from AI

sobes.tech AI

В Kubernetes для балансировки нагрузки обычно используются объекты Service с типом LoadBalancer или Ingress.

  • Service типа LoadBalancer создаёт внешний балансировщик нагрузки (например, в облаке), который распределяет трафик на поды.
  • Ingress управляет HTTP/HTTPS трафиком и позволяет настроить правила маршрутизации и балансировки.

Пример настройки Service с LoadBalancer:

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

Для более гибкой балансировки можно использовать Ingress контроллеры (например, NGINX Ingress Controller), где настраиваются правила маршрутизации, SSL, переписывание URL и т.д.

Важно также настроить readiness и liveness пробы для подов, чтобы балансировщик направлял трафик только на здоровые экземпляры.