Yandex Cloud
Поиск
Связаться с намиПодключиться
  • Документация
  • Блог
  • Все сервисы
  • Статус работы сервисов
    • Популярные
    • Инфраструктура и сеть
    • Платформа данных
    • Контейнеры
    • Инструменты разработчика
    • Бессерверные вычисления
    • Безопасность
    • Мониторинг и управление ресурсами
    • Машинное обучение
    • Бизнес-инструменты
  • Все решения
    • По отраслям
    • По типу задач
    • Экономика платформы
    • Безопасность
    • Техническая поддержка
    • Каталог партнёров
    • Обучение и сертификация
    • Облако для стартапов
    • Облако для крупного бизнеса
    • Центр технологий для общества
    • Облако для интеграторов
    • Поддержка IT-бизнеса
    • Облако для фрилансеров
    • Обучение и сертификация
    • Блог
    • Документация
    • Контент-программа
    • Мероприятия и вебинары
    • Контакты, чаты и сообщества
    • Идеи
    • Истории успеха
    • Тарифы Yandex Cloud
    • Промоакции и free tier
    • Правила тарификации
  • Документация
  • Блог
Проект Яндекса
© 2025 ООО «Яндекс.Облако»
Yandex Managed Service for Kubernetes
  • Сопоставление с другими сервисами Yandex Cloud
  • Начало работы
  • Управление доступом
  • Правила тарификации
  • Справочник Terraform
  • Метрики Monitoring
  • Аудитные логи Audit Trails
    • Обзор
    • Service
    • NetworkPolicy
  • История изменений
  • Обучающие курсы

В этой статье:

  • Service
  • ObjectMeta
  • Аннотации (metadata.annotations)
  • ServiceSpec
  • ServicePort
  1. Инструменты Network Load Balancer
  2. Service

Поля и аннотации ресурса Service

Статья создана
Yandex Cloud
Обновлена 6 марта 2025 г.
  • Service
  • ObjectMeta
    • Аннотации (metadata.annotations)
  • ServiceSpec
    • ServicePort

Ресурс Service определяет сервис Kubernetes. Для Network Load Balancer для Managed Service for Kubernetes сервисы представляют собой балансировщики входящего трафика.

Service — стандартный ресурс Kubernetes. В этом справочнике описаны поля и аннотации ресурса, которые поддерживаются Network Load Balancer для Managed Service for Kubernetes. Полный справочник ресурса см. в документации Kubernetes.

ServiceService

apiVersion: v1
kind: Service
metadata: <ObjectMeta>
spec: <ServiceSpec>

Поле

Значение или тип

Описание

apiVersion

v1

Обязательное
Версия API Kubernetes

kind

Service

Тип ресурса

metadata

ObjectMeta

Обязательное
Метаданные ресурса

spec

ServiceSpec

Обязательное
Спецификация ресурса

Пример
apiVersion: v1
kind: Service
metadata:
  name: nlb-demo-1
spec:
  selector:
    app: app-demo-1
  type: LoadBalancer
  ports:
    - port: 80
      name: plaintext
      targetPort: 8080

ObjectMetaObjectMeta

name: <string>
annotations:
  yandex.cloud/load-balancer-type: <string>
  yandex.cloud/subnet-id: <string>
  yandex.cloud/load-balancer-healthcheck-healthy-threshold: <string>
  yandex.cloud/load-balancer-healthcheck-interval: <string>
  yandex.cloud/load-balancer-healthcheck-timeout: <string>
  yandex.cloud/load-balancer-healthcheck-unhealthy-threshold: <string>

Поле

Значение или тип

Описание

name

string

Обязательное
Имя ресурса

Не соответствует имени балансировщика в Network Load Balancer

annotations

map[string]string

Аннотации ресурса

Аннотации (metadata.annotations)Аннотации (metadata.annotations)

Аннотации — это коллекция пар ключ:значение, которые используются для присвоения метаданных объекту. Значения аннотаций всегда имеют тип данных string. Подробнее об аннотациях см. в документации Kubernetes.

Для объекта ObjectMeta можно передать следующие аннотации:

  • yandex.cloud/load-balancer-type

    Тип балансировщика (по умолчанию — с внешним IP-адресом).

    Значение для балансировщика с внутренним IP-адресом — internal.

  • yandex.cloud/subnet-id

    Идентификатор подсети, в которой необходимо выделить IP-адрес для внутреннего сетевого балансировщика нагрузки.

  • yandex.cloud/load-balancer-healthcheck-healthy-threshold

    Число последовательных удачных проверок, по достижении которого узел будет считаться доступным.

    Минимальное значение — 2, максимальное значение — 10.

  • yandex.cloud/load-balancer-healthcheck-interval

    Интервал выполнения проверок (в секундах).

    Минимальное значение — 2s, максимальное значение — 300s.

  • yandex.cloud/load-balancer-healthcheck-timeout

    Таймаут выполнения проверок (в секундах). Узел считается недоступным, если он не ответил за отведенное время.

    Минимальное значение — 1s, максимальное значение — 60s.

  • yandex.cloud/load-balancer-healthcheck-unhealthy-threshold

    Число последовательных неудачных проверок, по достижении которого узел будет считаться недоступным.

    Минимальное значение — 2, максимальное значение — 10.

ServiceSpecServiceSpec

type: LoadBalancer
ports:
  - <ServicePort>
  - ...
loadBalancerIP: <string>
externalTrafficPolicy: <string>

Поле

Значение или тип

Описание

type

LoadBalancer

Обязательное
Тип сервиса.

Важно

Сервисы Kubernetes, используемые в качестве сетевых балансировщиков нагрузки, должны иметь тип LoadBalancer. Подробнее об этом типе см. в документации Kubernetes.

ports

[]ServicePort

Обязательное
Список портов, на которых доступен сервис.

loadBalancerIP

string

При использовании внешнего балансировщика нагрузки в этом поле можно указать статический публичный IP-адрес. Такой адрес необходимо зарезервировать заранее. Во время резервирования публичного IP-адреса можно активировать защиту от DDoS-атак. Если не указывать статический публичный IP-адрес, то сетевому балансировщику нагрузки будет назначен динамический публичный IP-адрес.

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

Важно

Если вы в дальнейшем удалите из спецификации внутренний IP-адрес, он может быть автоматически назначен другому ресурсу в той же облачной сети. Рекомендуем выбирать IP-адрес ближе к концу диапазона IP-адресов выбранной подсети.

externalTrafficPolicy

string

Политика управления трафиком:

  • Cluster — трафик попадает на любой из узлов кластера Kubernetes. В случае отсутствия нужных подов на узле, трафик перенаправляется с помощью kube-proxy на другой узел. Значение по умолчанию.

  • Local — трафик напрямую попадает на узлы, где запущены контейнеры приложений. При этом:

    • Сохраняется IP-адрес запроса пользователя.
    • Используется меньше горизонтального трафика между виртуальными машинами.

ServicePortServicePort

name: <string>
port: <int32>
targetPort: <int32>
nodePort: <int32>

Поле

Значение или тип

Описание

name

string

Имя порта внутри сервиса.

port

int32

Обязательное
Порт, на котором будут обслуживаться пользовательские запросы, поступающие к сервису.

Этот же порт будет назначен обработчику балансировщика нагрузки в качестве порта, на котором будет приниматься входящий трафик.

targetPort

int32

Порт контейнера, на котором доступно приложение.

Если не указывать это поле, то значение targetPort будет совпадать с port.

nodePort

int32

Порт, на котором будут обслуживаться пользовательские запросы, поступающие к сервису извне кластера.

Этот же порт будет назначен обработчику балансировщика нагрузки в качестве целевого порта, на котором ресурсы в целевой группе будут принимать трафик.

Обычно поле не указывается, поэтому значение nodePort выбирается автоматически в указанном диапазоне.

Однако вы можете указать нужный порт явно. Выбранный порт не должен использоваться другими объектами Kubernetes.

Диапазон значений: 30000-32767.

Была ли статья полезна?

Предыдущая
Обзор
Следующая
NetworkPolicy
Проект Яндекса
© 2025 ООО «Яндекс.Облако»