Files
tf_provider/DEV_STAND/FullPipe/shturval.tf
T

53 lines
2.3 KiB
Terraform

# =============================================================================
# Менеджмент-кластер Kubernetes «Штурвал» (сервис 148)
#
# Разворачивается последним в цепочке:
# орга (создана вручную в ЛК)
# -> nubes_vc_vdc.vdc
# -> nubes_vc_nsxt.edge
# -> nubes_vc_org_ip_allocation.org_ip
# -> nubes_vc_nsxt_snat.snat
# -> nubes_vc_mgmt_sthutrval_cluster.shturval (этот ресурс)
#
# Штурвалу нужны готовая сеть и внешние адреса (для Kubernetes API и Ingress),
# поэтому depends_on стоит на SNAT — последний ресурс цепочки.
# =============================================================================
resource "nubes_vc_mgmt_sthutrval_cluster" "shturval" {
resource_name = var.shturval_resource_name
# Облако и имя кластера. Ресурсная платформа и сетевой провайдер — те же,
# что у vDC (берутся из общих переменных).
startup_configuration = {
resource_realm = var.shturval_realm
cluster_name = var.shturval_cluster_name
provider_vdc = var.vdc_provider_vdc
network_provider = var.vdc_network_provider
}
# Версия Штурвала
cluster_configuration = {
app_version = var.shturval_app_version
}
# Control plane: размер зависит от ресурсной платформы
control_plane_configuration = {
sizing_policy = var.shturval_cp_sizing_policy
sizing_disk = var.shturval_cp_sizing_disk
count = var.shturval_cp_count
}
# Группы воркеров: JSON-строкой, после создания не изменяется
worker_configuration = var.shturval_worker_config
# Доступ: внешние адреса для Kubernetes API и Ingress
access_configuration = {
need_external_address_api = var.shturval_api_need_external
access_ip_list_api = var.shturval_api_access_ip_list
need_external_address_ingress = var.shturval_ingress_need_external
access_ip_list_ingress = var.shturval_ingress_access_ip_list
}
depends_on = [nubes_vc_nsxt_snat.snat]
}