diff --git a/07.01.06-Resource-функция-decort_k8s-управление-кластером-kubernetes.md b/07.01.06-Resource-функция-decort_k8s-управление-кластером-kubernetes.md index e6a9b93..ea5c60a 100644 --- a/07.01.06-Resource-функция-decort_k8s-управление-кластером-kubernetes.md +++ b/07.01.06-Resource-функция-decort_k8s-управление-кластером-kubernetes.md @@ -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,
созданной в кластере | -| masters | object{
num: int,
cpu: int,
ram: int,
disk: int} | Настройка мастер node или nodes
Кол-во nodes
Количество cpu
Кол-во RAM в Mбайтах
Размер диска в Гбайтах | -| workers | object{
num: int,
cpu: int,
ram: int,
disk: int} | Настройка worker node или nodes
Кол-во nodes
Количество cpu
Кол-во RAM в Mбайтах
Размер диска в Гбайтах | -| 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` будут сохранены возвращаемые значения. \ No newline at end of file +После успешного завершения такого вызова **decort_k8s** в переменной `decort_k8s.cluster` будут сохранены возвращаемые значения.