В кластере Managed Kubernetes можно настроить параметры балансировщика нагрузки через аннотации в Service.
Сейчас Managed Kubernetes поддерживает создание балансировщика нагрузки как версии 1, так и версии 2. Балансировщик нагрузки версии 1 в настоящий момент выводится из эксплуатации.
В кластерах Managed Kubernetes рекомендуем создавать балансировщик нагрузки версии 2. Чтобы перейти с версии 1 на версию 2, пересоздайте балансировщик.
В этом разделе приведен справочник аннотаций для балансировщика нагрузки версии 2.
Идентификатор экземпляра балансировщика нагрузки.
Значение присваивается автоматически и пользователь не может изменять его.
Аннотация
networking.cloud.ru/load-balancer-id
Пример
...metadata:name: cloudru-exampleannotations:networking.cloud.ru/load-balancer-id: "496e40f7-cc4b-4fa4-b42a-8cd2c9360716"...
Идентификатор экземпляра целевой группы, которая используется балансировщиком нагрузки.
Значение присваивается автоматически и пользователь не может изменять его.
Аннотация
networking.cloud.ru/load-balancer-backend-group-id
Пример
...metadata:name: cloudru-exampleannotations:networking.cloud.ru/load-balancer-backend-group-id: "496e40f7-cc4b-4fa4-b42a-8cd2c9360716"...
Название экземпляра балансировщика нагрузки.
Значение присваивается автоматически и пользователь не может изменять его.
Аннотация
networking.cloud.ru/load-balancer-name
Пример
...metadata:name: cloudru-exampleannotations:networking.cloud.ru/load-balancer-name: "mk8s-lb-496e40f7-cc4b-4fa4-b42a-8cd2c9360716"...
Описание экземпляра балансировщика нагрузки.
Аннотация
networking.cloud.ru/load-balancer-description
Не более 255 символов.
Пример
...metadata:name: cloudru-exampleannotations:networking.cloud.ru/load-balancer-description: "Example LB"...
Типы IP-адресов, которые будут выделены для балансировщика.
Аннотация
networking.cloud.ru/load-balancer-type
После создания балансировщика нагрузки параметр нельзя изменить.
Возможные значения:
internal — внутренние IP-адреса из заданной подсети.
external — внешние IP-адреса.
Внутренний IP-адрес балансировщика доступен только из той же VPC, в которой размещен балансировщик. Настройка маршрутизации к внутреннему IP-адресу из внешних сетей создаст неполную связность, при которой обратный трафик не доходит до внешних сетей.
Для доступа из внешних сетей используйте внешний IP-адрес.
Значение по умолчанию: external.
Пример
...metadata:name: cloudru-exampleannotations:networking.cloud.ru/load-balancer-type: "internal"...
Идентификатор подсети, из которой будет выделен IP-адрес экземпляру балансировщика нагрузки. Подсеть должна находиться в той же VPC, что и кластер.
Аннотация
networking.cloud.ru/load-balancer-internal-subnet-id
Обязательный параметр, если используется тип internal.
После создания балансировщика нагрузки параметр нельзя изменить.
Пример
...metadata:name: cloudru-exampleannotations:networking.cloud.ru/load-balancer-internal-subnet-id: "496e40f7-cc4b-4fa4-b42a-8cd2c9360716"...
IP-адрес из подсети, указанной в аннотации networking.cloud.ru/load-balancer-internal-subnet-id, который должен быть назначен балансировщику.
Аннотация
networking.cloud.ru/load-balancer-internal-ipv4
После создания балансировщика нагрузки параметр нельзя изменить.
Если аннотация не указана, то IP-адрес будет назначен автоматически.
Пример
...metadata:name: cloudru-exampleannotations:networking.cloud.ru/load-balancer-internal-ipv4: "192.168.10.24"...
Список идентификаторов внутренних подсетей, из которых будут выделены IP-адреса для реплик балансировщика. C IP-адресов сетевой трафик будет доставляться к целям.
Подсети также определяют зоны доступности, в которых будут расположены реплики балансировщика.
Обязательный параметр для балансировщика версии 2. Если не указать, будет создан балансировщик версии 1.
Аннотация
networking.cloud.ru/load-balancer-return-subnet-ids
Пример
...metadata:name: cloudru-exampleannotations:networking.cloud.ru/load-balancer-type: "internal, external"networking.cloud.ru/load-balancer-return-subnet-ids: "43ca5087-f15d-4a59-ba80-e5de7ff3d31d, 96d1096b-9b65-42f1-bc66-e18f52378ee5"...
Признак отключения проверки доступности узлов.
Аннотация
networking.cloud.ru/load-balancer-health-check-disabled
Пример
...metadata:name: cloudru-exampleannotations:networking.cloud.ru/load-balancer-health-check-disabled: ""...
Протокол проверки доступности узлов.
Аннотация
networking.cloud.ru/load-balancer-health-check-protocol
Возможные значения:
tcp — выполняется попытка установить TCP-соединение с узлом на заданном порту. Узел считается доступным, если соединение установлено успешно.
http — выполняется отправка HTTP-запроса и ожидается определенный код ответа, например 200 OK.
Значение по умолчанию: tcp.
Пример
...metadata:name: cloudru-exampleannotations:networking.cloud.ru/load-balancer-health-check-protocol: "http"...
Путь (часть URL), который будет использован для отправки HTTP-запроса.
Аннотация
networking.cloud.ru/load-balancer-health-check-http-path
Обязательный параметр, если выбран HTTP-протокол.
Пример
...metadata:name: cloudru-exampleannotations:networking.cloud.ru/load-balancer-health-check-protocol: "http"networking.cloud.ru/load-balancer-health-check-http-path: "/health"...
Номер порта цели, на который будут отправляться запросы проверки доступности.
Если аннотация не указана, номер порта определяется Kubernetes.
Аннотация
networking.cloud.ru/load-balancer-health-check-port
Пример
...metadata:name: cloudru-exampleannotations:networking.cloud.ru/load-balancer-health-check-port: 8080...
Время между проверками доступности, в секундах.
Аннотация
networking.cloud.ru/load-balancer-health-check-interval-seconds
Возможные значения: от 3 до 30.
Значение по умолчанию: 10.
Пример
...metadata:name: cloudru-exampleannotations:networking.cloud.ru/load-balancer-health-check-interval-seconds: 8...
Время ожидания ответа на запрос проверки доступности, в секундах. Если время истекло, проверка считается проваленной.
Аннотация
networking.cloud.ru/load-balancer-health-check-timeout-seconds
Возможные значения: от 3 до 30.
Значение по умолчанию: 3.
Пример
...metadata:name: cloudru-exampleannotations:networking.cloud.ru/load-balancer-health-check-timeout-seconds: 6...
Ограничение на количество проваленных проверок доступности. Если количество проваленных подряд проверок превысило ограничение, цель считается недоступной.
Если проверка выполняется с помощью HTTP-запросов, то при получении ответа с кодом 503 цель считается недоступной сразу и ограничение игнорируется.
Аннотация
networking.cloud.ru/load-balancer-health-check-unhealthy-threshold-count
Возможные значения: от 3 до 25.
Значение по умолчанию: 3.
Пример
...metadata:name: cloudru-exampleannotations:networking.cloud.ru/load-balancer-health-check-unhealthy-threshold-count: 5...
Количество успешных последовательных проверок, необходимых, чтобы считать ранее недоступный хост доступным.
Аннотация
networking.cloud.ru/load-balancer-health-check-healthy-threshold-count
Возможные значения: от 3 до 25.
Значение по умолчанию: 3.
Пример
...metadata:name: cloudru-exampleannotations:networking.cloud.ru/load-balancer-health-check-healthy-threshold-count: 5...
Алгоритм балансировки нагрузки.
Аннотация
networking.cloud.ru/load-balancer-algorithm
Возможные значения:
round_robin
maglev
least_request
Значение по умолчанию: round_robin.
Пример
...metadata:name: cloudru-exampleannotations:networking.cloud.ru/load-balancer-algorithm: "maglev"...
Список диапазонов IP-адресов (CIDR), которым разрешен доступ к балансировщику нагрузки.
Рекомендуется указывать список не в аннотации, а в поле .Spec.LoadBalancerSourceRanges сервиса. В этом случае аннотация игнорируется.
Аннотация
networking.cloud.ru/load-balancer-source-ranges
Значение по умолчанию: 0.0.0.0/0.
Пример
...metadata:name: cloudru-examplespec:loadBalancerSourceRanges:- 10.10.2.0/24