4.6.0
This commit is contained in:
38
samples/cloudbroker/k8s/data_k8ci/main.tf
Normal file
38
samples/cloudbroker/k8s/data_k8ci/main.tf
Normal file
@@ -0,0 +1,38 @@
|
||||
/*
|
||||
Пример использования
|
||||
Получение информации о k8ci
|
||||
*/
|
||||
|
||||
#Расскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
|
||||
/*
|
||||
terraform {
|
||||
required_providers {
|
||||
decort = {
|
||||
source = "basis/decort/decort"
|
||||
version = "<VERSION>"
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
provider "decort" {
|
||||
authenticator = "decs3o"
|
||||
#controller_url = <DECORT_CONTROLLER_URL>
|
||||
controller_url = "https://ds1.digitalenergy.online"
|
||||
#oauth2_url = <DECORT_SSO_URL>
|
||||
oauth2_url = "https://sso.digitalenergy.online"
|
||||
allow_unverified_ssl = true
|
||||
}
|
||||
|
||||
data "decort_cb_k8ci" "k8ci" {
|
||||
#id k8ci
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
k8ci_id = 111
|
||||
}
|
||||
|
||||
output "test" {
|
||||
value = data.decort_cb_k8ci.k8ci
|
||||
}
|
||||
84
samples/cloudbroker/k8s/data_k8ci_list/main.tf
Normal file
84
samples/cloudbroker/k8s/data_k8ci_list/main.tf
Normal file
@@ -0,0 +1,84 @@
|
||||
/*
|
||||
Пример использования
|
||||
Получение списка k8ci
|
||||
*/
|
||||
|
||||
#Расскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
|
||||
/*
|
||||
terraform {
|
||||
required_providers {
|
||||
decort = {
|
||||
source = "basis/decort/decort"
|
||||
version = "<VERSION>"
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
provider "decort" {
|
||||
authenticator = "decs3o"
|
||||
#controller_url = <DECORT_CONTROLLER_URL>
|
||||
controller_url = "https://ds1.digitalenergy.online"
|
||||
#oauth2_url = <DECORT_SSO_URL>
|
||||
oauth2_url = "https://sso.digitalenergy.online"
|
||||
allow_unverified_ssl = true
|
||||
}
|
||||
|
||||
data "decort_cb_k8ci_list" "k8cil" {
|
||||
#фильтр по id k8ci
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#by_id = 111
|
||||
|
||||
#фильтр по имени k8ci
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#name = "name"
|
||||
|
||||
#фильтр по статусу k8ci
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#status = "status"
|
||||
|
||||
#фильтр по worker driver
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#worker_driver = "KVM_X86"
|
||||
|
||||
#фильтр по master driver
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#master_driver = "KVM_X86"
|
||||
|
||||
#фильтр по network plugin
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#network_plugin = "flannel"
|
||||
|
||||
#исключить из результата недоступные k8ci
|
||||
#опциональный параметр
|
||||
#тип - булев
|
||||
#include_disabled = "true"
|
||||
|
||||
#сортировка по одному из поддерживаемых полей
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#формат - "+поле" по возрастанию / "-поле" по убыванию
|
||||
#sort_by = "+name"
|
||||
|
||||
#номер страницы для отображения
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#page = 2
|
||||
|
||||
#размер страницы
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#size = 3
|
||||
}
|
||||
|
||||
output "test" {
|
||||
value = data.decort_cb_k8ci_list.k8cil
|
||||
}
|
||||
74
samples/cloudbroker/k8s/data_k8ci_list_deleted/main.tf
Normal file
74
samples/cloudbroker/k8s/data_k8ci_list_deleted/main.tf
Normal file
@@ -0,0 +1,74 @@
|
||||
/*
|
||||
Пример использования
|
||||
Получение списка удаленных k8ci
|
||||
*/
|
||||
|
||||
#Расскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
|
||||
/*
|
||||
terraform {
|
||||
required_providers {
|
||||
decort = {
|
||||
source = "basis/decort/decort"
|
||||
version = "<VERSION>"
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
provider "decort" {
|
||||
authenticator = "decs3o"
|
||||
#controller_url = <DECORT_CONTROLLER_URL>
|
||||
controller_url = "https://ds1.digitalenergy.online"
|
||||
#oauth2_url = <DECORT_SSO_URL>
|
||||
oauth2_url = "https://sso.digitalenergy.online"
|
||||
allow_unverified_ssl = true
|
||||
}
|
||||
|
||||
data "decort_cb_k8ci_list_deleted" "k8cild" {
|
||||
#фильтр по id k8ci
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#by_id = 111
|
||||
|
||||
#фильтр по имени k8ci
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#name = "name"
|
||||
|
||||
#фильтр по worker driver
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#worker_driver = "KVM_X86"
|
||||
|
||||
#фильтр по master driver
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#master_driver = "KVM_X86"
|
||||
|
||||
#фильтр по network plugin
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#network_plugin = "flannel"
|
||||
|
||||
#сортировка по одному из поддерживаемых полей
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#формат - "+поле" по возрастанию / "-поле" по убыванию
|
||||
#sort_by = "+name"
|
||||
|
||||
#номер страницы для отображения
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#page = 2
|
||||
|
||||
#размер страницы
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#size = 3
|
||||
}
|
||||
|
||||
output "test" {
|
||||
value = data.decort_cb_k8ci_list_deleted.k8cild
|
||||
}
|
||||
38
samples/cloudbroker/k8s/data_k8s/main.tf
Normal file
38
samples/cloudbroker/k8s/data_k8s/main.tf
Normal file
@@ -0,0 +1,38 @@
|
||||
/*
|
||||
Пример использования
|
||||
Получение информации о k8s кластере
|
||||
*/
|
||||
|
||||
#Расскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
|
||||
/*
|
||||
terraform {
|
||||
required_providers {
|
||||
decort = {
|
||||
source = "basis/decort/decort"
|
||||
version = "<VERSION>"
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
provider "decort" {
|
||||
authenticator = "decs3o"
|
||||
#controller_url = <DECORT_CONTROLLER_URL>
|
||||
controller_url = "https://ds1.digitalenergy.online"
|
||||
#oauth2_url = <DECORT_SSO_URL>
|
||||
oauth2_url = "https://sso.digitalenergy.online"
|
||||
allow_unverified_ssl = true
|
||||
}
|
||||
|
||||
data "decort_cb_k8s" "k8s" {
|
||||
#id кластера
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
k8s_id = 49304
|
||||
}
|
||||
|
||||
output "output_k8s" {
|
||||
value = data.decort_cb_k8s.k8s
|
||||
}
|
||||
38
samples/cloudbroker/k8s/data_k8s_computes/main.tf
Normal file
38
samples/cloudbroker/k8s/data_k8s_computes/main.tf
Normal file
@@ -0,0 +1,38 @@
|
||||
/*
|
||||
Пример использования
|
||||
Получение информации о компьютах k8s кластера
|
||||
*/
|
||||
|
||||
#Расскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
|
||||
|
||||
/*
|
||||
terraform {
|
||||
required_providers {
|
||||
decort = {
|
||||
source = "basis/decort/decort"
|
||||
version = "<VERSION>"
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
provider "decort" {
|
||||
authenticator = "decs3o"
|
||||
oauth2_url = "https://sso.digitalenergy.online"
|
||||
controller_url = "https://mr4.digitalenergy.online"
|
||||
app_id = ""
|
||||
app_secret = ""
|
||||
}
|
||||
|
||||
data "decort_cb_k8s_computes" "computes" {
|
||||
#id кластера
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
k8s_id = 999
|
||||
}
|
||||
|
||||
output "computes_out" {
|
||||
value = data.decort_cb_k8s_computes.computes
|
||||
}
|
||||
97
samples/cloudbroker/k8s/data_k8s_list/main.tf
Normal file
97
samples/cloudbroker/k8s/data_k8s_list/main.tf
Normal file
@@ -0,0 +1,97 @@
|
||||
/*
|
||||
Пример использования
|
||||
Получение списка доступных кластеров
|
||||
*/
|
||||
|
||||
#Расскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
|
||||
/*
|
||||
terraform {
|
||||
required_providers {
|
||||
decort = {
|
||||
source = "basis/decort/decort"
|
||||
version = "<VERSION>"
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
provider "decort" {
|
||||
authenticator = "decs3o"
|
||||
#controller_url = <DECORT_CONTROLLER_URL>
|
||||
controller_url = "https://ds1.digitalenergy.online"
|
||||
#oauth2_url = <DECORT_SSO_URL>
|
||||
oauth2_url = "https://sso.digitalenergy.online"
|
||||
allow_unverified_ssl = true
|
||||
}
|
||||
|
||||
data "decort_cb_k8s_list" "k8s_list" {
|
||||
#фильтр по id кластера
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#by_id = 100
|
||||
|
||||
#фильтр по имени кластера
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#name = "test"
|
||||
|
||||
#фильтр по ip
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#ip_address = "test"
|
||||
|
||||
#фильтр по id ресурсной группы
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#rg_id = 100
|
||||
|
||||
#фильтр по id балансировщика нагрузки
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#lb_id = 100
|
||||
|
||||
#фильтр по id ресурсной группы
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#bservice_id = 100
|
||||
|
||||
#фильтр по статусу
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#status = "ENABLED"
|
||||
|
||||
#фильтр по техническому статусу
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#tech_status = "STOPPED"
|
||||
|
||||
#включение удаленных k8s в результат
|
||||
#опциональный параметр
|
||||
#тип - булев
|
||||
#если не задан - выводятся все неудаленные данные
|
||||
#include_deleted = true
|
||||
|
||||
#сортировка по одному из поддерживаемых полей
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#формат - "+поле" по возрастанию / "-поле" по убыванию
|
||||
#sort_by = "+name"
|
||||
|
||||
#номер страницы для отображения
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#если не задан - выводятся все доступные данные
|
||||
#page = 1
|
||||
|
||||
#размер страницы
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#если не задан - выводятся все доступные данные
|
||||
#size = 1
|
||||
}
|
||||
|
||||
output "output_k8s_list" {
|
||||
value = data.decort_cb_k8s_list.k8s_list
|
||||
}
|
||||
87
samples/cloudbroker/k8s/data_k8s_list_deleted/main.tf
Normal file
87
samples/cloudbroker/k8s/data_k8s_list_deleted/main.tf
Normal file
@@ -0,0 +1,87 @@
|
||||
/*
|
||||
Пример использования
|
||||
Получение списка удаленных кластеров
|
||||
*/
|
||||
|
||||
#Расскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
|
||||
/*
|
||||
terraform {
|
||||
required_providers {
|
||||
decort = {
|
||||
source = "basis/decort/decort"
|
||||
version = "<VERSION>"
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
provider "decort" {
|
||||
authenticator = "decs3o"
|
||||
#controller_url = <DECORT_CONTROLLER_URL>
|
||||
controller_url = "https://ds1.digitalenergy.online"
|
||||
#oauth2_url = <DECORT_SSO_URL>
|
||||
oauth2_url = "https://sso.digitalenergy.online"
|
||||
allow_unverified_ssl = true
|
||||
}
|
||||
|
||||
data "decort_cb_k8s_list_deleted" "k8s_list_deleted" {
|
||||
#фильтр по id кластера
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#by_id = 100
|
||||
|
||||
#фильтр по имени кластера
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#name = "test"
|
||||
|
||||
#фильтр по ip
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#ip_address = "test"
|
||||
|
||||
#фильтр по id ресурсной группы
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#rg_id = 100
|
||||
|
||||
#фильтр по id балансировщика нагрузки
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#lb_id = 100
|
||||
|
||||
#фильтр по id ресурсной группы
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#bservice_id = 100
|
||||
|
||||
#фильтр по техническому статусу
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#tech_status = "STOPPED"
|
||||
|
||||
#сортировка по одному из поддерживаемых полей
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#формат - "+поле" по возрастанию / "-поле" по убыванию
|
||||
#sort_by = "+name"
|
||||
|
||||
#номер страницы для отображения
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#если не задан - выводятся все доступные данные
|
||||
#page = 1
|
||||
|
||||
#размер страницы
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#если не задан - выводятся все доступные данные
|
||||
#size = 1
|
||||
}
|
||||
|
||||
output "output_k8s_list_deleted" {
|
||||
value = data.decort_cb_k8s_list_deleted.k8s_list_deleted
|
||||
}
|
||||
|
||||
43
samples/cloudbroker/k8s/data_k8s_wg/main.tf
Normal file
43
samples/cloudbroker/k8s/data_k8s_wg/main.tf
Normal file
@@ -0,0 +1,43 @@
|
||||
/*
|
||||
Пример использования
|
||||
Получение информации о k8s кластере
|
||||
*/
|
||||
|
||||
#Расскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
|
||||
/*
|
||||
terraform {
|
||||
required_providers {
|
||||
decort = {
|
||||
source = "basis/decort/decort"
|
||||
version = "<VERSION>"
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
provider "decort" {
|
||||
authenticator = "decs3o"
|
||||
#controller_url = <DECORT_CONTROLLER_URL>
|
||||
controller_url = "https://ds1.digitalenergy.online"
|
||||
#oauth2_url = <DECORT_SSO_URL>
|
||||
oauth2_url = "https://sso.digitalenergy.online"
|
||||
allow_unverified_ssl = true
|
||||
}
|
||||
|
||||
data "decort_cb_k8s_wg" "k8s_wg" {
|
||||
#id кластера
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
k8s_id = 49304
|
||||
|
||||
#id группы воркеров
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
wg_id = 43329
|
||||
}
|
||||
|
||||
output "output_k8s_wg" {
|
||||
value = data.decort_cb_k8s_wg.k8s_wg
|
||||
}
|
||||
46
samples/cloudbroker/k8s/data_k8s_wg_cloud_init/main.tf
Normal file
46
samples/cloudbroker/k8s/data_k8s_wg_cloud_init/main.tf
Normal file
@@ -0,0 +1,46 @@
|
||||
/*
|
||||
Пример использования
|
||||
Получение информации о мета данных рабочей группы k8s кластера
|
||||
*/
|
||||
|
||||
#Расскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
|
||||
/*
|
||||
terraform {
|
||||
required_providers {
|
||||
decort = {
|
||||
source = "basis/decort/decort"
|
||||
version = "<VERSION>"
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
provider "decort" {
|
||||
authenticator = "decs3o"
|
||||
#controller_url = <DECORT_CONTROLLER_URL>
|
||||
controller_url = "https://ds1.digitalenergy.online"
|
||||
#oauth2_url = <DECORT_SSO_URL>
|
||||
oauth2_url = "https://sso.digitalenergy.online"
|
||||
allow_unverified_ssl = true
|
||||
}
|
||||
|
||||
data "decort_cb_k8s_wg_cloud_init" "wg_cloud_init" {
|
||||
#id кластера
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
k8s_id = 977
|
||||
|
||||
#id группы воркеров
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
wg_id = 2110
|
||||
}
|
||||
|
||||
output "wg_cloud_init" {
|
||||
value = data.decort_cb_k8s_wg_cloud_init.wg_cloud_init
|
||||
}
|
||||
|
||||
|
||||
|
||||
38
samples/cloudbroker/k8s/data_k8s_wg_list/main.tf
Normal file
38
samples/cloudbroker/k8s/data_k8s_wg_list/main.tf
Normal file
@@ -0,0 +1,38 @@
|
||||
/*
|
||||
Пример использования
|
||||
Получение списка доступных рабочих групп в кластере
|
||||
*/
|
||||
|
||||
#Расскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
|
||||
/*
|
||||
terraform {
|
||||
required_providers {
|
||||
decort = {
|
||||
source = "basis/decort/decort"
|
||||
version = "<VERSION>"
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
provider "decort" {
|
||||
authenticator = "decs3o"
|
||||
#controller_url = <DECORT_CONTROLLER_URL>
|
||||
controller_url = "https://ds1.digitalenergy.online"
|
||||
#oauth2_url = <DECORT_SSO_URL>
|
||||
oauth2_url = "https://sso.digitalenergy.online"
|
||||
allow_unverified_ssl = true
|
||||
}
|
||||
|
||||
data "decort_cb_k8s_wg_list" "k8s_wg_list" {
|
||||
#id кластера
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
k8s_id = 49304
|
||||
}
|
||||
|
||||
output "output_k8s_wg_list" {
|
||||
value = data.decort_cb_k8s_wg_list.k8s_wg_list
|
||||
}
|
||||
103
samples/cloudbroker/k8s/resource_k8ci/main.tf
Normal file
103
samples/cloudbroker/k8s/resource_k8ci/main.tf
Normal file
@@ -0,0 +1,103 @@
|
||||
/*
|
||||
Пример использования
|
||||
Ресурса k8ci
|
||||
Ресурс позволяет:
|
||||
1. Создавать k8ci
|
||||
2. Редактировать k8ci
|
||||
3. Удалять k8ci
|
||||
*/
|
||||
|
||||
#Расскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
|
||||
/*
|
||||
terraform {
|
||||
required_providers {
|
||||
decort = {
|
||||
source = "basis/decort/decort"
|
||||
version = "<VERSION>"
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
provider "decort" {
|
||||
authenticator = "decs3o"
|
||||
#controller_url = <DECORT_CONTROLLER_URL>
|
||||
controller_url = "https://ds1.digitalenergy.online"
|
||||
#oauth2_url = <DECORT_SSO_URL>
|
||||
oauth2_url = "https://sso.digitalenergy.online"
|
||||
allow_unverified_ssl = true
|
||||
}
|
||||
|
||||
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 компутов
|
||||
#обязательный параметр
|
||||
#тип - целое число
|
||||
max_master_count = 1
|
||||
|
||||
#максимальное число 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
|
||||
#опциональный параметр
|
||||
#тип - булев
|
||||
#permanently = true
|
||||
|
||||
#описание
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
#desc = "some"
|
||||
|
||||
#доступность k8ci другим аккаунтам
|
||||
#опциональный параметр
|
||||
#тип - массив целых чисел
|
||||
#shared_with = [1111]
|
||||
|
||||
}
|
||||
|
||||
output "test" {
|
||||
value = decort_cb_k8ci.k8ci
|
||||
}
|
||||
186
samples/cloudbroker/k8s/resource_k8s_cp/main.tf
Normal file
186
samples/cloudbroker/k8s/resource_k8s_cp/main.tf
Normal file
@@ -0,0 +1,186 @@
|
||||
/*
|
||||
Пример использования
|
||||
Ресурса k8s
|
||||
Ресурс позволяет:
|
||||
1. Создавать кластер
|
||||
2. Редактировать кластер
|
||||
3. Удалять кластер
|
||||
4. Настроить мастер-узел
|
||||
5. Изменить кол-во ВМ в мастер-узле
|
||||
*/
|
||||
|
||||
#Расскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
|
||||
/*
|
||||
terraform {
|
||||
required_providers {
|
||||
decort = {
|
||||
source = "basis/decort/decort"
|
||||
version = "<VERSION>"
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
provider "decort" {
|
||||
authenticator = "decs3o"
|
||||
oauth2_url = "https://sso.digitalenergy.online"
|
||||
controller_url = "https://mr4.digitalenergy.online"
|
||||
app_id = ""
|
||||
app_secret = ""
|
||||
}
|
||||
|
||||
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
|
||||
|
||||
#объем RAM мастер-узла
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
ram = 2048
|
||||
|
||||
#кол-во ВМ мастер-узла (1, 3 или 5)
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
num = 1
|
||||
|
||||
#размер диска мастер-узла
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
disk = 10
|
||||
|
||||
#описание кластера
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
desc = "<DESCRIPTION>"
|
||||
|
||||
#id extnet
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
extnet_id = 0
|
||||
|
||||
#id vins
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
vins_id = 1234
|
||||
|
||||
#sep ip
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
sep_id = 0
|
||||
|
||||
#название пула
|
||||
#опциональный параметр
|
||||
#тип - строка
|
||||
sep_pool = "pool"
|
||||
|
||||
#старт/стоп кластера
|
||||
#опциональный параметр
|
||||
#тип - булев
|
||||
start = true
|
||||
|
||||
#включить/отключить кластер
|
||||
#опциональный параметр
|
||||
#тип - булев
|
||||
enabled = true
|
||||
|
||||
#удалить кластер безвозвратно
|
||||
#опциональный параметр
|
||||
#тип - булев
|
||||
permanently = true
|
||||
|
||||
#восстановить кластер из корзины
|
||||
#опциональный параметр
|
||||
#тип - булев
|
||||
restore = true
|
||||
|
||||
#создать кластер с/без балансировщика нагрузки
|
||||
#опциональный параметр
|
||||
#тип - булев
|
||||
with_lb = 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"]
|
||||
|
||||
#используется для определения настроек и действий, которые должны быть выполнены перед запуском любого другого компонента в кластере
|
||||
#это позволяет вам настраивать такие вещи, как регистрация 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
|
||||
#опциональный параметр
|
||||
#тип - булев
|
||||
extnet_only = true
|
||||
|
||||
#добавить ssl-сертификат в формате x509 pem
|
||||
#опциональный параметр
|
||||
#тип - файл с форматом в виде .crt
|
||||
oidc_cert = file("ca.crt")
|
||||
|
||||
#пользовательские значения sysctl для LB
|
||||
#опциональный параметр
|
||||
#тип - массив мап
|
||||
lb_sysctl_params = [{text = "1", text = "some"}]
|
||||
}
|
||||
|
||||
output "cp_out" {
|
||||
value = decort_cb_k8s_cp.cp
|
||||
}
|
||||
9
samples/cloudbroker/k8s/resource_k8s_wg/initconfig.tftpl
Normal file
9
samples/cloudbroker/k8s/resource_k8s_wg/initconfig.tftpl
Normal file
@@ -0,0 +1,9 @@
|
||||
---
|
||||
users:
|
||||
- groups: users, wheel
|
||||
name: user
|
||||
plain_text_passwd: examplePassword
|
||||
primary_group: user
|
||||
ssh_authorized_keys:
|
||||
- ssh-rsa EXAMPLE%id_rsa.pub
|
||||
sudo: ALL=(ALL) NOPASSWD:ALL
|
||||
101
samples/cloudbroker/k8s/resource_k8s_wg/main.tf
Normal file
101
samples/cloudbroker/k8s/resource_k8s_wg/main.tf
Normal file
@@ -0,0 +1,101 @@
|
||||
/*
|
||||
Пример использования
|
||||
Получение информации о группе воркеров кластера Kubernetes(k8s)
|
||||
*/
|
||||
|
||||
#Расскомментируйте этот код,
|
||||
#и внесите необходимые правки в версию и путь,
|
||||
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
|
||||
/*
|
||||
terraform {
|
||||
required_providers {
|
||||
decort = {
|
||||
source = "basis/decort/decort"
|
||||
version = "<VERSION>"
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
provider "decort" {
|
||||
authenticator = "decs3o"
|
||||
#controller_url = <DECORT_CONTROLLER_URL>
|
||||
controller_url = "https://ds1.digitalenergy.online"
|
||||
#oauth2_url = <DECORT_SSO_URL>
|
||||
oauth2_url = "https://sso.digitalenergy.online"
|
||||
allow_unverified_ssl = true
|
||||
}
|
||||
|
||||
resource "decort_cb_k8s_wg" "wg" {
|
||||
#id экземпляра k8s
|
||||
#обязательный параметр
|
||||
#это значение должно быть и результат вызова decort_cb_k8s.cluster.k8s_id
|
||||
#тип - целое число
|
||||
k8s_id = 1234
|
||||
|
||||
#имя worker group
|
||||
#обязательный параметр
|
||||
#тип - строка
|
||||
name = "workers-2"
|
||||
|
||||
#количество worker node для создания
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#по умолчанию - 1
|
||||
num = 2
|
||||
|
||||
#количество cpu для 1 worker node
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#по умолчанию - 1
|
||||
cpu = 1
|
||||
|
||||
#количество RAM для одной worker node в Мбайтах
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
#по умолчанию - 1024
|
||||
ram = 1024
|
||||
|
||||
#размер загрузочного диска для worker node, в Гбайтах
|
||||
#опциональный параметр
|
||||
#по умолчанию - 0
|
||||
#если установлен параметр 0, то размер диска будет равен размеру образа
|
||||
#тип - целое число
|
||||
disk = 10
|
||||
|
||||
#список строк с labels для worker группы, в формате: ["label1=value1", "label2=value2"]
|
||||
#опциональный параметр
|
||||
#тип - массив строк
|
||||
labels = ["label1=value1", "label2=value2"]
|
||||
|
||||
#список строк с annotations для worker группы, в формате: ["key1=value1", "key2=value2"]
|
||||
#опциональный параметр
|
||||
#тип - массив строк
|
||||
annotations = ["key1=value1", "key2=value2"]
|
||||
|
||||
#список строк с taints для worker группы, в формате: ["key1=value1:NoSchedule", "key2=value2:NoExecute"]
|
||||
#опциональный параметр
|
||||
#тип - массив строк
|
||||
taints = ["key1=value1", "key2=value2"]
|
||||
|
||||
#id СХД для создания загрузочных дисков для Worker-групп по умолчанию. Использует sepId образа, если не указан.
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
worker_sep_id = 1
|
||||
|
||||
#пул для хранения Workers. Если не заполнить, будет выбран системой
|
||||
#опциональный параметр
|
||||
#тип - целое число
|
||||
worker_sep_pool = "worker_pool"
|
||||
|
||||
#перечень аргументов для cloud-init для виртуальных машин worker групп
|
||||
#опциональный параметр
|
||||
#тип - файл в формате YAML
|
||||
#используется при создании и обновлении ресурса
|
||||
cloud_init = file("initconfig.tftpl")
|
||||
|
||||
}
|
||||
|
||||
output "test_wg" {
|
||||
value = decort_cb_k8s_wg.wg
|
||||
}
|
||||
Reference in New Issue
Block a user