Добавление балансировщика нагрузки (Load Balancer)
Сохраните следующую спецификацию для создания сервиса Load Balancer в YAML-файл с названием lb-service.yaml:
apiVersion: v1kind: Servicemetadata:name: example-service-2spec:selector:app: webports:- port: 8080targetPort: 8080type: LoadBalancerloadbalancerIP: 192.168.0.101
Где:
port — порт сетевого балансировщика, на котором будут обслуживаться пользовательские запросы.
ПримечаниеДля каждого кластера можно добавить суммарно не более 18 портов сервиса Load Balancer.
targetPort — порт контейнера, на котором доступно приложение.
selector — метки селектора, использованные в шаблоне подов при создании объекта Deployment.
loadbalancerIP — (опциональный праметр) IP-адрес для сервиса LoadBalancer. Для внутреннего кластера укажите IP-адрес из диапазона адресов (0.101 — 0.200), выделенных для узлов компонентов кластера (CIDR сети узлов). Для внешнего кластера по умолчанию выделяется публичный IP-адрес.
Указать IP-адрес Load Balancer для внешнего кластера можно вручную с помощью аннотации:
annotations:service.beta.kubernetes.io/sks-loadbalancer-network-type"cgnat""internal"Где:
cgnat — IP-адрес из диапазона 100.64.0.0/10.
internal — IP-адрес из диапазона адресов (0.101 — 0.200), выделенных для узлов компонентов кластера (CIDR сети узлов).
Опционально, добавьте в спецификацию алгоритм балансировки. Для этого добавьте аннотацию:
annotations:service.beta.kubernetes.io/sks-loadbalancer-algorithm: least_connection
Подробнее о Load Balancer.