|
|
|
@ -1,258 +0,0 @@
|
|
|
|
|
Функция доступна в провайдере версии 2.0 и выше.
|
|
|
|
|
|
|
|
|
|
_Resource_ функция **decort_k8s** служит для управления кластером.
|
|
|
|
|
|
|
|
|
|
## Изменения в 3.4.0
|
|
|
|
|
- В аргументы добавлено опциональное поле labels.
|
|
|
|
|
- В аргументы добавлено опциональное поле taints.
|
|
|
|
|
- В аргументы добавлено опциональное поле annotations.
|
|
|
|
|
- В аргументы добавлено опциональное поле sep_id в блоке masters.
|
|
|
|
|
- В аргументы добавлено опциональное поле sep_pool в блоке masters.
|
|
|
|
|
- В аргументы добавлено опциональное поле sep_id в блоке workers.
|
|
|
|
|
- В аргументы добавлено опциональное поле sep_pool в блоке workers.
|
|
|
|
|
|
|
|
|
|
## Изменения в 3.3.0
|
|
|
|
|
- Добавлен id виртуальной сети, которая используется с кластером k8s.
|
|
|
|
|
- Добавлены описания IP адресов для группы воркеров.
|
|
|
|
|
- Добавлены описания IP адресов для группы мастеров.
|
|
|
|
|
- Добавлены описания IP адресов виртуальной сети, которая присоеденена к группе воркеров.
|
|
|
|
|
|
|
|
|
|
## Аргументы
|
|
|
|
|
_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 |
|
|
|
|
|
| wg_name | string | :heavy_check_mark: | Имя для первой worker group, <br/> созданной в кластере |
|
|
|
|
|
| network_plugin | string | :heavy_check_mark: | Плагин сети для кластера. Допустимые значения: flannel, calico, weavenet |
|
|
|
|
|
| labels | []string | :x: | Список меток для кластера k8s |
|
|
|
|
|
| taints | []string | :x: | Список taints для кластера k8s |
|
|
|
|
|
| annotations | []string | :x: | Список аннотаций для кластера k8s |
|
|
|
|
|
| masters | Struct{} [см. ниже](#описание-блока-masters) | :x: | Настройка мастер node или nodes |
|
|
|
|
|
| workers | Struct{} [см. ниже](#описание-блока-workers) | :x: | Настройка worker node или nodes |
|
|
|
|
|
| extnet_id | int | :x: | ID внешней сети для соединения workers.<br/>Если не задано,<br/>то сеть будет выбрана платформой. |
|
|
|
|
|
| start | bool | :x: | Старт/Стоп кластера |
|
|
|
|
|
|
|
|
|
|
### Описание блока masters
|
|
|
|
|
| Аргумент | Тип | Обязательный | Описание |
|
|
|
|
|
| --- | --- | --- | --- |
|
|
|
|
|
| num | int | :heavy_check_mark: | Количество nodes |
|
|
|
|
|
| cpu | int | :heavy_check_mark: | Количество cpu |
|
|
|
|
|
| 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
|
|
|
|
|
| Аргумент | Тип | Обязательный | Описание |
|
|
|
|
|
| --- | --- | --- | --- |
|
|
|
|
|
| num | int | :heavy_check_mark: | Количество nodes |
|
|
|
|
|
| cpu | int | :heavy_check_mark: | Количество cpu |
|
|
|
|
|
| ram | int | :heavy_check_mark: | Количество RAM в Mбайтах|
|
|
|
|
|
| disk | int | :heavy_check_mark: | Объем boot диска в ГБ |
|
|
|
|
|
| sep_id | int | :x: | Идентификатор SEP |
|
|
|
|
|
| sep_pool | string | :x: | Название SEP pool'а |
|
|
|
|
|
|
|
|
|
|
## Возвращаемые значения
|
|
|
|
|
В случае успешного выполнения _resource_ функция **decort_k8s** возвращает в указанную при вызове переменную следующие значения:
|
|
|
|
|
|
|
|
|
|
| Параметр | Тип | Описание |
|
|
|
|
|
| --- | --- | --- |
|
|
|
|
|
| acl | Struct{} [см. ниже](#описание-структуры-acl) | acl |
|
|
|
|
|
| account_id | int | ID аккаунта |
|
|
|
|
|
| account_name | string | Имя аккаунта |
|
|
|
|
|
| bservice_id | int | ID bservice |
|
|
|
|
|
| k8sci_id | int | ID образа кластера |
|
|
|
|
|
| created_by | string | Кем был создан ресурс |
|
|
|
|
|
| created_time | int | Время создания ресурса |
|
|
|
|
|
| deleted_by | string | Кем был удален ресурс |
|
|
|
|
|
| deleted_time | int | Время удаления ресурса |
|
|
|
|
|
| extnet_id | int | ID внешней сети |
|
|
|
|
|
| k8s_ci_name | string | Имя образа кластера |
|
|
|
|
|
| masters | []Struct{} [см. ниже](#описание-структуры-masters) | Структура компьютов мастеров |
|
|
|
|
|
| workers | []Struct{} [см. ниже](#описание-структуры-workers) | Структура компьютов воркеров |
|
|
|
|
|
| lb_id | int | ID балансировщика нагрзуки |
|
|
|
|
|
| lb_ip | string | IP балансировщика нагрзуки |
|
|
|
|
|
| name | string | Имя ресурса |
|
|
|
|
|
| network_plugin | string | Сетевой плагин |
|
|
|
|
|
| rg_id | int | ID ресурсной группы |
|
|
|
|
|
| rg_name | string | Имя ресурсной группы |
|
|
|
|
|
| status | string | Статус ресурса |
|
|
|
|
|
| tech_status | string | Технический статус ресурса |
|
|
|
|
|
| updated_by | string | Кем был обновлен ресурс |
|
|
|
|
|
| updated_time | int | Время последнего обновления ресурса |
|
|
|
|
|
| kubeconfig | string | Конфиг |
|
|
|
|
|
| vins_id | int | ID виртуальной сети |
|
|
|
|
|
|
|
|
|
|
### Описание структуры acl
|
|
|
|
|
|
|
|
|
|
| Параметр | Тип | Описание |
|
|
|
|
|
| --- | --- | --- |
|
|
|
|
|
| account_acl | []Struct{} [см. ниже](#описание-структуры-списка-acl) | account_acl |
|
|
|
|
|
| k8s_acl| []Struct{} [см. ниже](#описание-структуры-списка-acl) | k8s_acl |
|
|
|
|
|
| rg_acl | []Struct{} [см. ниже](#описание-структуры-списка-acl) | rg_acl |
|
|
|
|
|
|
|
|
|
|
### Описание структуры списка acl
|
|
|
|
|
|
|
|
|
|
| Параметр | Тип | Описание |
|
|
|
|
|
| --- | --- | --- |
|
|
|
|
|
| explicit | bool | explicit |
|
|
|
|
|
| guid | string | ID ресурса |
|
|
|
|
|
| right | string | right |
|
|
|
|
|
| status | string | Статус ресурса |
|
|
|
|
|
| type | string | Тип ресурса |
|
|
|
|
|
| user_group_id | string | ID группы |
|
|
|
|
|
|
|
|
|
|
### Описание структуры 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|
|
|
|
|
|
|
|
|
|
|
### Описание структуры workers
|
|
|
|
|
|
|
|
|
|
| Параметр | Тип | Описание |
|
|
|
|
|
| --- | --- | --- |
|
|
|
|
|
| annotations | []string | Аннотации группы workers |
|
|
|
|
|
| cpu | int | Кол-во cpu на компьютах workers |
|
|
|
|
|
| detailed_info | []Struct{} [см. ниже](#описание-структуры-списка-detailed_info) | Детальная информация masters |
|
|
|
|
|
| disk | int | ID диска |
|
|
|
|
|
| guid | string | ID ресурса |
|
|
|
|
|
| id | int | ID группы workers |
|
|
|
|
|
| labels | []string | Лейблы группы workers |
|
|
|
|
|
| name | string | Имя ресурса |
|
|
|
|
|
| num | int | Кол-во компьютов в группе workers |
|
|
|
|
|
| ram | int | Кол-во Ram на компьютах группы workers |
|
|
|
|
|
| taints | []string | огранечители группы workers |
|
|
|
|
|
|
|
|
|
|
### Описание структуры списка detailed_info
|
|
|
|
|
|
|
|
|
|
| Параметр | Тип | Описание |
|
|
|
|
|
| --- | --- | --- |
|
|
|
|
|
| compute_id | int | ID компьюта в составе группы |
|
|
|
|
|
| name | string | Имя компьюта в составе группы |
|
|
|
|
|
| status | string | Статус компьюта в составе группы |
|
|
|
|
|
| tech_status | string | Статус компьюта в составе группы |
|
|
|
|
|
| interfaces | []Struct{} [см. ниже](#описание-структуры-списка-interfaces) | Список интерфейсов группы |
|
|
|
|
|
| natable_vins_ip | string | IP NAT |
|
|
|
|
|
| natable_vins_network | string | IP виртуальной сети |
|
|
|
|
|
|
|
|
|
|
### Описание структуры списка interfaces
|
|
|
|
|
|
|
|
|
|
| Параметр | Тип | Описание |
|
|
|
|
|
| --- | --- | --- |
|
|
|
|
|
| def_gw | string | Шлюз по умолчанию |
|
|
|
|
|
| ip_address | string | IP интерфейса |
|
|
|
|
|
|
|
|
|
|
## Пример использования
|
|
|
|
|
Пример вызова _resource_ функции **decort_k8s**:
|
|
|
|
|
```terraform
|
|
|
|
|
resource "decort_k8s" "cluster" {
|
|
|
|
|
#имя кластера
|
|
|
|
|
#обязательный параметр
|
|
|
|
|
#при изменении - обновдяет имя кластера
|
|
|
|
|
#тип - строка
|
|
|
|
|
name = "tftest"
|
|
|
|
|
|
|
|
|
|
#id resource group
|
|
|
|
|
#обязательный параметр
|
|
|
|
|
#тип - число
|
|
|
|
|
rg_id = 776
|
|
|
|
|
|
|
|
|
|
#id catalogue item
|
|
|
|
|
#обязательный параметр
|
|
|
|
|
#тип - число
|
|
|
|
|
k8sci_id = 9
|
|
|
|
|
|
|
|
|
|
#имя для первой worker group, созданной в кластере
|
|
|
|
|
#обязательный параметр
|
|
|
|
|
#тип - строка
|
|
|
|
|
wg_name = "workers"
|
|
|
|
|
|
|
|
|
|
#настройка мастер node или nodes
|
|
|
|
|
#опциональный параметр
|
|
|
|
|
#максимальное кол-во элементов - 1
|
|
|
|
|
#тип - список нод
|
|
|
|
|
masters {
|
|
|
|
|
#кол-во node
|
|
|
|
|
#обязательный параметр
|
|
|
|
|
#тип - число
|
|
|
|
|
num = 1
|
|
|
|
|
|
|
|
|
|
#кол-во cpu
|
|
|
|
|
#обязательный параметр
|
|
|
|
|
#тип - число
|
|
|
|
|
cpu = 2
|
|
|
|
|
|
|
|
|
|
#Идентификатор SEP
|
|
|
|
|
#опциональный параметр
|
|
|
|
|
#тип - число
|
|
|
|
|
sep_id = 1010
|
|
|
|
|
|
|
|
|
|
#Имя SEP pool'a
|
|
|
|
|
#опциональный параметр
|
|
|
|
|
#тип - строка
|
|
|
|
|
sep_pool = "data01"
|
|
|
|
|
|
|
|
|
|
#кол-во RAM в Мбайтах
|
|
|
|
|
#обязательный параметр
|
|
|
|
|
#тип - число
|
|
|
|
|
ram = 2048
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#размер диска в Гбайтах
|
|
|
|
|
#обязательный параметр
|
|
|
|
|
#тип - число
|
|
|
|
|
disk = 10
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
#настройка worker node или nodes
|
|
|
|
|
#опциональный параметр
|
|
|
|
|
#максимальное кол-во элементов - 1
|
|
|
|
|
#тип - список нод
|
|
|
|
|
workers {
|
|
|
|
|
#кол-во node
|
|
|
|
|
#обязательный параметр
|
|
|
|
|
#тип - число
|
|
|
|
|
num = 1
|
|
|
|
|
|
|
|
|
|
#кол-во cpu
|
|
|
|
|
#обязательный параметр
|
|
|
|
|
#тип - число
|
|
|
|
|
cpu = 2
|
|
|
|
|
|
|
|
|
|
#Идентификатор SEP
|
|
|
|
|
#опциональный параметр
|
|
|
|
|
#тип - число
|
|
|
|
|
sep_id = 1010
|
|
|
|
|
|
|
|
|
|
#Имя SEP pool'a
|
|
|
|
|
#опциональный параметр
|
|
|
|
|
#тип - строка
|
|
|
|
|
sep_pool = "data01"
|
|
|
|
|
|
|
|
|
|
#кол-во RAM в Мбайтах
|
|
|
|
|
#обязательный параметр
|
|
|
|
|
#тип - число
|
|
|
|
|
ram = 2048
|
|
|
|
|
|
|
|
|
|
#размер диска в Гбайтах
|
|
|
|
|
#обязательный параметр
|
|
|
|
|
#тип - число
|
|
|
|
|
disk = 10
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
# once the above directive completes, will be accessible
|
|
|
|
|
# as decort_k8s.cluster
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
После успешного завершения такого вызова **decort_k8s** в переменной `decort_k8s.cluster` будут сохранены возвращаемые значения.
|