Настройка распространения меток сборки: различия между версиями
(Новая страница: «Распространение меток сборки позволяет передавать метаданные сборки и версии внедренн...») |
(нет различий)
|
Текущая версия на 17:26, 3 декабря 2025
Распространение меток сборки позволяет передавать метаданные сборки и версии внедренному ЕдиномуАгенту для вновь развёрнутых подов. Эта информация затем отображается в разделе «Свойства и теги» на страницах объектов.
Как это работает
Вы можете ссылаться на значение поля метаданных в переменной среды.
| env:
- name: MY_POD_NAMESPACE valueFrom: fieldRef: fieldPath: metadata.namespace |
Затем ЕдиныйАгент внедряется во вновь развернутые поды и собирает метаданные, предоставленные через переменные среды.
Включение распространения меток сборки
Чтобы включить распространение меток сборки, необходимо установить для feature.astromkey.com/label-version-detection значение true в DynaKube. Обратите внимание: поскольку для включения распространения меток сборки требуется внедрение веб-перехватчика, это работает только с развёртываниями applicationMonitoring и .cloudNativeFullStack
| apiVersion: astromkey.com/v1beta5
kind: DynaKube metadata: name: dynakube namespace: astromkey annotations: feature.astromkey.com/label-version-detection: "true" ... spec: oneAgent: cloudNativeFullStack: {} |
Действия по умолчанию
- Переменная окружения
DT_RELEASE_VERSIONполучает значение изmetadata.labels['app.kubernetes.io/version']. - Переменная окружения
DT_RELEASE_PRODUCTполучает значение изmetadata.labels['app.kubernetes.io/part-of'].
Например, если в вашем приложении есть следующий под:
| apiVersion: v1
kind: Pod metadata: ... labels: app.kubernetes.io/version: "1.0.0" app.kubernetes.io/part-of: "store" spec: ... |
значение меток добавляется к переменным окружения внедренных контейнеров:
| apiVersion: v1
kind: Pod metadata: ... labels: app.kubernetes.io/version: "1.0.0" app.kubernetes.io/part-of: "Store" spec: ... containers: - name: app ... env: - name: "DT_RELEASE_VERSION" valueFrom: fieldRef: fieldPath: metadata.labels['app.kubernetes.io/version'] - name: "DT_RELEASE_PRODUCT" valueFrom: fieldRef: fieldPath: metadata.labels['app.kubernetes.io/part-of'] |
Если переменные среды DT_RELEASE_VERSION или DT_RELEASE_PRODUCT уже установлены в контейнере до внедрения ЕдиногоАгента, они не будут перезаписаны.
Параметры конфигурации
Вы можете аннотировать свое пространство имен, чтобы предоставить дополнительные сопоставления или переопределить значения по умолчанию для подов в этом пространстве имен.
- Каждый ключ аннотации сопоставляется с определенной переменной среды.
- Каждое значение аннотации — это справочный путь в
fieldPath. - Доступная информация для
fieldPathта же самая, что и дляfieldRef.
Пример перезаписи значений по умолчанию для version и product, а также включения stage и build-version:
| annotations:
mapping.release.astromkey.com/version: "metadata.annotations['my-version']" mapping.release.astromkey.com/product: "metadata.labels['app.kubernetes.io/name']" mapping.release.astromkey.com/stage: "metadata.namespace" mapping.release.astromkey.com/build-version: "metadata.labels['release.astromkey.com/stage']" |
Каждая из этих аннотаций настраивает отдельную переменную среды:
mapping.release.astromkey.com/version
|
Содержит fieldPath используемый для DT_RELEASE_VERSION.
Если эта аннотация отсутствует, сопоставление возвращается к действию по умолчанию . |
mapping.release.astromkey.com/product
|
Содержит fieldPath используемый для DT_RELEASE_PRODUCT.
Если эта аннотация отсутствует, сопоставление возвращается к действию по умолчанию. |
mapping.release.astromkey.com/stage
|
Содержит fieldPath используемый для DT_RELEASE_STAGE.
|
mapping.release.astromkey.com/build-version
|
Содержит fieldPath используемый для DT_RELEASE_BUILD_VERSION.
|
Значения не проверяются Ключ-АСТРОМ Operator или веб-перехватчиком, поэтому убедитесь, что они действительны.