Updated 07.01.06 Resource функция decort_k8s управление кластером kubernetes (markdown)

Касим
2022-12-26 15:43:45 +03:00
parent 27cd48f143
commit 3633de6c7d

@@ -2,6 +2,12 @@
_Resource_ функция **decort_k8s** служит для управления кластером.
## Изменения в 3.3.0
Добавлен id виртуальной сети, которая используется с кластером k8s.
Добавлены описания IP адресов для группы воркеров.
Добавлены описания IP адресов для группы мастеров.
Добавлены описания IP адресов виртуальной сети, которая присоеденена к группе воркеров.
## Аргументы
_Resource_ функция **decort_k8s** для создания кластера принимает следующие аргументы:
@@ -20,50 +26,179 @@ _Resource_ функция **decort_k8s** для создания кластер
| Параметр | Тип | Описание |
| --- | --- | --- |
| default_wg_id | int | ID рабочей группы (worker group) для этого экземпляра кластера. |
| kubeconfig | string | Kubeconfig для доступа к кластеру. |
| lb_ip | string | IP адрес балансировщика нагрузки (load balancer) по-умолчанию. |
| name | string | Наименование кластера |
| 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 | Имя ресурса |
| rg_id | int | ID ресурсной группы |
| k8sci_id | int | ID catalogue item |
| wg_name | string | Имя для первой worker group, <br/> созданной в кластере |
| masters | object{<br/>num: int, <br/>cpu: int,<br/>ram: int,<br/>disk: int} | Настройка мастер node или nodes<br/>Кол-во nodes<br/>Количество cpu<br/>Кол-во RAM в Mбайтах<br/>Размер диска в Гбайтах |
| workers | object{<br/>num: int, <br/>cpu: int,<br/>ram: int,<br/>disk: int} | Настройка worker node или nodes<br/>Кол-во nodes<br/>Количество cpu<br/>Кол-во RAM в Mбайтах<br/>Размер диска в Гбайтах |
| extnet_id | int | ID внешней сети для соединения workers |
| 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"
rg_id = 123
#id resource group
#обязательный параметр
#тип - число
rg_id = 776
#id catalogue item
#обязательный параметр
#тип - число
k8sci_id = 9
#имя для первой worker group, созданной в кластере
#обязательный параметр
#тип - строка
wg_name = "workers"
#extnet_id = 11111
/*
#настройка мастер node или nodes
#опциональный параметр
#максимальное кол-во элементов - 1
#тип - список нод
masters {
#кол-во node
#обязательный параметр
#тип - число
num = 1
#кол-во cpu
#обязательный параметр
#тип - число
cpu = 2
#кол-во RAM в Мбайтах
#обязательный параметр
#тип - число
ram = 2048
#размер диска в Гбайтах
#обязательный параметр
#тип - число
disk = 10
}
*/
/*
#настройка worker node или nodes
#опциональный параметр
#максимальное кол-во элементов - 1
#тип - список нод
workers {
#кол-во node
#обязательный параметр
#тип - число
num = 1
#кол-во cpu
#обязательный параметр
#тип - число
cpu = 2
#кол-во RAM в Мбайтах
#обязательный параметр
#тип - число
ram = 2048
#размер диска в Гбайтах
#обязательный параметр
#тип - число
disk = 10
}
*/
}
# once the above directive completes, will be accessible
# as decort_k8s.cluster
```
Данный пример подразумевает, что ранее по тексту tf-файла выполнена корректная инициализация провайдера (подробнее об инициализации Terraform провайдера DECORT см. соответствующий [раздел](https://github.com/rudecs/terraform-provider-decort/wiki/05.-%D0%98%D0%BD%D0%B8%D1%86%D0%B8%D0%B0%D0%BB%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F-Terraform-%D0%BF%D1%80%D0%BE%D0%B2%D0%B0%D0%B9%D0%B4%D0%B5%D1%80%D0%B0-DECORT.)).
После успешного завершения такого вызова **decort_k8s** в переменной `decort_k8s` будут сохранены возвращаемые значения.
После успешного завершения такого вызова **decort_k8s** в переменной `decort_k8s.cluster` будут сохранены возвращаемые значения.