Files
asteam ddbb12996d 1.3.0
2025-07-01 13:44:09 +03:00

228 lines
9.4 KiB
HCL
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/*
Пример использования
Ресурса k8s
Ресурс позволяет:
1. Создавать кластер
2. Редактировать кластер
3. Удалять кластер
4. Настроить мастер-узел
5. Изменить кол-во ВМ в мастер-узле
*/
#Раскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
/*
terraform {
required_providers {
dynamix = {
source = "basistech.ru/tf/dynamix"
version = "<VERSION>"
}
}
}
*/
provider "dynamix" {
authenticator = "decs3o"
#controller_url = <DYNAMIX_CONTROLLER_URL>
controller_url = "https://ds1.digitalenergy.online"
#oauth2_url = <DYNAMIX_OAUTH2_URL>
oauth2_url = "https://sso.digitalenergy.online"
allow_unverified_ssl = true
}
resource "dynamix_k8s_cp" "cp" {
#название кластера
#обязательный параметр
#тип - строка
#используется при создании и обновлении
name = "k8s-cp"
#k8sCI ID
#обязательный параметр
#тип - целое число
#используется при создании
k8sci_id = 55
#плагин сети (flannel, weavenet или calico)
#обязательный параметр
#тип - строка
#используется при создании
network_plugin = "flannel"
#id ресурсной группы
#обязательный параметр
#тип - целое число
#используется при создании
rg_id = 1387
#кол-во ядер мастер-узла
#опциональный параметр
#тип - целое число
#используется при создании
#cpu = 2
#объем RAM мастер-узла, в МБ
#опциональный параметр
#тип - целое число
#используется при создании
#ram = 2048
#кол-во ВМ мастер-узла (1, 3 или 5)
#опциональный параметр
#тип - целое число
#используется при создании и обновлении
#num = 1
#размер диска мастер-узла, в ГБ
#опциональный параметр
#тип - целое число
#используется при создании
#disk = 10
#описание кластера
#опциональный параметр
#тип - строка
#используется при создании и обновлении
#desc = "<DESCRIPTION>"
#id extnet
#опциональный параметр
#тип - целое число
#используется при создании
#extnet_id = 0
#id vins
#опциональный параметр
#тип - целое число
#используется при создании
#vins_id = 1234
#storage Endpoint ID
#опциональный параметр
#тип - целое число
#используется при создании
#sep_id = 0
#sep pool
#опциональный параметр
#тип - строка
#используется при создании
#sep_pool = "pool"
#старт/стоп кластера
#опциональный параметр
#по умолчанию - false
#тип - булев
#используется при создании и обновлении
#start = true
#флаг доступности кластера
#опциональный параметр
#по умолчанию - true
#тип - булев
#enable = true
#создать кластер с/без балансировщика нагрузки
#опциональный параметр
#по умолчанию - true
#тип - булев
#используется при создании
#with_lb = true
#создать схему отказоустойчивой LB
#опциональный параметр
#по умолчанию - false
#тип - булев
#используется при создании
#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"]
#используется для определения настроек и действий, которые должны быть выполнены перед запуском любого другого компонента в кластере
#это позволяет вам настраивать такие вещи, как регистрация node, настройка network и другие задачи инициализации
#опциональный параметр
#тип - строка
#используется при создании
#init_config = "{JSON string}"
#используется для определения глобальных настроек и конфигураций для всего кластера
#он включает в себя такие параметры, как имя кластера, настройки DNS, методы аутентификации и другие конфигурации в масштабах кластера
#опциональный параметр
#тип - строка
#используется при создании
#cluster_config = "{JSON string}"
#используется для настройки поведения и параметров Kubelet, который является агентом primary node, запускаемым на каждом node кластера
#он включает в себя такие параметры, как IP-адрес node, распределение ресурсов, политики удаления модулей и другие конфигурации, специфичные для Kubelet
#опциональный параметр
#тип - строка
#используется при создании
#kubelet_config = "{JSON string}"
#используется для настройки поведения и параметров присоединения node к кластеру
#он включает в себя такие параметры, как режим прокси-сервера, диапазоны IP-адресов кластера и другие конфигурации, специфичные для Kube-proxy
#опциональный параметр
#тип - строка
#используется при создании
#kube_proxy_config = "{JSON string}"
#используется для настройки поведения и параметров присоединения node к кластеру
#он включает в себя такие параметры, как cluster's control plane endpoint, токен и ключ сертификата
#опциональный параметр
#тип - строка
#используется при создании
#join_config = "{JSON string}"
#при создании кластре использовать подключение только к сети ExtNet
#опциональный параметр
#по умолчанию - false
#тип - булев
#используется при создании
#extnet_only = true
#добавить ssl-сертификат в формате x509 pem
#опциональный параметр
#тип - файл с форматом в виде .crt
#используется при создании
#oidc_cert = file("ca.crt")
#тип эмулируемой системы
#опциональный параметр
#тип - строка
#используется при создании
#chipset = "i440fx"
#пользовательские значения sysctl для LB
#опциональный параметр
#тип - массив мап
#используется при создании и обновлении
#lb_sysctl_params = [{ key1 = "value1", key2 = "value2" }]
#флаг для удаления k8s_cp, без возможности восстановления
#опциональный параметр
#тип - булев
#по умолчанию - true
#используется при удалении
#permanently = true
#восстановление группы после удаления
#опциональный параметр
#используется при редактировании ресурса
#по умолчанию - true
#тип - булев
#используется при обновлении
#restore = true
}
output "cp_out" {
value = dynamix_k8s_cp.cp
}