4.4.0
@@ -2,11 +2,21 @@
|
||||
|
||||
_Resource_ функция **decort_k8s** служит для управления кластером.
|
||||
|
||||
## Изменения в 4.4.0
|
||||
|
||||
- добавлено поле _extnet_only_
|
||||
- добавлено поле _oidc_cert_
|
||||
- добавлено поле _cloud_init_
|
||||
- добавлено поле _ha_mode_
|
||||
- добавлено поле _cluster_config_
|
||||
|
||||
## Изменения в 4.0.2
|
||||
|
||||
- Добавлена возможность создавать/удалять воркер-группы напрямую из ресурса k8s
|
||||
- Исправлены возможные ошибки состояния при модификации воркер-групп
|
||||
|
||||
## Изменения в 3.4.0
|
||||
|
||||
- В аргументы добавлено опциональное поле labels.
|
||||
- В аргументы добавлено опциональное поле taints.
|
||||
- В аргументы добавлено опциональное поле annotations.
|
||||
@@ -16,6 +26,7 @@ _Resource_ функция **decort_k8s** служит для управлени
|
||||
- В аргументы добавлено опциональное поле sep_pool в блоке workers.
|
||||
|
||||
## Изменения в 3.3.0
|
||||
|
||||
- Добавлен id виртуальной сети, которая используется с кластером k8s.
|
||||
- Добавлены описания IP адресов для группы воркеров.
|
||||
- Добавлены описания IP адресов для группы мастеров.
|
||||
@@ -58,14 +69,16 @@ resource "decort_k8s" "cluster1" {
|
||||
|
||||
4. Выполнить `terraform apply`
|
||||
|
||||
### Работа с oidc__cert
|
||||
### Работа с oidc\_\_cert
|
||||
|
||||
Для работы с oidc_cert следует:
|
||||
|
||||
1. Создать файл с ssl-сертификатом в формате x509 pem c названием ca.crt в рабочей директории
|
||||
|
||||
#### ca.crt
|
||||
|
||||
Пример содержания файла ca.crt
|
||||
|
||||
```
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIIDzTCCArWgAwIBAgIUUW9bFlExT8f/gVX4OrYXegInXi0wDQYJKoZIhvcNAQEL
|
||||
@@ -106,8 +119,6 @@ resource "decort_k8s" "cluster1" {
|
||||
|
||||
3. Выполнить `terraform apply`
|
||||
|
||||
|
||||
|
||||
### Работа с cloud_init
|
||||
|
||||
Cloud Init позволяет запустить ВМ с предустановленными настройками пользователя, группами и доступами. Подробнее про настройку cloud_init можно прочесть по [ссылке](https://cloudinit.readthedocs.io/en/latest/reference/examples.html).
|
||||
@@ -150,11 +161,17 @@ resource "decort_k8s" "cluster1" {
|
||||
|
||||
**Конфигурация cloud_init применяется только при создании кластера, во всех остальных случаях - игнорируется**
|
||||
|
||||
## Работа в параллельном режиме
|
||||
|
||||
Рекомендуется создавать одновременно не более одного экземпляра ресурса.
|
||||
В случае необходимости создания нескольких ресурсов одновременно, необходимо запускать `terraform apply/plan` в режиме `-parallelism=1`.
|
||||
|
||||
## Аргументы
|
||||
|
||||
_Resource_ функция **decort_k8s** для создания кластера принимает следующие аргументы:
|
||||
|
||||
| Аргумент | Тип | Обязательный | Описание |
|
||||
| --- | --- | --- | --- |
|
||||
| -------------- | -------------------------------------------- | ------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
|
||||
| name | string | :heavy_check_mark: | Наименование кластера, <br/>при изменении - изменяет наименование кластера |
|
||||
| rg_id | int | :heavy_check_mark: | ID ресурсной группы |
|
||||
| k8sci_id | int | :heavy_check_mark: | ID catalogue item |
|
||||
@@ -169,27 +186,29 @@ _Resource_ функция **decort_k8s** для создания кластер
|
||||
| cloud_init | string | :x: | Используется на этапе создания вм.<br/>Параметры для утилиты _cloud_init_, которая используется в платформе DECORT для первичного конфигурирования виртуальной машины после её создания. |
|
||||
| cluster_config | string | :x: | используется для определения глобальных настроек и конфигураций для всего кластера. Она включает в себя такие параметры, как имя кластера, настройки DNS, методы аутентификации и другие конфигурации в масштабах кластера. вставьте допустимую строку JSON со всеми уровнями вложенности. |
|
||||
| oidc_cert | string | :x: | ssl-сертификат в формате x509 pem |
|
||||
| ha_mode | bool | :x: | Использовать высокодостпуню схему для балансировщика нагрузки |
|
||||
| extnet_only | bool | :x: | Использовать только extnet
|
||||
| extnet_only | bool | :x: | Использовать только extnet для работы кластера |
|
||||
| ha_mode | bool | :x: | Режим высокой доступностью балансировщика нагрузки |
|
||||
| start | bool | :x: | Старт/Стоп кластера |
|
||||
|
||||
### Описание блока masters
|
||||
|
||||
| Аргумент | Тип | Обязательный | Описание |
|
||||
| --- | --- | --- | --- |
|
||||
| -------- | ------ | ------------------ | ------------------------ |
|
||||
| num | int | :heavy_check_mark: | Количество nodes |
|
||||
| cpu | int | :heavy_check_mark: | Количество cpu |
|
||||
| ram | int | :heavy_check_mark: | Количество RAM в Mбайтах|
|
||||
| ram | int | :heavy_check_mark: | Количество RAM в Mбайтах |
|
||||
| disk | int | :heavy_check_mark: | Объем boot диска в ГБ |
|
||||
| sep_id | int | :x: | Идентификатор SEP |
|
||||
| sep_pool | string | :x: | Название SEP pool'а |
|
||||
|
||||
### Описание блока workers
|
||||
|
||||
| Аргумент | Тип | Обязательный | Описание |
|
||||
| --- | --- | --- | --- |
|
||||
| ----------- | -------- | ------------------ | -------------------------- |
|
||||
| name | string | :heavy_check_mark: | Наименование воркер-группы |
|
||||
| num | int | :heavy_check_mark: | Количество nodes |
|
||||
| cpu | int | :heavy_check_mark: | Количество cpu |
|
||||
| ram | int | :heavy_check_mark: | Количество RAM в Mбайтах|
|
||||
| ram | int | :heavy_check_mark: | Количество RAM в Mбайтах |
|
||||
| disk | int | :heavy_check_mark: | Объем boot диска в ГБ |
|
||||
| sep_id | int | :x: | Идентификатор SEP |
|
||||
| sep_pool | string | :x: | Название SEP pool'а |
|
||||
@@ -198,10 +217,11 @@ _Resource_ функция **decort_k8s** для создания кластер
|
||||
| taints | []string | :x: | Список taints |
|
||||
|
||||
## Возвращаемые значения
|
||||
|
||||
В случае успешного выполнения _resource_ функция **decort_k8s** возвращает в указанную при вызове переменную следующие значения:
|
||||
|
||||
| Параметр | Тип | Описание |
|
||||
| --- | --- | --- |
|
||||
| -------------- | -------------------------------------------------- | ----------------------------------- |
|
||||
| acl | Struct{} [см. ниже](#описание-структуры-acl) | acl |
|
||||
| account_id | int | ID аккаунта |
|
||||
| account_name | string | Имя аккаунта |
|
||||
@@ -231,15 +251,15 @@ _Resource_ функция **decort_k8s** для создания кластер
|
||||
### Описание структуры acl
|
||||
|
||||
| Параметр | Тип | Описание |
|
||||
| --- | --- | --- |
|
||||
| ----------- | ----------------------------------------------------- | ----------- |
|
||||
| account_acl | []Struct{} [см. ниже](#описание-структуры-списка-acl) | account_acl |
|
||||
| k8s_acl| []Struct{} [см. ниже](#описание-структуры-списка-acl) | k8s_acl |
|
||||
| k8s_acl | []Struct{} [см. ниже](#описание-структуры-списка-acl) | k8s_acl |
|
||||
| rg_acl | []Struct{} [см. ниже](#описание-структуры-списка-acl) | rg_acl |
|
||||
|
||||
### Описание структуры списка acl
|
||||
|
||||
| Параметр | Тип | Описание |
|
||||
| --- | --- | --- |
|
||||
| ------------- | ------ | -------------- |
|
||||
| explicit | bool | explicit |
|
||||
| guid | string | ID ресурса |
|
||||
| right | string | right |
|
||||
@@ -250,19 +270,19 @@ _Resource_ функция **decort_k8s** для создания кластер
|
||||
### Описание структуры masters
|
||||
|
||||
| Параметр | Тип | Описание |
|
||||
| --- | --- | --- |
|
||||
| ------------- | --------------------------------------------------------------- | ------------------------------------- |
|
||||
| cpu | int | Кол-во cpu на компьютах master |
|
||||
| detailed_info | []Struct{} [см. ниже](#описание-структуры-списка-detailed_info) | Детальная информация masters |
|
||||
| disk | int | ID диска |
|
||||
| master_id | int | ID группы master |
|
||||
| name | string | Имя группы master |
|
||||
| num | int | Кол-во компьютов в группе master |
|
||||
| ram | int | Кол-во Ram на компьютах группы master|
|
||||
| ram | int | Кол-во Ram на компьютах группы master |
|
||||
|
||||
### Описание структуры workers
|
||||
|
||||
| Параметр | Тип | Описание |
|
||||
| --- | --- | --- |
|
||||
| ------------- | --------------------------------------------------------------- | -------------------------------------- |
|
||||
| annotations | []string | Аннотации группы workers |
|
||||
| cpu | int | Кол-во cpu на компьютах workers |
|
||||
| detailed_info | []Struct{} [см. ниже](#описание-структуры-списка-detailed_info) | Детальная информация masters |
|
||||
@@ -278,7 +298,7 @@ _Resource_ функция **decort_k8s** для создания кластер
|
||||
### Описание структуры списка detailed_info
|
||||
|
||||
| Параметр | Тип | Описание |
|
||||
| --- | --- | --- |
|
||||
| -------------------- | ------------------------------------------------------------ | -------------------------------- |
|
||||
| compute_id | int | ID компьюта в составе группы |
|
||||
| name | string | Имя компьюта в составе группы |
|
||||
| status | string | Статус компьюта в составе группы |
|
||||
@@ -290,12 +310,14 @@ _Resource_ функция **decort_k8s** для создания кластер
|
||||
### Описание структуры списка interfaces
|
||||
|
||||
| Параметр | Тип | Описание |
|
||||
| --- | --- | --- |
|
||||
| ---------- | ------ | ----------------- |
|
||||
| def_gw | string | Шлюз по умолчанию |
|
||||
| ip_address | string | IP интерфейса |
|
||||
|
||||
## Пример использования
|
||||
|
||||
Пример вызова _resource_ функции **decort_k8s**:
|
||||
|
||||
```terraform
|
||||
resource "decort_k8s" "cluster" {
|
||||
#имя кластера
|
||||
|
||||
@@ -1,6 +1,15 @@
|
||||
Функция доступна в провайдере версии 4.2.0 и выше.
|
||||
|
||||
## Изменения в 4.4.0
|
||||
|
||||
- добавлено поле _extnet_only_
|
||||
- добавлено поле _oidc_cert_
|
||||
- добавлено поле _cloud_init_
|
||||
- добавлено поле _ha_mode_
|
||||
- добавлено поле _cluster_config_
|
||||
|
||||
_Resource_ функция **decort_k8s_cp** служит для управления control plane кластера k8s. Функция позволяет:
|
||||
|
||||
- Создать кластер
|
||||
- Удалить кластер
|
||||
- Настроить мастер-узел
|
||||
@@ -10,16 +19,16 @@ _Resource_ функция **decort_k8s_cp** служит для управлен
|
||||
**!** При удалении ресурса `decort_k8s_cp` удалится сам кластер и все зависимые ресурсы (worker-группы) <br/>
|
||||
**!** При использовании `decort_k8s_cp` не рекомендуется параллельное использование `decort_k8s` для управления одним и тем же кластером во избежание проблем с идемпотентностью
|
||||
|
||||
**Данный способ управления кластерами стал предпочтительным с версии провайдера 4.2.0 - для упрощения процесса миграции обратитесь к [**статье.**](https://repository.basistech.ru/BASIS/terraform-provider-decort/wiki/05.07-Миграция-k8s-кластеров-на-версию-4.2.0)
|
||||
**Данный способ управления кластерами стал предпочтительным с версии провайдера 4.2.0 - для упрощения процесса миграции обратитесь к [**статье.\*\*](https://repository.basistech.ru/BASIS/terraform-provider-decort/wiki/05.07-Миграция-k8s-кластеров-на-версию-4.2.0)
|
||||
|
||||
### Работа с cluster_config
|
||||
## Работа с cluster_config
|
||||
|
||||
Для использования cluster_config конфигурации, следует:
|
||||
|
||||
1. Создать файл с расширением `.json` в рабочей директории.
|
||||
2. Описать в созданном файле конфигурацию cluster_config в формате JSON:
|
||||
|
||||
#### cluster_config.json
|
||||
### cluster_config.json
|
||||
|
||||
```json
|
||||
{
|
||||
@@ -35,10 +44,10 @@ _Resource_ функция **decort_k8s_cp** служит для управлен
|
||||
}
|
||||
```
|
||||
|
||||
3. Указать путь до файла `cluster_config.json` в качестве значения параметра `cluster_config` в ресурсе `decort_k8s_cp`:
|
||||
3. Указать путь до файла `cluster_config.json` в качестве значения параметра `cluster_config` в ресурсе `decort_k8s`:
|
||||
|
||||
```terraform
|
||||
resource "decort_k8s_cp" "cluster1" {
|
||||
resource "decort_k8s" "cluster1" {
|
||||
# ...
|
||||
|
||||
cluster_config = file("cluster_config.json")
|
||||
@@ -49,14 +58,16 @@ resource "decort_k8s_cp" "cluster1" {
|
||||
|
||||
4. Выполнить `terraform apply`
|
||||
|
||||
### Работа с oidc__cert
|
||||
## Работа с oidc\_\_cert
|
||||
|
||||
Для работы с oidc_cert следует:
|
||||
|
||||
1. Создать файл с ssl-сертификатом в формате x509 pem c названием ca.crt в рабочей директории
|
||||
|
||||
#### ca.crt
|
||||
### ca.crt
|
||||
|
||||
Пример содержания файла ca.crt
|
||||
|
||||
```
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIIDzTCCArWgAwIBAgIUUW9bFlExT8f/gVX4OrYXegInXi0wDQYJKoZIhvcNAQEL
|
||||
@@ -83,10 +94,10 @@ KxLl/lm/Y0zhV/VNd7OXsV0LAsyrRiNpuyCaniCOTR1ZRkD4UfWkc/bbNgbLjAfb
|
||||
-----END CERTIFICATE-----
|
||||
```
|
||||
|
||||
2. Указать путь до файла `ca.crt` в качестве значениея параметра `oidc_cert` в ресурсе `decort_k8s_cp`
|
||||
2. Указать путь до файла `ca.crt` в качестве значениея параметра `oidc_cert` в ресурсе `decort_k8s`
|
||||
|
||||
```terraform
|
||||
resource "decort_k8s_cp" "cluster1" {
|
||||
resource "decort_k8s" "cluster1" {
|
||||
# ...
|
||||
|
||||
oidc_cert = file("ca.crt")
|
||||
@@ -97,9 +108,7 @@ resource "decort_k8s_cp" "cluster1" {
|
||||
|
||||
3. Выполнить `terraform apply`
|
||||
|
||||
|
||||
|
||||
### Работа с cloud_init
|
||||
## Работа с cloud_init
|
||||
|
||||
Cloud Init позволяет запустить ВМ с предустановленными настройками пользователя, группами и доступами. Подробнее про настройку cloud_init можно прочесть по [ссылке](https://cloudinit.readthedocs.io/en/latest/reference/examples.html).
|
||||
|
||||
@@ -125,10 +134,10 @@ users:
|
||||
|
||||
```
|
||||
|
||||
3. Указать путь до файла `initconfig.tftpl` в качестве значения параметра `cloud_init` в ресурсе `decort_k8s_cp`:
|
||||
3. Указать путь до файла `initconfig.tftpl` в качестве значения параметра `cloud_init` в ресурсе `decort_k8s`:
|
||||
|
||||
```terraform
|
||||
resource "decort_k8s_cp" "cluster1" {
|
||||
resource "decort_k8s" "cluster1" {
|
||||
# ...
|
||||
|
||||
cloud_init = file("initconfig.tftpl")
|
||||
@@ -139,13 +148,17 @@ resource "decort_k8s_cp" "cluster1" {
|
||||
|
||||
4. Выполнить `terraform apply`
|
||||
|
||||
**Конфигурация cloud_init применяется только при создании кластера, во всех остальных случаях - игнорируется**
|
||||
## Работа в параллельном режиме
|
||||
|
||||
Рекомендуется создавать одновременно не более одного экземпляра ресурса.
|
||||
В случае необходимости создания нескольких ресурсов одновременно, необходимо запускать `terraform apply/plan` в режиме `-parallelism=1`.
|
||||
|
||||
## Аргументы
|
||||
|
||||
_Resource_ функция **decort_k8s_cp** принимает следующие аргументы:
|
||||
|
||||
| Аргумент | Тип | Обязательный | Описание |
|
||||
| --- | --- | :---: | --- |
|
||||
| -------------- | ------ | :----------------: | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
|
||||
| name | string | :heavy_check_mark: | Наименование кластера |
|
||||
| k8sci_id | int | :heavy_check_mark: | ID k8s CI |
|
||||
| network_plugin | string | :heavy_check_mark: | Плагин сети ("flannel", "weavenet" или "calico") |
|
||||
@@ -162,8 +175,8 @@ _Resource_ функция **decort_k8s_cp** принимает следующи
|
||||
| cloud_init | string | :x: | Используется на этапе создания вм.<br/>Параметры для утилиты _cloud_init_, которая используется в платформе DECORT для первичного конфигурирования виртуальной машины после её создания. |
|
||||
| cluster_config | string | :x: | используется для определения глобальных настроек и конфигураций для всего кластера. Она включает в себя такие параметры, как имя кластера, настройки DNS, методы аутентификации и другие конфигурации в масштабах кластера. вставьте допустимую строку JSON со всеми уровнями вложенности. |
|
||||
| oidc_cert | string | :x: | ssl-сертификат в формате x509 pem |
|
||||
| ha_mode | bool | :x: | Использовать высокодостпуню схему для балансировщика нагрузки |
|
||||
| extnet_only | bool | :x: | Использовать только extnet
|
||||
| extnet_only | bool | :x: | Использовать только extnet для работы кластера |
|
||||
| ha_mode | bool | :x: | Режим высокой доступностью балансировщика нагрузки |
|
||||
| start | bool | :x: | Старт/Стоп кластера |
|
||||
|
||||
## Возвращаемые значения
|
||||
@@ -171,7 +184,7 @@ _Resource_ функция **decort_k8s_cp** принимает следующи
|
||||
В случае успешного выполнения _resource_ функция **decort_k8s_cp** возвращает в указанную при вызове переменную следующие значения:
|
||||
|
||||
| Параметр | Тип | Описание |
|
||||
| --- | --- | --- |
|
||||
| -------------- | ------------------------------------------------------------ | ----------------------------------- |
|
||||
| acl | Struct{} [см. ниже](#описание-структуры-списка-acl) | acl |
|
||||
| account_id | int | ID аккаунта |
|
||||
| account_name | string | Имя аккаунта |
|
||||
@@ -209,7 +222,7 @@ _Resource_ функция **decort_k8s_cp** принимает следующи
|
||||
### Описание структуры списка acl
|
||||
|
||||
| Параметр | Тип | Описание |
|
||||
| --- | --- | --- |
|
||||
| ------------- | ------ | -------------- |
|
||||
| explicit | bool | explicit |
|
||||
| guid | string | ID ресурса |
|
||||
| right | string | right |
|
||||
@@ -220,7 +233,7 @@ _Resource_ функция **decort_k8s_cp** принимает следующи
|
||||
### Описание структуры списка detailed_info
|
||||
|
||||
| Параметр | Тип | Описание |
|
||||
| --- | --- | --- |
|
||||
| -------------------- | ------------------------------------------------------------ | -------------------------------- |
|
||||
| compute_id | int | ID компьюта в составе группы |
|
||||
| name | string | Имя компьюта в составе группы |
|
||||
| status | string | Статус компьюта в составе группы |
|
||||
@@ -232,12 +245,14 @@ _Resource_ функция **decort_k8s_cp** принимает следующи
|
||||
### Описание структуры списка interfaces
|
||||
|
||||
| Параметр | Тип | Описание |
|
||||
| --- | --- | --- |
|
||||
| ---------- | ------ | ----------------- |
|
||||
| def_gw | string | Шлюз по умолчанию |
|
||||
| ip_address | string | IP интерфейса |
|
||||
|
||||
## Пример использования
|
||||
|
||||
Пример вызова _resource_ функции **decort_k8s_cp**:
|
||||
|
||||
```terraform
|
||||
resource "decort_k8s_cp" "cp" {
|
||||
# Название кластера
|
||||
|
||||
76
Home.md
76
Home.md
File diff suppressed because one or more lines are too long
Reference in New Issue
Block a user