Балансировщики нагрузки
Балансировщик нагрузки в 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, чтобы избежать некорректного поведения.