stand(FullPipe): всё про Штурвал собрано в shturval.tf (переменные + ресурс); в variables.tf и terraform.tfvars ничего про Штурвал не осталось

This commit is contained in:
Nail
2026-09-24 16:35:57 +03:00
parent 5a2a5e7487
commit b8adeb6582
2 changed files with 89 additions and 77 deletions
+89 -3
View File
@@ -1,7 +1,17 @@
# =============================================================================
# Менеджмент-кластер Kubernetes «Штурвал» (сервис 148)
#
# Разворачивается последним в цепочке:
# Всё, что относится к Штурвалу, лежит ТОЛЬКО в этом файле: переменные, их
# значения по умолчанию и сам ресурс. В terraform.tfvars для Штурвала ничего
# задавать не нужно — при желании значения можно переопределить там (переменные
# называются shturval_*).
#
# Чтобы выключить Штурвал:
# - удалить этот файл, или
# - закомментировать ресурс nubes_vc_mgmt_sthutrval_cluster.shturval.
# Ничего другого править не придётся.
#
# Место в цепочке — последнее:
# орга (создана вручную в ЛК)
# -> nubes_vc_vdc.vdc
# -> nubes_vc_nsxt.edge
@@ -10,14 +20,90 @@
# -> nubes_vc_mgmt_sthutrval_cluster.shturval (этот ресурс)
#
# Штурвалу нужны готовая сеть и внешние адреса (для Kubernetes API и Ingress),
# поэтому depends_on стоит на SNAT — последний ресурс цепочки.
# поэтому depends_on стоит на SNAT — последнем ресурсе цепочки.
# =============================================================================
# --- Переменные Штурвала ---
variable "shturval_resource_name" {
type = string
default = "shturval-mgmt-dev"
description = "Имя услуги Штурвал в ЛК"
}
variable "shturval_realm" {
type = string
default = "sandbox.nubes.ru"
description = "Облако (resource_realm), в котором разворачивается Штурвал. Для DEV — sandbox.nubes.ru"
}
variable "shturval_cluster_name" {
type = string
default = "shturval-mgmt-dev-00"
description = "Имя кластера внутри Штурвала"
}
variable "shturval_app_version" {
type = string
default = "2.13.1"
description = "Версия Штурвала: 2.13.1, 2.12.1 или 2.11.0"
}
variable "shturval_cp_sizing_policy" {
type = string
default = "TKG 4CPU 8RAM"
description = "Политика размера control plane, зависит от ресурсной платформы: TKG 4CPU 8RAM | TKG 8CPU 16RAM | TKG 16CPU 32RAM"
}
variable "shturval_cp_sizing_disk" {
type = number
default = 50
description = "Диск control plane, ГБ"
}
variable "shturval_cp_count" {
type = number
default = 1
description = "Количество узлов control plane: 1, 3 или 5"
}
variable "shturval_worker_config" {
type = string
default = "[{\"groupName\":\"workers-shturval-mgmt\",\"sizingPolicy\":\"TKG 4CPU 8RAM\",\"sizingDisk\":50,\"count\":2}]"
description = "Группы воркеров JSON-строкой (groupName, sizingPolicy, sizingDisk, count). После создания не изменяется"
}
variable "shturval_api_need_external" {
type = bool
default = true
description = "Выделить внешний адрес для Kubernetes API"
}
variable "shturval_api_access_ip_list" {
type = string
default = "[]"
description = "Список адресов доступа к Kubernetes API. Пустой массив — доступ всем"
}
variable "shturval_ingress_need_external" {
type = bool
default = true
description = "Выделить внешний адрес для Ingress"
}
variable "shturval_ingress_access_ip_list" {
type = string
default = "[]"
description = "Список адресов доступа к Ingress. Пустой массив — доступ всем"
}
# --- Ресурс Штурвала ---
resource "nubes_vc_mgmt_sthutrval_cluster" "shturval" {
resource_name = var.shturval_resource_name
# Облако и имя кластера. Ресурсная платформа и сетевой провайдер — те же,
# что у vDC (берутся из общих переменных).
# что у vDC (берутся из общих переменных vdc.tf).
startup_configuration = {
resource_realm = var.shturval_realm
cluster_name = var.shturval_cluster_name
-74
View File
@@ -114,77 +114,3 @@ variable "nsxt_second_dns" {
default = "185.247.187.77"
description = "Второй DNS"
}
# --- Штурвал (менеджмент-кластер Kubernetes, сервис 148) ---
variable "shturval_resource_name" {
type = string
default = "shturval-mgmt-dev"
description = "Имя услуги Штурвал в ЛК"
}
variable "shturval_realm" {
type = string
default = "sandbox.nubes.ru"
description = "Облако (resource_realm), в котором разворачивается Штурвал. Для DEV — sandbox.nubes.ru"
}
variable "shturval_cluster_name" {
type = string
default = "shturval-mgmt-dev-00"
description = "Имя кластера внутри Штурвала"
}
variable "shturval_app_version" {
type = string
default = "2.13.1"
description = "Версия Штурвала: 2.13.1, 2.12.1 или 2.11.0"
}
variable "shturval_cp_sizing_policy" {
type = string
default = "TKG 4CPU 8RAM"
description = "Политика размера control plane, зависит от ресурсной платформы: TKG 4CPU 8RAM | TKG 8CPU 16RAM | TKG 16CPU 32RAM"
}
variable "shturval_cp_sizing_disk" {
type = number
default = 50
description = "Диск control plane, ГБ"
}
variable "shturval_cp_count" {
type = number
default = 1
description = "Количество узлов control plane: 1, 3 или 5"
}
variable "shturval_worker_config" {
type = string
default = "[{\"groupName\":\"workers-shturval-mgmt\",\"sizingPolicy\":\"TKG 4CPU 8RAM\",\"sizingDisk\":50,\"count\":2}]"
description = "Группы воркеров JSON-строкой (groupName, sizingPolicy, sizingDisk, count). После создания не изменяется"
}
variable "shturval_api_need_external" {
type = bool
default = true
description = "Выделить внешний адрес для Kubernetes API"
}
variable "shturval_api_access_ip_list" {
type = string
default = "[]"
description = "Список адресов доступа к Kubernetes API. Пустой массив — доступ всем"
}
variable "shturval_ingress_need_external" {
type = bool
default = true
description = "Выделить внешний адрес для Ingress"
}
variable "shturval_ingress_access_ip_list" {
type = string
default = "[]"
description = "Список адресов доступа к Ingress. Пустой массив — доступ всем"
}