Исправлено вычисление nodes индекс
This commit is contained in:
parent
533f678ab7
commit
63a2d92f12
12
locals.tf
12
locals.tf
@ -4,6 +4,7 @@ locals {
|
|||||||
nodes = {
|
nodes = {
|
||||||
master1 = {
|
master1 = {
|
||||||
role = "master"
|
role = "master"
|
||||||
|
index = 1
|
||||||
cpu = var.master_cpu
|
cpu = var.master_cpu
|
||||||
memory = var.master_memory
|
memory = var.master_memory
|
||||||
disk = var.master_disk
|
disk = var.master_disk
|
||||||
@ -12,6 +13,7 @@ locals {
|
|||||||
}
|
}
|
||||||
|
|
||||||
worker1 = {
|
worker1 = {
|
||||||
|
index = 1
|
||||||
role = "worker"
|
role = "worker"
|
||||||
cpu = var.worker_cpu
|
cpu = var.worker_cpu
|
||||||
memory = var.worker_memory
|
memory = var.worker_memory
|
||||||
@ -20,16 +22,8 @@ locals {
|
|||||||
ip_offset = var.worker_ip_offset
|
ip_offset = var.worker_ip_offset
|
||||||
}
|
}
|
||||||
|
|
||||||
# worker2 = {
|
|
||||||
# role = "worker"
|
|
||||||
# cpu = var.worker_cpu
|
|
||||||
# memory = var.worker_memory
|
|
||||||
# disk = var.worker_disk
|
|
||||||
# datastore = var.worker_datastore
|
|
||||||
# ip_offset = var.worker_ip_offset
|
|
||||||
# }
|
|
||||||
|
|
||||||
worker3 = {
|
worker3 = {
|
||||||
|
index = 3
|
||||||
role = "worker"
|
role = "worker"
|
||||||
cpu = var.worker_cpu
|
cpu = var.worker_cpu
|
||||||
memory = var.worker_memory
|
memory = var.worker_memory
|
||||||
|
|||||||
@ -1,37 +1,18 @@
|
|||||||
locals {
|
locals {
|
||||||
# ssh-ключ приходит снаружи, файл не читаем
|
|
||||||
ssh_public_key = var.ssh_key
|
ssh_public_key = var.ssh_key
|
||||||
|
nodes = var.nodes
|
||||||
|
|
||||||
# Разделяем ноды по ролям
|
# Разделяем ноды по ролям
|
||||||
masters = {
|
masters = {
|
||||||
for name, node in var.nodes :
|
for name, node in local.nodes :
|
||||||
name => node if node.role == "master"
|
name => node if node.role == "master"
|
||||||
}
|
}
|
||||||
|
|
||||||
workers = {
|
workers = {
|
||||||
for name, node in var.nodes :
|
for name, node in local.nodes :
|
||||||
name => node if node.role == "worker"
|
name => node if node.role == "worker"
|
||||||
}
|
}
|
||||||
|
|
||||||
# Даём каждой ноде индекс внутри своей роли (master1, master2, worker1...)
|
|
||||||
# Индекс определяется по отсортированным именам, чтобы был стабильным.
|
|
||||||
indexed_masters = {
|
|
||||||
for name, node in local.masters :
|
|
||||||
name => merge(node, {
|
|
||||||
index = index(sort(keys(local.masters)), name) + 1
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
indexed_workers = {
|
|
||||||
for name, node in local.workers :
|
|
||||||
name => merge(node, {
|
|
||||||
index = index(sort(keys(local.workers)), name) + 1
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
# Общая карта нод
|
|
||||||
nodes = merge(local.indexed_masters, local.indexed_workers)
|
|
||||||
|
|
||||||
# IP-адреса
|
# IP-адреса
|
||||||
ip_map = {
|
ip_map = {
|
||||||
for name, node in local.nodes :
|
for name, node in local.nodes :
|
||||||
|
|||||||
@ -5,6 +5,7 @@ variable "ssh_key" {
|
|||||||
variable "nodes" {
|
variable "nodes" {
|
||||||
type = map(object({
|
type = map(object({
|
||||||
role = string
|
role = string
|
||||||
|
index = number
|
||||||
cpu = number
|
cpu = number
|
||||||
memory = number
|
memory = number
|
||||||
disk = number
|
disk = number
|
||||||
|
|||||||
1
terraform.tfstate
Normal file
1
terraform.tfstate
Normal file
File diff suppressed because one or more lines are too long
1
terraform.tfstate.backup
Normal file
1
terraform.tfstate.backup
Normal file
File diff suppressed because one or more lines are too long
Loading…
x
Reference in New Issue
Block a user