1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/openeuler-eggo

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
В этом репозитории не указан файл с открытой лицензией (LICENSE). При использовании обратитесь к конкретному описанию проекта и его зависимостям в коде.
Клонировать/Скачать
hooks_of_eggo.md 6.5 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
Отправлено 15.03.2025 04:09 01724b9

Поддерживаемые hook'и в eggo

Для предоставления лучшей гибкости, eggo поддерживает несколько типов hook'ов, которые разделены на следующие сценарии:

  • Hook'и для управления жизненным циклом кластера, предназначенные для каждого узла с определённой ролью; поддерживаются prehook и posthook;
    • Управление жизненным циклом включает: создание кластера, удаление кластера, добавление узла, удаление узла;
    • Роли узлов включают: master, worker, etcd и loadbalance;
  • Hook'и для всего кластера; во время создания и удаления кластера они выполняются только один раз на одном master узле; поддерживаются prehook и posthook;

Конфигурация методов hook'ов

Метод параметров командной строки| Параметр | Поддерживаемые команды | Описание |

| ----------------------------------- | ------------------------------- | ------------------------------------------------------------ | | --cluster-prehook=[dir/file] | deploy, cleanup | Устанавливает хуки для выполнения перед созданием/удалением кластера, может быть скриптом или директорией | | --cluster-posthook=[dir/file] | deploy, cleanup | Устанавливает хуки для выполнения после созданием/удалением кластера, может быть скриптом или директорией | | --prehook=[dir/file],role | deploy, cleanup, join, delete | Устанавливает хуки для выполнения перед созданием/удалением кластера и добавлением/удалением узла, может быть скриптом или директорией; role указывает роль узла, на котором будет выполнен скрипт | | --posthook=[dir/file],role | deploy, cleanup, join, delete | Устанавливает хуки для выполнения после созданием/удалением кластера и добавлением/удалением узла, может быть скриптом или директорией; role указывает роль узла, на котором будет выполнен скрипт |Описание:

  • Все скрипты в указанной директории будут выполнены, а скрипты в поддиректориях — нет;
  • Каждый скрипт имеет тайм-аут в 120 секунд;
  • Role может быть master, worker, etcd или loadbalance;
  • Hook'и, указанные через параметры командной строки, по умолчанию копируются в директорию /root/.eggo/package/file/cmdhooks целевой машины, размер скриптов ограничен 1М байтами;

Метод параметров конфигурационного файла

В поле addition конфигурации кластера можно установить файлы типа shell:

  • Поддерживаются моменты выполнения prejoin, postjoin, precleanup и postcleanup;
  • Также можно указать тип узла (master или worker) для выполнения hook'ов;

Пример ниже:

addition:                                    # Дополнительные пакеты установки или список бинарных файлов
    master:
    - name: prejoin.sh
      type: shell                            # Shell скрипт
      schedule: "prejoin"                    # Время выполнения: перед присоединением master узла к кластеру
      timeout: "30s"                         # Время выполнения скрипта, если выполнение не завершено в течение этого времени, процесс будет принудительно завершен; значение по умолчанию —  Yöntem 30 секунд
    worker:
    - name: postjoin.sh
      type: shell                            # Shell скрипт
      schedule: "postjoin"                   # Время выполнения: после присоединения worker узла к кластеру

Правила для hook

Пример использования hook включает передачу части информации через переменные окружения для выполнения скриптов. Переменные окружения представлены ниже:| ключ | описание значения | | ------------------------- | -------------------------------------------------- | | EGGO_CLUSTER_ID | ID кластера | | EGGO_CLUSTER_API_ENDPOINT | входной API для кластера | | EGGO_CLUSTER_CONFIG_DIR | директория хранения конфигураций кластера, по умолчанию /etc/kubernetes | | EGGO_NODE_IP | IP адрес узла, на котором выполняется hook | | EGGO_NODE_NAME | имя узла, на котором выполняется hook | | EGGO_NODE_ARCH | архитектура узла, на котором выполняется hook | | EGGO_NODE_ROLE | роль узла, на котором выполняется hook | | EGGO_HOOK_TYPE | тип hook, prehook или posthook | | EGGO_OPERATOR | текущее действие, deploy, cleanup, join, delete |

Переменные окружения используются для передачи данных между различными компонентами системы при выполнении hook.

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/openeuler-eggo.git
git@api.gitlife.ru:oschina-mirror/openeuler-eggo.git
oschina-mirror
openeuler-eggo
openeuler-eggo
master