Настройка извлечения образа узла: различия между версиями

Материал из Документация Ключ-АСТРОМ
(Новая страница: «<code>Ключ-АСТРОМ Operator версии 1.5</code> <code>cloudNativeFullStack</code> <code>applicationMonitoring</code> Функция извлече...»)
(нет различий)

Версия 13:27, 24 ноября 2025

Ключ-АСТРОМ Operator версии 1.5

cloudNativeFullStack applicationMonitoring

Функция извлечения образа узла открывает новые возможности для извлечения образа модуля кода Ключ-АСТРОМ, а также повышает производительность и безопасность Ключ-АСТРОМ Operator. Эти улучшения обеспечивают следующие улучшения и варианты использования:

  • Облачный полнофункциональный мониторинг работает независимо от драйвера CSI 1
    • Облачный полнофункциональный мониторинг можно развернуть с помощью OpenShift OperatorHub
  • Мониторинг приложений работает в сочетании с публично подписанными образами.
  • Комбинация внедрения модуля кода Ключ-АСТРОМ на основе CSI и без CSI 1
    • для смешанных настроек с доступом к узлам или без него, например AWS Elastic Kubernetes Service с узлами EC2 и Fargate
    • для использования преимуществ драйвера CSI, с определенными исключениями для инструментария NGINX

1 Для развертываний с использованием облачного полнофункционального режима требуются Ключ-АСТРОМ Operator версии 1.6+ и ЕдиныйАгент версии 1.317+.

Благодаря включенной функции извлечения образов узлов интеграция Kubernetes в инструменты безопасности - цепочки поставок значительно упрощается. Кроме того, эта функция позволяет оператору всегда извлекать образы через узлы Kubernetes, что снижает необходимость в использовании customPullSecret при получении образов из закрытых реестров.

Предустановка

  • Ключ-АСТРОМ OneAgent версии 1.311.72+
    • Рекомендуемая версия Ключ-АСТРОМ ЕдиныйАгент — 1.317+.
  • Образ модуля кода Ключ-АСТРОМ получен из поддерживаемых нами публичных реестров или вашего личного реестра.
При использовании закрытого реестра необходимо убедиться, что все узлы прошли аутентификацию для доступа к реестру. В качестве альтернативы вы можете указать customPullSecret, чтобы предоставить необходимые учетные данные для загрузки образов.

Ограничения

Обратите внимание, что следующие конфигурации не поддерживаются:

  • Поскольку GKE Autopilot динамически выделяет узлы и их размеры на основе агрегированных запросов ресурсов модулей для оптимизации использования ресурсов, GKE Autopilot не подходит для функции извлечения образа узла в сочетании с драйвером CSI.
    • Мы рекомендуем использовать эту функцию без драйвера CSI в системах GKE Autopilot или, в качестве альтернативы, использовать драйвер CSI в стандартной настройке с отключенным извлечением образа узла.

Поведение и конфигурация

Функция активируется с помощью флага функции в DynaKube. Следующие два пункта описывают поведение и преимущества функции в зависимости от того, был ли драйвер CSI развернут в составе оператора:

  • С драйвером CSI — вместо загрузки модулей кода в модуль драйвера CSI, образы модулей кода Ключ-АСТРОМ напрямую загружаются через узел. Каждый модуль драйвера CSI создаёт для узла задание по загрузке модулей кода в файловую систему хоста, где они будут использоваться драйвером CSI в обычном режиме. Такой подход снижает потребность в customPullSecret при получении образов из закрытых реестров.
  • Без драйвера CSI 1. Если драйвер CSI не установлен в вашем кластере, вы можете использовать функцию извлечения образа узла с помощью образа модуля кода для повышения производительности и отказоустойчивости внедрений. Этот подход отдает приоритет производительности внедрений для более быстрого и отказоустойчивого внедрения, а не оптимизации хранилища, обеспечиваемой драйвером CSI.

1 Для развертываний с использованием облачного полнофункционального режима требуются Ключ-АСТРОМ Operator версии 1.6+ и ЕдиныйАгент версии 1.317+.

Чтобы узнать, как минимизировать потребление хранилища, обратитесь к разделу Оптимизация хранилища без драйвера CSI (ниже).

Конфигурация DynaKube

Воспользуйтесь следующим фрагментом кода DynaKube для настройки флага функции и указания образа модулей кода Ключ-АСТРОМ из поддерживаемого публичного или частного реестра :

apiVersion: dynatrace.com/v1beta5

kind: DynaKube

metadata:

  name: dynakube

  annotations:

    feature.dynatrace.com/node-image-pull: "true"

spec:

  oneAgent:

    # example, can also be used with `applicationMonitoring`

    cloudNativeFullStack:

      codeModulesImage: <dynatrace-codemodules-image>

Пример тега образа для поля codeModulesImage:

public.ecr.aws/dynatrace/dynatrace-codemodules:1.313.45.20250521-164818

Оптимизация хранения без драйвера CSI

ЕдиныйАгент версии 1.315+

Без драйвера CSI внедрение модулей кода занимает временное хранилище для каждого внедрения. Двоичные файлы ЕдиногоАгента хранятся и монтируются в контейнер приложения в томе emptyDir. Чтобы минимизировать потребление хранилища, можно либо аннотировать отдельные модули приложения, либо настроить этот параметр на уровне DynaKube, при необходимости. Эти аннотации должны указывать технологию приложения (например, Java), обеспечивая точный контроль над внедрением модулей кода в контейнеры приложений и предотвращая копирование ненужных двоичных файлов модулей кода.

Технологические идентификаторы

Вот список идентификаторов, которые вы можете использовать для каждой технологии:

Technology Identifier
Java java
.NET, .NET Core and .NET Framework dotnet
Node.js nodejs
Python python
PHP php
Go go
Apache, IBM HTTP Server apache
NGINX nginx

Аннотируйте модуль приложения

Чтобы сократить объём данных, копируемых в модули приложения, вы можете указать, какие технологии ЕдиногоАгента подходят для вашего приложения. Аннотируйте модули приложения, как показано во фрагменте кода модуля ниже:

...

metadata:

  annotations:

    oneagent.dynatrace.com/technologies: "java,nginx"

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

Значения аннотаций должны использовать точные идентификаторы технологий, указанные в таблице выше.


Если не указан oneagent.dynatrace.com/technologies, все технологии будут скопированы в модули приложений.

Если в вашем кластере используется одна технология или вы хотите задать технологию по умолчанию для внедрения модуля кода Ключ-АСТРОМ, вы можете настроить ее на уровне DynaKube для применения ко всем внедренным модулям приложений.

Настройка на уровне DynaKube

Измените конфигурацию DynaKube, включив функцию и ограничив ее определенной технологией или набором нескольких технологий:

apiVersion: dynatrace.com/v1beta5

kind: DynaKube

metadata:

  name: dynakube

  annotations:

    feature.dynatrace.com/node-image-pull: "true"

    oneagent.dynatrace.com/technologies: "java"

spec:

  ...

Обеспечить мониторинг приложений без CSI

applicationMonitoring ЕдиныйАгент версии 1.315+

Вы можете выборочно настроить внедрение кодового модуля Ключ-АСТРОМ без использования драйвера CSI, даже если драйвер доступен на узле. В этом случае внедрение кодового модуля происходит так, как описано в разделе Оптимизация хранилища без драйвера CSI (выше).

Для этого используйте аннотацию oneagent.dynatrace.com/volume-type: "ephemeral", как показано в блоке кода ниже. (Аннотация oneagent.dynatrace.com/technologies является дополнительной и необязательной).

metadata:

  annotations:

    oneagent.dynatrace.com/volume-type: "ephemeral" # no CSI driver involved

    oneagent.dynatrace.com/technologies: "nginx"    # minimize storage consumption

Такой подход позволяет объединить лучшее из обоих методов: оптимизацию хранения, обеспечиваемую драйвером CSI, а также повышение производительности и отказоустойчивости внедрения без драйвера CSI для выбранных модулей и приложений.

Примеры сценариев:

  • Для повышения отказоустойчивости рекомендуется использовать инструментарий NGINX и предварительное внедрение без драйвера CSI, в то время как другие рабочие нагрузки можно внедрять с помощью драйвера CSI, что устраняет необходимость в каких-либо аннотациях, специфичных для конкретного поставщика.
  • Возможна реализация смешанных конфигураций с доступом к узлам и без него, например, AWS Elastic Kubernetes Service (EKS) с узлами EC2 и Fargate. Убедитесь, что драйвер CSI доступен на всех узлах, где может происходить внедрение модуля кода на основе драйвера CSI.