This commit is contained in:
2025-05-21 16:38:25 +03:00
parent 2c70109d2d
commit 9e68edb2b9
1034 changed files with 73925 additions and 3187 deletions

View File

@@ -3,7 +3,7 @@
Получение информации о k8ci
*/
#Расскомментируйте этот код,
#Раскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
/*

View File

@@ -3,7 +3,7 @@
Получение списка k8ci
*/
#Расскомментируйте этот код,
#Раскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
/*

View File

@@ -3,7 +3,7 @@
Получение списка удаленных k8ci
*/
#Расскомментируйте этот код,
#Раскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
/*

View File

@@ -3,7 +3,7 @@
Получение информации о k8s кластере
*/
#Расскомментируйте этот код,
#Раскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
/*

View File

@@ -3,7 +3,7 @@
Получение информации о компьютах k8s кластера
*/
#Расскомментируйте этот код,
#Раскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером

View File

@@ -3,7 +3,7 @@
Получение списка доступных кластеров
*/
#Расскомментируйте этот код,
#Раскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
/*

View File

@@ -3,7 +3,7 @@
Получение списка удаленных кластеров
*/
#Расскомментируйте этот код,
#Раскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
/*

View File

@@ -3,7 +3,7 @@
Получение информации о k8s кластере
*/
#Расскомментируйте этот код,
#Раскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
/*

View File

@@ -3,7 +3,7 @@
Получение информации о мета данных рабочей группы k8s кластера
*/
#Расскомментируйте этот код,
#Раскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
/*

View File

@@ -3,7 +3,7 @@
Получение списка доступных рабочих групп в кластере
*/
#Расскомментируйте этот код,
#Раскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
/*

View File

@@ -7,7 +7,7 @@
3. Удалять k8ci
*/
#Расскомментируйте этот код,
#Раскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
/*
@@ -34,66 +34,79 @@ resource "decort_cb_k8ci" "k8ci" {
#имя k8ci
#обязательный параметр
#тип - строка
#используется при создании
name = "test"
#тег версии
#обязательный параметр
#тип - строка
#используется при создании
version = "1.1.1"
#тип master driver
#обязательный параметр
#тип - строка
#используется при создании
master_driver = "KVM_X86"
#тип worker driver
#обязательный параметр
#тип - строка
#используется при создании
worker_driver = "KVM_X86"
#максимальное число master компутов
#максимальное число master компьютов
#обязательный параметр
#тип - целое число
#используется при создании
max_master_count = 1
#максимальное число worker компутов
#максимальное число worker компьютов
#обязательный параметр
#тип - целое число
#используется при создании
max_worker_count = 1
#id образа для master
#обязательный параметр
#тип - целое число
#используется при создании
master_image_id = 4
#id образа для worker
#обязательный параметр
#тип - целое число
#используется при создании
worker_image_id = 4
#network plugins
#обязательный параметр
#тип - массив строк
#используется при создании
network_plugins = ["flannel"]
#доступность k8ci
#опциональный параметр
#тип - булев
#используется при создании и обновлении
#enabled = false
#флаг для моментального удаления k8ci
#флаг для удаления k8ci, без возможности восстановления
#опциональный параметр
#тип - булев
#используется при удалении
#permanently = true
#описание
#опциональный параметр
#тип - строка
#используется при создании
#desc = "some"
#доступность k8ci другим аккаунтам
#опциональный параметр
#тип - массив целых чисел
#используется при создании и обновлении
#shared_with = [1111]
}

View File

@@ -9,7 +9,7 @@
5. Изменить кол-во ВМ в мастер-узле
*/
#Расскомментируйте этот код,
#Раскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
/*
@@ -35,155 +35,184 @@ resource "decort_cb_k8s_cp" "cp" {
#название кластера
#обязательный параметр
#тип - строка
#используется при создании и обновлении
name = "k8s-cp"
#k8sCI ID
#обязательный параметр
#тип - целое число
#используется при создании
k8sci_id = 55
#плагин сети
#обязательный параметр
#возможные значения - "flannel", "weavenet", "calico"
#тип - строка
#используется при создании
network_plugin = "flannel"
#id ресурсной группы
#обязательный параметр
#тип - целое число
#используется при создании
rg_id = 1387
#кол-во ядер мастер-узла
#опциональный параметр
#тип - целое число
cpu = 2
#используется при создании
#cpu = 2
#объем RAM мастер-узла
#опциональный параметр
#тип - целое число
ram = 2048
#используется при создании
#ram = 2048
#кол-во ВМ мастер-узла (1, 3 или 5)
#опциональный параметр
#тип - целое число
num = 1
#используется при создании и обновлении
#num = 1
#размер диска мастер-узла
#опциональный параметр
#тип - целое число
disk = 10
#используется при создании
#disk = 10
#описание кластера
#опциональный параметр
#тип - строка
desc = "<DESCRIPTION>"
#используется при создании и обновлении
#desc = "<DESCRIPTION>"
#id extnet
#опциональный параметр
#тип - целое число
extnet_id = 0
#используется при создании
#extnet_id = 0
#id vins
#опциональный параметр
#тип - целое число
vins_id = 1234
#используется при создании
#vins_id = 1234
#sep ip
#опциональный параметр
#тип - целое число
sep_id = 0
#используется при создании
#sep_id = 0
#название пула
#опциональный параметр
#тип - строка
sep_pool = "pool"
#используется при создании
#sep_pool = "pool"
#старт/стоп кластера
#опциональный параметр
#тип - булев
start = true
#используется при создании и обновлении
#start = true
#включить/отключить кластер
#опциональный параметр
#тип - булев
enabled = true
#используется при создании и обновлении
#enabled = true
#удалить кластер безвозвратно
#флаг для удаления k8s_cp, без возможности восстановления
#опциональный параметр
#тип - булев
permanently = true
#используется при удалении
#permanently = true
#восстановить кластер из корзины
#опциональный параметр
#тип - булев
restore = true
#используется при обновлении
#restore = true
#создать кластер с/без балансировщика нагрузки
#опциональный параметр
#тип - булев
with_lb = true
#используется при создании
#with_lb = true
#позволяет создать схему отказоустройчивой LB
#создать схему отказоустройчивой LB
#опциональный параметр
#тип - булев
ha_mode = true
#используется при создании
#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"]
#используется при создании
#additional_sans = ["192.168.201.0","192.168.201.1"]
#используется для определения настроек и действий, которые должны быть выполнены перед запуском любого другого компонента в кластере
#это позволяет вам настраивать такие вещи, как регистрация node, настройка network и другие задачи инициализации
#опциональный параметр
#тип - строка
init_config = "{JSON string}"
#используется при создании
#init_config = "{JSON string}"
#используется для определения глобальных настроек и конфигураций для всего кластера
#он включает в себя такие параметры, как имя кластера, настройки DNS, методы аутентификации и другие конфигурации в масштабах кластера
#опциональный параметр
#тип - строка
cluster_config = "{JSON string}"
#используется при создании
#cluster_config = "{JSON string}"
#используется для настройки поведения и параметров Kubelet, который является агентом primary node, запускаемым на каждом node кластера
#он включает в себя такие параметры, как IP-адрес node, распределение ресурсов, политики удаления модулей и другие конфигурации, специфичные для Kubelet
#опциональный параметр
#тип - строка
kubelet_config = "{JSON string}"
#используется при создании
#kubelet_config = "{JSON string}"
#используется для настройки поведения и параметров присоединения node к кластеру
#он включает в себя такие параметры, как режим прокси-сервера, диапазоны IP-адресов кластера и другие конфигурации, специфичные для Kube-proxy
#опциональный параметр
#тип - строка
kube_proxy_config = "{JSON string}"
#используется при создании
#kube_proxy_config = "{JSON string}"
#используется для настройки поведения и параметров присоединения node к кластеру
#он включает в себя такие параметры, как cluster's control plane endpoint, токен и ключ сертификата
#опциональный параметр
#тип - строка
join_config = "{JSON string}"
#используется при создании
#join_config = "{JSON string}"
#при создании кластере использовать подключение только к сети ExtNet
#опциональный параметр
#тип - булев
extnet_only = true
#используется при создании
#extnet_only = true
#добавить ssl-сертификат в формате x509 pem
#опциональный параметр
#тип - файл с форматом в виде .crt
oidc_cert = file("ca.crt")
#используется при создании
#oidc_cert = file("ca.crt")
#тип эмулируемой системы
#опциональный параметр
#тип - строка
chipset = "i440fx"
#используется при создании
#chipset = "i440fx"
#пользовательские значения sysctl для LB
#опциональный параметр
#тип - массив мап
lb_sysctl_params = [{ key1 = "value1", key2 = "value2" }]
#используется при создании и обновлении
#lb_sysctl_params = [{ key1 = "value1", key2 = "value2" }]
}
output "cp_out" {

View File

@@ -3,7 +3,7 @@
Получение информации о группе воркеров кластера Kubernetes(k8s)
*/
#Расскомментируйте этот код,
#Раскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
/*
@@ -31,73 +31,85 @@ resource "decort_cb_k8s_wg" "wg" {
#обязательный параметр
#это значение должно быть и результат вызова decort_cb_k8s.cluster.k8s_id
#тип - целое число
#используется при создании
k8s_id = 1234
#имя worker group
#обязательный параметр
#тип - строка
#используется при создании
name = "workers-2"
#количество worker node для создания
#опциональный параметр
#тип - целое число
#по умолчанию - 1
num = 2
#используется при создании и обновлении
#num = 2
#количество cpu для 1 worker node
#опциональный параметр
#тип - целое число
#по умолчанию - 1
cpu = 1
#используется при создании
#cpu = 1
#количество RAM для одной worker node в Мбайтах
#количество RAM для одной worker node в МБ
#опциональный параметр
#тип - целое число
#по умолчанию - 1024
ram = 1024
#используется при создании
#ram = 1024
#размер загрузочного диска для worker node, в Гбайтах
#размер загрузочного диска для worker node, в ГБ
#опциональный параметр
#по умолчанию - 0
#если установлен параметр 0, то размер диска будет равен размеру образа
#тип - целое число
disk = 10
#используется при создании
#disk = 10
#список строк с labels для worker группы, в формате: ["label1=value1", "label2=value2"]
#опциональный параметр
#тип - массив строк
labels = ["label1=value1", "label2=value2"]
#используется при создании
#labels = ["label1=value1", "label2=value2"]
#список строк с annotations для worker группы, в формате: ["key1=value1", "key2=value2"]
#опциональный параметр
#тип - массив строк
annotations = ["key1=value1", "key2=value2"]
#используется при создании
#annotations = ["key1=value1", "key2=value2"]
#список строк с taints для worker группы, в формате: ["key1=value1:NoSchedule", "key2=value2:NoExecute"]
#опциональный параметр
#тип - массив строк
taints = ["key1=value1", "key2=value2"]
#используется при создании
#taints = ["key1=value1", "key2=value2"]
#id СХД для создания загрузочных дисков для Worker-групп по умолчанию. Использует sepId образа, если не указан.
#опциональный параметр
#тип - целое число
worker_sep_id = 1
#используется при создании
#worker_sep_id = 1
#пул для хранения Workers. Если не заполнить, будет выбран системой
#опциональный параметр
#тип - целое число
worker_sep_pool = "worker_pool"
#используется при создании
#worker_sep_pool = "worker_pool"
#перечень аргументов для cloud-init для виртуальных машин worker групп
#опциональный параметр
#тип - файл в формате YAML
#используется при создании и обновлении ресурса
cloud_init = file("initconfig.tftpl")
#используется при создании и обновлении
#cloud_init = file("initconfig.tftpl")
#тип эмулируемой системы
#опциональный параметр
#тип - строка
chipset = "i440fx"
#используется при создании
#chipset = "i440fx"
}