Управление конфигурацией узла
Вы можете использовать задачи, описанные в этом разделе, для создания объектов MachineConfig, которые изменяют файлы, systemd-юниты и публичные SSH-ключи на узлах, а также для восстановления узлов, у которых произошёл дрейф конфигурации.
MachineConfig поддерживает спецификацию Ignition версии 3.4. Все объекты MachineConfig должны создаваться в соответствии с этой версией.
В некоторых случаях конфигурация на узле может не полностью соответствовать конфигурации, применённой через MachineConfig. Такое состояние называется дрейфом конфигурации. Демон конфигурации машины периодически проверяет, произошёл ли дрейф конфигурации на узле. Если дрейф обнаружен, узел помечается как Degraded и остаётся в этом состоянии до тех пор, пока администратор не восстановит ожидаемую конфигурацию.
В следующих примерах показано, как использовать объекты MachineConfig для управления конфигурацией узлов.
Содержание
Настройка службы времени ChronyОтключение службы времени ChronyНастройка публичного SSH-ключа для пользователяbootВосстановление после дрейфа конфигурацииНастройка службы времени Chrony
Для настройки службы синхронизации времени Chrony (chronyd) и указания NTP-серверов и связанных параметров вы можете обновить файл chrony.conf на целевых узлах через объект MachineConfig.
-
Сначала создайте временный файл с нужной конфигурацией Chrony:
-
Затем выполните base64-кодирование содержимого файла:
-
Создайте объект
MachineConfigс именем99-worker-chrony. В поле.spec.config.storage.files[0].contents.sourceвставьте base64-кодированную строку в форматеdata:text/plain;base64,<encoded-content>:Эта конфигурация создаёт объект
MachineConfig, который применяет настроенный файлchrony.confк узлам, связанным с пулом конфигурации машинworker. Файл будет записан в/etc/chrony.confна каждом узле с правами доступа0644.
Отключение службы времени Chrony
Чтобы отключить службу синхронизации времени Chrony на узлах с определённой ролью, можно создать объект MachineConfig, который переопределит определение systemd-юнита и отключит службу.
Пример конфигурации:
Эта конфигурация отправляет на узлы в пуле конфигурации машин worker кастомизированный файл юнита chronyd.service. Служба явно отключена. После применения конфигурации и перезагрузки узлов служба Chrony больше не будет запускаться автоматически.
Настройка публичного SSH-ключа для пользователя boot
Система конфигурации машин позволяет настроить публичный SSH-ключ для пользователя boot на управляемых узлах. Конфигурация для других учётных записей пользователей не поддерживается. Обратите внимание, что конфигурация машин не создаёт пользователей или группы автоматически — вы должны убедиться, что пользователь и группа boot существуют на узле до применения конфигурации.
Пример конфигурации:
Этот MachineConfig установит указанный SSH-ключ в файл /home/boot/.ssh/authorized_keys на узлах в пуле конфигурации машин worker.
Восстановление после дрейфа конфигурации
Если конфигурация узла расходится с назначенным MachineConfig, он будет помечен как Degraded. В этом состоянии узел продолжает работать, но не может получать дальнейшие обновления конфигурации до устранения проблемы.
Существует два способа восстановить узел из этого состояния деградации:
-
Ручное восстановление конфигурации
Вы можете вручную привести файлы и права доступа на узле в точное соответствие с теми, что указаны в назначенномMachineConfig. Система обнаружит исправление и снимет статус деградации. -
Принудительное повторное применение конфигурации
Создайте пустой файл/run/machine-config-daemon-forceна затронутом узле. Демон конфигурации машины обнаружит этот триггер, повторно применит текущийMachineConfig, удалит файл-триггер и перезагрузит узел. После перезагрузки узел перейдёт из состоянияDegradedобратно вDone.