4.9.0
This commit is contained in:
@@ -6,7 +6,7 @@
|
||||
2. Управлять кластером
|
||||
*/
|
||||
|
||||
#Расскомментируйте этот код,
|
||||
#Раскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
|
||||
/*
|
||||
@@ -32,284 +32,311 @@ provider "decort" {
|
||||
resource "decort_k8s" "cluster" {
|
||||
#имя кластера
|
||||
#обязательный параметр
|
||||
#при изменении - обновляет имя кластера
|
||||
#тип - строка
|
||||
#используется при создании и обновлении
|
||||
name = "tftest"
|
||||
|
||||
#id resource group
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
#используется при создании
|
||||
rg_id = 776
|
||||
|
||||
#id catalogue item
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
#используется при создании
|
||||
k8sci_id = 9
|
||||
|
||||
#сетевой плагин
|
||||
#обязательный параметр
|
||||
#тип - строка
|
||||
#используется при создании
|
||||
network_plugin = "flannel"
|
||||
|
||||
#имя для первой worker group, созданной в кластере
|
||||
#обязательный параметр
|
||||
#тип - строка
|
||||
#используется при создании
|
||||
wg_name = "workers"
|
||||
|
||||
# список labels для дефолтной worker группы
|
||||
# опциональный параметр
|
||||
# тип - массив строк
|
||||
labels = ["key1=val1", "key2=val2"]
|
||||
#список labels для дефолтной worker группы
|
||||
#опциональный параметр
|
||||
#тип - массив строк
|
||||
#используется при создании
|
||||
#labels = ["key1=val1", "key2=val2"]
|
||||
|
||||
# список annotations для дефолтной worker группы
|
||||
# опциональный параметр
|
||||
# В скором времени параметры labels, annotations, taints будут полностью перенесены в блок workers
|
||||
# тип - массив строк
|
||||
annotations = ["key1=val1", "key2=val2"]
|
||||
#список annotations для дефолтной worker группы
|
||||
#опциональный параметр
|
||||
#в скором времени параметры labels, annotations, taints будут полностью перенесены в блок workers
|
||||
#тип - массив строк
|
||||
#используется при создании
|
||||
#annotations = ["key1=val1", "key2=val2"]
|
||||
|
||||
# список taints для дефолтной worker группы
|
||||
# опциональный параметр
|
||||
# В скором времени параметры labels, annotations, taints будут полностью перенесены в блок workers
|
||||
# тип - массив строк
|
||||
taints = ["key1=value1:NoSchedule", "key2=value2:NoExecute"]
|
||||
#список taints для дефолтной worker группы
|
||||
#опциональный параметр
|
||||
#в скором времени параметры labels, annotations, taints будут полностью перенесены в блок workers
|
||||
#тип - массив строк
|
||||
#используется при создании
|
||||
#taints = ["key1=value1:NoSchedule", "key2=value2:NoExecute"]
|
||||
|
||||
#настройка мастер node или nodes
|
||||
#опциональный параметр
|
||||
#максимальное кол-во элементов - 1
|
||||
#тип - список нод
|
||||
masters {
|
||||
#используется при создании
|
||||
#masters {
|
||||
#кол-во node (1, 3 или 5)
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
num = 1
|
||||
#num = 1
|
||||
|
||||
#кол-во cpu
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
cpu = 2
|
||||
#cpu = 2
|
||||
|
||||
#кол-во RAM в Мбайтах
|
||||
#кол-во RAM, в МБ
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
ram = 2048
|
||||
#ram = 2048
|
||||
|
||||
#размер диска в Гбайтах
|
||||
#размер диска, в ГБ
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
disk = 10
|
||||
#disk = 10
|
||||
|
||||
#идентификатор SEP для создания загрузочных дисков для master узлов
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
sep_id = 3
|
||||
#sep_id = 3
|
||||
|
||||
#наименование MasterSEPPool используется если установлен master sepId, также может быть пустым
|
||||
#наименование MasterSEPPool, используется если установлен master sepId, также может быть пустым
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
sep_pool = "data_01"
|
||||
}
|
||||
#sep_pool = "data_01"
|
||||
#}
|
||||
|
||||
#настройка worker группы
|
||||
#опциональный параметр
|
||||
#Первая указанная воркер-группа должна соответствовать изначально созданной вместе с кластером.
|
||||
#первая указанная воркер-группа должна соответствовать изначально созданной вместе с кластером.
|
||||
#используется при создании и обновлении
|
||||
#labels, annotations, taints для дефолтной worker группы указываются в корне ресурса при создании кластера.
|
||||
workers {
|
||||
#workers {
|
||||
#имя группы
|
||||
#обязательный параметр
|
||||
#тип - строка
|
||||
name = "test"
|
||||
#name = "test"
|
||||
|
||||
#кол-во node
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
num = 1
|
||||
#num = 1
|
||||
|
||||
#кол-во cpu
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
cpu = 2
|
||||
#cpu = 2
|
||||
|
||||
#кол-во RAM в Мбайтах
|
||||
#кол-во RAM, в МБ
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
ram = 2048
|
||||
#ram = 2048
|
||||
|
||||
#размер диска в Гбайтах
|
||||
#размер диска, в ГБ
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
disk = 10
|
||||
|
||||
#Идентификатор SEP
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
sep_id = 1010
|
||||
|
||||
#Имя SEP pool'a
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
sep_pool = "data01"
|
||||
|
||||
#тип эмулируемой системы
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
chipset = "i440fx"
|
||||
}
|
||||
|
||||
#...Далее можно создавать произвольное кол-во дополнительных worker групп
|
||||
#labels, annotations и taints для последующих групп указываются непосредственно в блоке workers
|
||||
workers {
|
||||
#наименование worker группы
|
||||
#обязательный параметр
|
||||
#тип - строка
|
||||
name = "additional_wg"
|
||||
|
||||
#кол-во node
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
num = 2
|
||||
|
||||
#кол-во cpu
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
cpu = 2
|
||||
|
||||
#кол-во RAM в Мбайтах
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
ram = 4096
|
||||
|
||||
#размер диска в Гбайтах
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
disk = 10
|
||||
#disk = 10
|
||||
|
||||
#идентификатор SEP
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
sep_id = 1010
|
||||
#sep_id = 1010
|
||||
|
||||
#имя SEP pool'a
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
sep_pool = "data01"
|
||||
#sep_pool = "data01"
|
||||
|
||||
#тип эмулируемой системы
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
chipset = "i440fx"
|
||||
#chipset = "i440fx"
|
||||
#}
|
||||
|
||||
#далее можно создавать произвольное кол-во дополнительных worker групп
|
||||
#labels, annotations и taints для последующих групп указываются непосредственно в блоке workers
|
||||
#workers {
|
||||
#наименование worker группы
|
||||
#обязательный параметр
|
||||
#тип - строка
|
||||
#name = "additional_wg"
|
||||
|
||||
#кол-во node
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
#num = 2
|
||||
|
||||
#кол-во cpu
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
#cpu = 2
|
||||
|
||||
#кол-во RAM, в МБ
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
#ram = 4096
|
||||
|
||||
#размер диска, в ГБ
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
#disk = 10
|
||||
|
||||
#идентификатор SEP
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#sep_id = 1010
|
||||
|
||||
#имя SEP pool'a
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#sep_pool = "data01"
|
||||
|
||||
#тип эмулируемой системы
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#chipset = "i440fx"
|
||||
|
||||
#список лейблов
|
||||
#опциональный параметр
|
||||
#тип - массив строк
|
||||
labels = ["label1=value1", "label2=value2"]
|
||||
#labels = ["label1=value1", "label2=value2"]
|
||||
|
||||
#список аннотаций
|
||||
#опциональный параметр
|
||||
#тип - массив строк
|
||||
annotations = ["key1=value1", "key2=value2"]
|
||||
#annotations = ["key1=value1", "key2=value2"]
|
||||
|
||||
#список taints
|
||||
#опциональный параметр
|
||||
#тип - массив строк
|
||||
taints = ["key1=value1:NoSchedule", "key2=value2:NoExecute"]
|
||||
}
|
||||
#taints = ["key1=value1:NoSchedule", "key2=value2:NoExecute"]
|
||||
#}
|
||||
|
||||
#id extnet
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
extnet_id = 0
|
||||
#используется при создании
|
||||
#extnet_id = 0
|
||||
|
||||
#id vins
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
vins_id = 1234
|
||||
#используется при создании
|
||||
#vins_id = 1234
|
||||
|
||||
#создать Kubernetes cluster с masters nodes с подключенным LB
|
||||
#опциональный параметр
|
||||
#тип - булев
|
||||
with_lb = true
|
||||
#тип - булев
|
||||
#используется при создании
|
||||
#with_lb = true
|
||||
|
||||
# пользовательские значения sysctl для LB
|
||||
# опциональный параметр
|
||||
# тип - список мап
|
||||
lb_sysctl_params = [{ key1 = "value1", key2 = "value2" }]
|
||||
#пользовательские значения sysctl для LB
|
||||
#опциональный параметр
|
||||
#тип - список мап
|
||||
#используется при создании и обновлении
|
||||
#lb_sysctl_params = [{ key1 = "value1", key2 = "value2" }]
|
||||
|
||||
# позволяет создать схему отказоустройчивой LB
|
||||
# опциональный параметр
|
||||
# тип - булев
|
||||
ha_mode = true
|
||||
#создать схему отказоустойчивой LB
|
||||
#опциональный параметр
|
||||
#тип - булев
|
||||
#используется при создании
|
||||
#ha_mode = true
|
||||
|
||||
# дополнительные SAN (Subject Alternative Names) для использования в процессе автоматического выписывания сертификата Кластера Kubernetes;
|
||||
# возможность взаимодействовать с кластером по FQDN
|
||||
# параметр получает список строк – IP-адреса и/или DNS (по формату RFC 1123 c поддержкой wildcard)
|
||||
# опциональный параметр
|
||||
# тип - массив строк
|
||||
additional_sans = ["192.168.201.0", "192.168.201.1"]
|
||||
#дополнительные SAN (Subject Alternative Names) для использования в процессе автоматического выписывания сертификата Кластера Kubernetes;
|
||||
#возможность взаимодействовать с кластером по FQDN
|
||||
#параметр получает список строк – IP-адреса и/или DNS (по формату RFC 1123 c поддержкой wildcard)
|
||||
#опциональный параметр
|
||||
#тип - массив строк
|
||||
#используется при создании
|
||||
#additional_sans = ["192.168.201.0", "192.168.201.1"]
|
||||
|
||||
# используется для определения настроек и действий, которые должны быть выполнены перед запуском любого другого компонента в кластере
|
||||
# это позволяет вам настраивать такие вещи, как регистрация node, настройка network и другие задачи инициализации
|
||||
# опциональный параметр
|
||||
# тип - строка
|
||||
init_config = "{JSON string}"
|
||||
#используется для определения настроек и действий, которые должны быть выполнены перед запуском любого другого компонента в кластере
|
||||
#это позволяет вам настраивать такие вещи, как регистрация node, настройка network и другие задачи инициализации
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#используется при создании
|
||||
#init_config = "{JSON string}"
|
||||
|
||||
# используется для определения глобальных настроек и конфигураций для всего кластера
|
||||
# он включает в себя такие параметры, как имя кластера, настройки DNS, методы аутентификации и другие конфигурации в масштабах кластера
|
||||
# опциональный параметр
|
||||
# тип - строка
|
||||
cluster_config = "{JSON string}"
|
||||
#используется для определения глобальных настроек и конфигураций для всего кластера
|
||||
#он включает в себя такие параметры, как имя кластера, настройки DNS, методы аутентификации и другие конфигурации в масштабах кластера
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#используется при создании
|
||||
#cluster_config = "{JSON string}"
|
||||
|
||||
# используется для настройки поведения и параметров Kubelet, который является агентом primary node, запускаемым на каждом node кластера
|
||||
# он включает в себя такие параметры, как IP-адрес node, распределение ресурсов, политики удаления модулей и другие конфигурации, специфичные для Kubelet
|
||||
# опциональный параметр
|
||||
# тип - строка
|
||||
kubelet_config = "{JSON string}"
|
||||
#используется для настройки поведения и параметров Kubelet, который является агентом primary node, запускаемым на каждом node кластера
|
||||
#он включает в себя такие параметры, как IP-адрес node, распределение ресурсов, политики удаления модулей и другие конфигурации, специфичные для Kubelet
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#используется при создании
|
||||
#kubelet_config = "{JSON string}"
|
||||
|
||||
# используется для настройки поведения и параметров присоединения node к кластеру
|
||||
# он включает в себя такие параметры, как режим прокси-сервера, диапазоны IP-адресов кластера и другие конфигурации, специфичные для Kube-proxy
|
||||
# опциональный параметр
|
||||
# тип - строка
|
||||
kube_proxy_config = "{JSON string}"
|
||||
#используется для настройки поведения и параметров присоединения node к кластеру
|
||||
#он включает в себя такие параметры, как режим прокси-сервера, диапазоны IP-адресов кластера и другие конфигурации, специфичные для Kube-proxy
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#используется при создании
|
||||
#kube_proxy_config = "{JSON string}"
|
||||
|
||||
# используется для настройки поведения и параметров присоединения node к кластеру
|
||||
# он включает в себя такие параметры, как cluster's control plane endpoint, токен и ключ сертификата
|
||||
# опциональный параметр
|
||||
# тип - строка
|
||||
join_config = "{JSON string}"
|
||||
#используется для настройки поведения и параметров присоединения node к кластеру
|
||||
#он включает в себя такие параметры, как cluster's control plane endpoint, токен и ключ сертификата
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#используется при создании
|
||||
#join_config = "{JSON string}"
|
||||
|
||||
# описание кластера
|
||||
# опциональный параметр
|
||||
# тип - строка
|
||||
desc = "description"
|
||||
#описание кластера
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#используется при создании и обновлении
|
||||
#desc = "description"
|
||||
|
||||
# перечень аргументов для cloud-init создаваемым группам узлов Worker
|
||||
# необязательный параметр
|
||||
# тип - файл с форматом в виде yaml
|
||||
cloud_init = file("initconfig.tftpl")
|
||||
#перечень аргументов для cloud-init создаваемым группам узлов Worker
|
||||
#опциональный параметр
|
||||
#тип - файл с форматом в виде yaml
|
||||
#используется при создании
|
||||
#cloud_init = file("initconfig.tftpl")
|
||||
|
||||
# при создании кластре использовать подключение только к сети ExtNet
|
||||
# опциональный параметр
|
||||
# тип - булев
|
||||
extnet_only = true
|
||||
#при создании кластера использовать подключение только к сети ExtNet
|
||||
#опциональный параметр
|
||||
#тип - булев
|
||||
#используется при создании
|
||||
#extnet_only = true
|
||||
|
||||
# добавить ssl-сертификат в формате x509 pem
|
||||
# необязательный параметр
|
||||
# тип - файл с форматом в виде x509 pem
|
||||
oidc_cert = file("ca.crt")
|
||||
#добавить ssl-сертификат в формате x509 pem
|
||||
#опциональный параметр
|
||||
#тип - файл с форматом в виде x509 pem
|
||||
#используется при создании
|
||||
#oidc_cert = file("ca.crt")
|
||||
|
||||
#тип эмулируемой системы
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
chipset = "i440fx"
|
||||
#используется при создании
|
||||
#chipset = "i440fx"
|
||||
|
||||
# запуск,остановка кластера
|
||||
# опциональный параметр
|
||||
# тип - булев
|
||||
start = true
|
||||
#запуск,остановка кластера
|
||||
#опциональный параметр
|
||||
#тип - булев
|
||||
#используется при создании и обновлении
|
||||
#start = true
|
||||
|
||||
# команда destroy удаляет кластер без возможности восстановления
|
||||
# опциональный параметр
|
||||
# тип - булев
|
||||
permanently = true
|
||||
#флаг для удаления кластера, без возможности восстановления
|
||||
#опциональный параметр
|
||||
#тип - булев
|
||||
#используется при удалении
|
||||
#permanently = true
|
||||
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user