Network Operator init container#
Network Operator init container - специальный контейнер, который запускается перед основными контейнерами для выполнения подготовительных задач и настройки сетевых операторов. Он выполняет необходимые начальные действия и завершается после выполнения своей работы, позволяя продолжить запуск основных контейнеров.
Основные функции:
Выполнение предварительных шагов перед запуском основного приложения, включая подготовку конфигурационных файлов, инициализацию баз данных и настройку сетевых параметров.
Разделение процессов инициализации от основных функций приложения, что улучшает организацию и управляемость.
Гарантированное выполнение init-контейнеров перед запуском основного контейнера. Если инициализация не завершается успешно, основной контейнер не запускается.
Настройка сетевых правил, параметров или проверка состояния сетевых ресурсов перед запуском основного оператора или приложения.
Конфигурация#
Обязательные аргументы командной строки#
Контейнер Network Operator init container должен содержать следующие обязательные аргументы командной строки:
--configmap-name- имяconfigmapс настройками;--configmap-namespace- пространство именconfigmapс настройками;--node-name- имя узла кластера.
Конфигурация ConfigMap#
Пример конфигурации ConfigMap:
Пример конфигурации config.json
apiVersion: v1
kind: ConfigMap
metadata:
name: ofed-init-container-config
namespace: default
data:
config.json: |-
{
"safeDriverLoad": {
"enable": true,
"annotation": "some-annotation"
}
}
Где:
safeDriverLoad- содержит настройки, относящиеся к функцииsafeDriverLoad;safeDriverLoad.enable- включает функцию;safeDriverLoad.annotation- указывает аннотацию, которую следует использовать для функции.
Если функция safeDriverLoad включена, то контейнер Network-operator-init-container установит аннотацию, указанную в safeDriverLoad.annotation к объекту узла, идентифицируемому с помощью флага --node-name. Контейнер завершает работу с кодом 0, когда аннотация удаляется из узла.
Если функция safeDriverLoad отключена, контейнер немедленно завершает работу с кодом 0.
Аргументы командной строки#
Часто используемые флаги Network-operator-init-container:
--log-flush-frequency- время между очистками журнала (по умолчанию5s);--logging-format- формат журнала. Разрешенные форматы:"json","text"(по умолчанию);-v,--v- уровень детализации журнала;--vmodule pattern=N,...- разделенный запятыми список настроекpattern=Nдля ведения журнала с фильтрацией по файлам (работает только для текстового формата журнала);-h,-help- вывод справки и выход;--version- вывод версии и выход.