Балансировщики нагрузки

Балансировщик нагрузки в Kubernetes используется для распределения входящего трафика между подами.

В Managed Kubernetes можно предоставлять внешний доступ кластеру с использованием сервиса (Service) с типом type: LoadBalancer, который будет использовать Балансировщик нагрузки Облачной платформы.

Балансировщик с публичным IP-адресом

Для предоставления публичного адреса приложениям, запущенным в кластере, создайте Service с балансировщиком нагрузки с публичным IP-адресом.

Пример манифеста для создания Service с типом LoadBalancer:

# loadbalancer.yaml
kind: Service
apiVersion: v1
metadata:
  name: loadbalancer
  labels:
    app: webservice
spec:
  type: LoadBalancer
  selector:
    app: webservice
  ports:
  - port: 80
    protocol: TCP

Созданный балансировщик нагрузки появится в панели управления Облачной платформой в разделе Балансировщики вашего проекта.

Обратите внимание! Рекомендуем все действия с балансировщиками производить только через утилиту kubectl, чтобы избежать некорректного поведения.

Балансировщик с приватным IP-адресом

Чтобы создать балансировщик с IP-адресом только внутри сети кластера (без получения и оплаты публичного IP-адреса), необходимо использовать аннотацию:

annotations: service.beta.kubernetes.io/openstack-internal-load-balancer

Пример манифеста:

# loadbalancer.yaml
kind: Service
apiVersion: v1
metadata:
  name: loadbalancer 
  labels:
    app: webservice
  annotations:
    service.beta.kubernetes.io/openstack-internal-load-balancer: "true"
spec:
  type: LoadBalancer
  selector:
    app: webservice
  ports:
  - name: http
    port: 80
    targetPort: 80

Созданный балансировщик нагрузки появится в панели управления Облачной платформой в разделе Балансировщики вашего проекта.

Обратите внимание! Рекомендуем все действия с балансировщиками производить только через утилиту kubectl, чтобы избежать некорректного поведения.