#Расскомментируйте этот код, #и внесите необходимые правки в версию и путь, #чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером /* terraform { required_providers { decort = { source = "basis/decort/decort" version = "" } } } */ provider "decort" { authenticator = "oauth2" oauth2_url = "https://sso.digitalenergy.online" controller_url = "https://mr4.digitalenergy.online" app_id = "" app_secret = "" } 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, annotations, taints будут полностью перенесены в блок workers # тип - массив строк labels = ["key1=val1", "key2=val2"] # список annotations для дефолтной worker группы # опциональный параметр # В скором времени параметры labels, annotations, taints будут полностью перенесены в блок workers # тип - массив строк annotations = ["key1=val1", "key2=val2"] # список taints для дефолтной worker группы # опциональный параметр # В скором времени параметры labels, annotations, taints будут полностью перенесены в блок workers # тип - массив строк taints = ["key1=val1", "key2=val2"] #настройка мастер node или nodes #опциональный параметр #максимальное кол-во элементов - 1 #тип - список нод masters { #кол-во node #обязательный параметр #тип - число num = 1 #кол-во cpu #обязательный параметр #тип - число cpu = 2 #кол-во RAM в Мбайтах #обязательный параметр #тип - число ram = 2048 #размер диска в Гбайтах #обязательный параметр #тип - число disk = 10 } #настройка worker группы #опциональный параметр #Первая указанная воркер-группа должна соответствовать изначально созданной вместе с кластером. # labels, annotations, taints для дефолтной worker группы указываются в корне ресурса при создании кластера. workers { #наименование worker группы #обязательный параметр #тип - строка name = "workers_wg" #кол-во node #обязательный параметр #тип - число num = 1 #кол-во cpu #обязательный параметр #тип - число cpu = 2 #кол-во RAM в Мбайтах #обязательный параметр #тип - число ram = 2048 #размер диска в Гбайтах #обязательный параметр #тип - число disk = 10 #Идентификатор SEP #опциональный параметр #тип - число sep_id = 1010 #Имя SEP pool'a #опциональный параметр #тип - строка sep_pool = "data01" } #...Далее можно создавать произвольное кол-во дополнительных 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" #Список лейблов #опциональный параметр #тип - массив строк labels = ["label1=value1", "label2=value2"] #Список аннотаций #опциональный параметр #тип - массив строк annotations = ["key1=value1", "key2=value2"] #Список taints #опциональный параметр #тип - массив строк taints = ["key1=value1:NoSchedule", "key2=value2:NoExecute"] } } output "test_cluster" { value = decort_k8s.cluster } /* output "kubeconfig"{ value = decort_k8s.cluster.kubeconfig } */