Advanced
Тема интерфейса
Cloud Container Engine

Настройка меток и аннотаций

Эта статья полезна?
Язык статьи: Русский
Показать оригинал
Страница переведена автоматически и может содержать неточности. Рекомендуем сверяться с английской версией.

Аннотации Pod

CCE позволяет добавлять аннотации в файл YAML для реализации некоторых продвинутых функций pod. В следующей таблице описаны доступные аннотации.

Таблица 1 Аннотации Pod

Аннотация

Описание

Значение по умолчанию

kubernetes.AOM.log.stdout

Параметр стандартного вывода. Если не указано, стандартный лог‑вывод всех контейнеров передаётся в AOM. Вы можете собирать логи stdout из определённых контейнеров или полностью их игнорировать.

Пример:

  • Сбор ни одного из логов stdout:
    kubernetes.AOM.log.stdout: '[]'
  • Сбор логов stdout контейнера‑1 и контейнера‑2:
    kubernetes.AOM.log.stdout: '["container-1","container-2"]'

Нет

metrics.alpha.kubernetes.io/custom-endpoints

Параметр для передачи указанных вами метрик мониторинга AOM.

Нет

prometheus.io/scrape

Параметр для передачи метрик Prometheus. Если значение равно true, текущая рабочая нагрузка передаёт метрики мониторинга.

Нет

prometheus.io/path

URL для сбора данных Prometheus.

/metrics

prometheus.io/port

Номер порта эндпоинта, используемого Prometheus для сбора данных.

Нет

prometheus.io/scheme

Протокол, используемый Prometheus для сбора данных. Допустимые значения: http или https.

Нет

kubernetes.io/ingress-bandwidth

Пропускная способность входящего трафика pod.

Подробнее см. Настройка QoS для Pod.

Нет

kubernetes.io/egress-bandwidth

Пропускная способность исходящего трафика pod.

Подробнее см. Настройка QoS для Pod.

Нет

Метки Pod

При создании рабочей нагрузки в консоли, к pod по умолчанию добавляются следующие метки. Значение app — имя рабочей нагрузки.

Пример YAML:

...
spec:
selector:
matchLabels:
app: nginx
version: v1
template:
metadata:
labels:
app: nginx
version: v1
spec:
...

Вы также можете добавить к pod другие метки для планирования с учётом аффинити и анти‑аффинити. На следующем рисунке для рабочих нагрузок APP 1, APP 2 и APP 3 определены три метки pod (release, env и role). Значения этих меток меняются в зависимости от нагрузки.

  • APP 1: [release:alpha;env:development;role:frontend]
  • APP 2: [release:beta;env:testing;role:frontend]
  • APP 3: [release:alpha;env:production;role:backend]

Рисунок 1 Пример метки


Например, если ключ/значение установлен в role/backend, APP 3 будет выбран для планирования аффинити. Подробнее см. Настройка планирования аффинити или анти‑аффинити для рабочей нагрузки (podAffinity или podAntiAffinity).