upated info about decort_k8s_wg

master
Nikita Sorokin 2 years ago
parent 970fd046d9
commit 8938ec00d1

@ -0,0 +1,4 @@
<?xml version="1.0" encoding="UTF-8"?>
<module version="4">
<component name="Go" enabled="true" />
</module>

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="VcsDirectoryMappings">
<mapping directory="" vcs="Git" />
</component>
</project>

@ -0,0 +1,55 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="AutoImportSettings">
<option name="autoReloadType" value="ALL" />
</component>
<component name="ChangeListManager">
<list default="true" id="bd11cf11-aff5-4fb0-b11f-83ad618a463f" name="Changes" comment="">
<change beforePath="$PROJECT_DIR$/07.01.07-Resource-функция-decort_k8s_wg-управление-worker-groups-кластера.md" beforeDir="false" afterPath="$PROJECT_DIR$/07.01.07-Resource-функция-decort_k8s_wg-управление-worker-groups-кластера.md" afterDir="false" />
</list>
<option name="SHOW_DIALOG" value="false" />
<option name="HIGHLIGHT_CONFLICTS" value="true" />
<option name="HIGHLIGHT_NON_ACTIVE_CHANGELIST" value="false" />
<option name="LAST_RESOLUTION" value="IGNORE" />
</component>
<component name="GOROOT" url="file:///opt/homebrew/opt/go/libexec" />
<component name="Git.Settings">
<option name="RECENT_GIT_ROOT_PATH" value="$PROJECT_DIR$" />
</component>
<component name="MarkdownSettingsMigration">
<option name="stateVersion" value="1" />
</component>
<component name="ProjectColorInfo">{
&quot;associatedIndex&quot;: 8
}</component>
<component name="ProjectId" id="2WWwwiCv8MxDTCuthY6v5tp0GQH" />
<component name="ProjectViewState">
<option name="hideEmptyMiddlePackages" value="true" />
<option name="showLibraryContents" value="true" />
</component>
<component name="PropertiesComponent"><![CDATA[{
"keyToString": {
"RunOnceActivity.OpenProjectViewOnStart": "true",
"RunOnceActivity.ShowReadmeOnStart": "true",
"RunOnceActivity.go.formatter.settings.were.checked": "true",
"RunOnceActivity.go.migrated.go.modules.settings": "true",
"RunOnceActivity.go.modules.automatic.dependencies.download": "true",
"RunOnceActivity.go.modules.go.list.on.any.changes.was.set": "true",
"WebServerToolWindowFactoryState": "false",
"git-widget-placeholder": "dev",
"go.import.settings.migrated": "true",
"go.sdk.automatically.set": "true",
"last_opened_file_path": "/Users/sornick/basis/terraform-provider-decort.wiki",
"node.js.detected.package.eslint": "true",
"node.js.selected.package.eslint": "(autodetect)",
"nodejs_package_manager_path": "npm"
}
}]]></component>
<component name="SpellCheckerSettings" RuntimeDictionaries="0" Folders="0" CustomDictionaries="0" DefaultDictionary="application-level" UseSingleDictionary="true" transferred="true" />
<component name="TypeScriptGeneratedFilesManager">
<option name="version" value="3" />
</component>
<component name="VgoProject">
<settings-migrated>true</settings-migrated>
</component>
</project>

@ -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 для создания<br/>по - умолчанию - 1 |
| cpu | int | :x: | Количество cpu для 1 worker node<br/>по - умолчанию - 1 |
| ram | int | :x: | Количество RAM для одной worker node в Мбайтах, <br/>по-умолчанию - 1024 |
| disk | int | :x: | Размер загрузочного диска для worker node, в Гбайтах<br/>по - умолчанию - 0<br/>если установлен параметр 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 для создания<br/>по - умолчанию - 1 |
| cpu | int | :x: | Количество cpu для 1 worker node<br/>по - умолчанию - 1 |
| ram | int | :x: | Количество RAM для одной worker node в Мбайтах, <br/>по-умолчанию - 1024 |
| disk | int | :x: | Размер загрузочного диска для worker node, в Гбайтах<br/>по - умолчанию - 0<br/>если установлен параметр 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 группы.<br/>Параметры для утилиты _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

Loading…
Cancel
Save