From 8938ec00d12328d7ee5d2b9a9140a55801a83c61 Mon Sep 17 00:00:00 2001 From: Nikita Sorokin Date: Fri, 13 Oct 2023 17:52:17 +0300 Subject: [PATCH] upated info about decort_k8s_wg --- .idea/terraform-provider-decort.wiki.iml | 4 + .idea/vcs.xml | 6 ++ .idea/workspace.xml | 55 ++++++++++++ ...ение-worker-groups-кластера.md | 90 +++++++++++++------ 4 files changed, 127 insertions(+), 28 deletions(-) create mode 100644 .idea/terraform-provider-decort.wiki.iml create mode 100644 .idea/vcs.xml create mode 100644 .idea/workspace.xml diff --git a/.idea/terraform-provider-decort.wiki.iml b/.idea/terraform-provider-decort.wiki.iml new file mode 100644 index 0000000..7ee078d --- /dev/null +++ b/.idea/terraform-provider-decort.wiki.iml @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/.idea/vcs.xml b/.idea/vcs.xml new file mode 100644 index 0000000..35eb1dd --- /dev/null +++ b/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/.idea/workspace.xml b/.idea/workspace.xml new file mode 100644 index 0000000..288c130 --- /dev/null +++ b/.idea/workspace.xml @@ -0,0 +1,55 @@ + + + + + + + + + + + + + + + { + "associatedIndex": 8 +} + + + + + + + + + true + + \ No newline at end of file diff --git a/07.01.07-Resource-функция-decort_k8s_wg-управление-worker-groups-кластера.md b/07.01.07-Resource-функция-decort_k8s_wg-управление-worker-groups-кластера.md index ce49a2d..459e6a1 100644 --- a/07.01.07-Resource-функция-decort_k8s_wg-управление-worker-groups-кластера.md +++ b/07.01.07-Resource-функция-decort_k8s_wg-управление-worker-groups-кластера.md @@ -2,6 +2,48 @@ _Resource_ функция **decort_k8s_wg** служит для управления worker groups (рабочики группами, wg) кластера. +### Работа с cloud_init +Доступно в версии провайдера 4.4.1 и выше. + +Cloud Init позволяет запустить ноды worker группы с предустановленными настройками. Подробнее про настройку cloud_init можно прочесть по [ссылке](https://cloudinit.readthedocs.io/en/latest/reference/examples.html). + +**Пароли, указанные в cloud_init не сохраняются на платформе и не отображаются в API!** + +Для использования cloud_init конфигурации, следует: + +1. Создать файл с расширением `.tftpl` в рабочей директории. +2. Описать в созданном файле конфигурацию cloud_init в формате YAML: + +#### initconfig.tftpl + +``` +--- +users: +- groups: users, wheel + name: user + plain_text_passwd: examplePassword + primary_group: user + ssh_authorized_keys: + - ssh-rsa EXAMPLE%id_rsa.pub + sudo: ALL=(ALL) NOPASSWD:ALL +runcmd: +- echo 12345 > /home/user/test +``` + +3. Указать путь до файла `initconfig.tftpl` в качестве значения параметра `cloud_init` в ресурсе `decort_k8s_wg`: + +```terraform +resource "decort_k8s_wg" "wg1" { + # ... + + cloud_init = file("initconfig.tftpl") + + # ... +} +``` + +4. Выполнить `terraform apply` + ## Изменения в 3.3.0 Добавлены описания IP адресов для группы воркеров. @@ -36,19 +78,20 @@ terraform import decort_k8s_wg.wg 777#888 _Resource_ функция **decort_k8s_wg** для создания worker group принимает следующие аргументы: -| Аргумент | Тип | Обязательный | Описание | -| --------------- | -------- | ------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------ | -| k8s_id | int | :heavy_check_mark: | ID экземпляра k8s | -| name | string | :heavy_check_mark: | Наименование worker group | -| num | int | :x: | Количество worker node для создания
по - умолчанию - 1 | -| cpu | int | :x: | Количество cpu для 1 worker node
по - умолчанию - 1 | -| ram | int | :x: | Количество RAM для одной worker node в Мбайтах,
по-умолчанию - 1024 | -| disk | int | :x: | Размер загрузочного диска для worker node, в Гбайтах
по - умолчанию - 0
если установлен параметр 0, то размер диска будет равен размеру образа | -| labels | []string | :x: | Список lables | -| annotations | []string | :x: | Список annotations | -| taints | []string | :x: | Список taints | -| worker_sep_id | int | :x: | ID SEP'а для создания загрузочных дисков для группы worker node по умолчанию, если не указан, используется sep_id образа | -| worker_sep_pool | string | :x: | Pool для использования, если установлен worker_sep_id, если не указан, выбиравется системой | +| Аргумент | Тип | Обязательный | Описание | +|-----------------|----------|--------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| k8s_id | int | :heavy_check_mark: | ID экземпляра k8s | +| name | string | :heavy_check_mark: | Наименование worker group | +| num | int | :x: | Количество worker node для создания
по - умолчанию - 1 | +| cpu | int | :x: | Количество cpu для 1 worker node
по - умолчанию - 1 | +| ram | int | :x: | Количество RAM для одной worker node в Мбайтах,
по-умолчанию - 1024 | +| disk | int | :x: | Размер загрузочного диска для worker node, в Гбайтах
по - умолчанию - 0
если установлен параметр 0, то размер диска будет равен размеру образа | +| labels | []string | :x: | Список lables | +| annotations | []string | :x: | Список annotations | +| taints | []string | :x: | Список taints | +| worker_sep_id | int | :x: | ID SEP'а для создания загрузочных дисков для группы worker node по умолчанию, если не указан, используется sep_id образа | +| worker_sep_pool | string | :x: | Pool для использования, если установлен worker_sep_id, если не указан, выбиравется системой | +| cloud_init | file | :x: | Используется на этапе создания нод worker группы.
Параметры для утилиты _cloud_init_, которая используется в платформе DECORT для первичного конфигурирования нод worker группы | ## Возвращаемые значения @@ -90,7 +133,7 @@ resource "decort_k8s_wg" "wg" { #id экземпляра k8s #обязательный параметр #тип - число - k8s_id = 1234 + k8s_id = 1234 #имя worker group #обязательный параметр @@ -122,20 +165,11 @@ resource "decort_k8s_wg" "wg" { #если установлен параметр 0, то размер диска будет равен размеру образа disk = 10 - # Список labels - # опциональный параметр - # тип - массив строк - labels = ["key1=val1", "key2=val2"] - - # Список annotations - # опциональный параметр - # тип - массив строк - annotations = ["key1=val1", "key2=val2"] - - # Список taints - # опциональный параметр - # тип - массив строк - taints = ["key1=val1", "key2=val2"] + #Перечень аргументов для cloud-init для виртуальных машин worker групп + #опциональный параметр + #тип - файл + #используется при создании и обновлении ресурса + cloud_init = file("initconfig.tftpl") } # once the above directive completes, will be accessible