deploy first 3 node to pve
This commit is contained in:
@@ -0,0 +1,91 @@
|
||||
resource "proxmox_virtual_environment_vm" "this" {
|
||||
name = var.name
|
||||
vm_id = var.vm_id
|
||||
node_name = var.node_name
|
||||
pool_id = var.pool_id
|
||||
description = "Managed by Terraform (ceph course)"
|
||||
# Proxmox хранит теги отсортированными, иначе будет вечный diff
|
||||
tags = sort(distinct(var.tags))
|
||||
|
||||
clone {
|
||||
vm_id = var.template_vm_id
|
||||
datastore_id = var.datastore_id
|
||||
full = true
|
||||
}
|
||||
|
||||
# Стенд включаем вручную, не при загрузке хоста
|
||||
on_boot = false
|
||||
stop_on_destroy = true
|
||||
|
||||
agent {
|
||||
enabled = true
|
||||
trim = true
|
||||
wait_for_ip {
|
||||
ipv4 = true
|
||||
}
|
||||
}
|
||||
|
||||
cpu {
|
||||
cores = var.cores
|
||||
type = "host"
|
||||
}
|
||||
|
||||
# Без ballooning: Ceph плохо переносит, когда у него забирают память
|
||||
memory {
|
||||
dedicated = var.memory
|
||||
}
|
||||
|
||||
operating_system {
|
||||
type = "l26"
|
||||
}
|
||||
|
||||
scsi_hardware = "virtio-scsi-single"
|
||||
|
||||
# Системный диск из шаблона, увеличиваем до нужного размера
|
||||
disk {
|
||||
interface = "scsi0"
|
||||
datastore_id = var.datastore_id
|
||||
size = var.os_disk_size
|
||||
discard = "on"
|
||||
iothread = true
|
||||
ssd = true
|
||||
}
|
||||
|
||||
# Пустые диски под OSD. Serial osdN виден в ВМ в `lsblk -o NAME,SERIAL`
|
||||
dynamic "disk" {
|
||||
for_each = range(var.osd_disks)
|
||||
content {
|
||||
interface = "scsi${disk.value + 1}"
|
||||
datastore_id = var.datastore_id
|
||||
size = var.osd_disk_size
|
||||
discard = "on"
|
||||
iothread = true
|
||||
ssd = true
|
||||
serial = "osd${disk.value}"
|
||||
}
|
||||
}
|
||||
|
||||
network_device {
|
||||
bridge = var.bridge
|
||||
}
|
||||
|
||||
initialization {
|
||||
datastore_id = var.datastore_id
|
||||
|
||||
dns {
|
||||
servers = var.dns_servers
|
||||
}
|
||||
|
||||
ip_config {
|
||||
ipv4 {
|
||||
address = var.ipv4_address
|
||||
gateway = var.ipv4_gateway
|
||||
}
|
||||
}
|
||||
|
||||
user_account {
|
||||
username = var.ssh_user
|
||||
keys = var.ssh_public_keys
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user