@ -169,6 +169,8 @@ _Resource_ функция **decort_k8s** для создания кластер
| cloud_init | string | :x: | Используется на этапе создания вм.<br/>Параметры для утилиты _cloud_init_, которая используется в платформе DECORT для первичного конфигурирования виртуальной машины после её создания. |
| cluster_config | string | :x: | используется для определения глобальных настроек и конфигураций для всего кластера. Она включает в себя такие параметры, как имя кластера, настройки DNS, методы аутентификации и другие конфигурации в масштабах кластера. вставьте допустимую строку JSON со всеми уровнями вложенности. |
@ -12,8 +12,137 @@ _Resource_ функция **decort_k8s_cp** служит для управлен
**Данный способ управления кластерами стал предпочтительным с версии провайдера 4.2.0 - для упрощения процесса миграции обратитесь к [**статье.**](https://repository.basistech.ru/BASIS/terraform-provider-decort/wiki/05.07-Миграция-k8s-кластеров-на-версию-4.2.0)
### Работа с cluster_config
Для использования cluster_config конфигурации, следует:
1. Создать файл с расширением `.json` в рабочей директории.
2. Описать в созданном файле конфигурацию cluster_config в формате JSON:
#### cluster_config.json
```json
{
"apiServer": {
"extraArgs": {
"oidc-issuer-url": "https://dex.decs.local/",
"oidc-client-id": "dex",
"oidc-username-claim": "email",
"oidc-groups-claim": "groups",
"oidc-ca-file": "/etc/kubernetes/ssl/kc-ca.pem"
}
}
}
```
3. Указать путь до файла `cluster_config.json` в качестве значения параметра `cluster_config` в ресурсе`decort_k8s_cp`:
```terraform
resource "decort_k8s_cp" "cluster1" {
# ...
cluster_config = file("cluster_config.json")
# ...
}
```
4. Выполнить `terraform apply`
### Работа с oidc__cert
Для работы с oidc_cert следует:
1. Создать файл с ssl-сертификатом в формате x509 pem c названием ca.crt в рабочей директории
2. Указать путь до файла `ca.crt` в качестве значениея параметра `oidc_cert` в ресурсе`decort_k8s_cp`
```terraform
resource "decort_k8s_cp" "cluster1" {
# ...
oidc_cert = file("ca.crt")
# ...
}
```
3. Выполнить `terraform apply`
### Работа с cloud_init
Cloud Init позволяет запустить ВМс предустановленными настройками пользователя, группами и доступами. Подробнее про настройку 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
```
3. Указать путь до файла `initconfig.tftpl` в качестве значения параметра `cloud_init` в ресурсе`decort_k8s_cp`:
```terraform
resource "decort_k8s_cp" "cluster1" {
# ...
cloud_init = file("initconfig.tftpl")
# ...
}
```
4. Выполнить `terraform apply`
**Конфигурация cloud_init применяется только при создании кластера, во всех остальных случаях - игнорируется**
## Аргументы
_Resource_ функция **decort_flipgroup** принимает следующие аргументы:
_Resource_ функция **decort_k8s_cp** принимает следующие аргументы:
| Аргумент | Тип | Обязательный | Описание |
| --- | --- | :---: | --- |
@ -30,6 +159,11 @@ _Resource_ функция **decort_flipgroup** принимает следующ
| extnet_id | int | :x: | ID внешний сети для подключения worker'ов |
| desc | string | :x: | Описание кластера |
| cloud_init | string | :x: | Используется на этапе создания вм.<br/>Параметры для утилиты _cloud_init_, которая используется в платформе DECORT для первичного конфигурирования виртуальной машины после её создания. |
| cluster_config | string | :x: | используется для определения глобальных настроек и конфигураций для всего кластера. Она включает в себя такие параметры, как имя кластера, настройки DNS, методы аутентификации и другие конфигурации в масштабах кластера. вставьте допустимую строку JSON со всеми уровнями вложенности. |