mirror of
https://gitea.fenix-dev.com/fenix-gitea-admin/iac-opentofu-private.git
synced 2025-10-27 15:53:06 +00:00
multiple vms
This commit is contained in:
78
proxmox.tf
78
proxmox.tf
@ -86,11 +86,11 @@ resource "proxmox_virtual_environment_vm" "proxmox-kubernetes-VM-template" {
|
||||
}
|
||||
|
||||
# Configuração do disco rígido
|
||||
disk {
|
||||
datastore_id = "local-lvm"
|
||||
interface = "scsi1"
|
||||
size = 64
|
||||
}
|
||||
#disk {
|
||||
# datastore_id = "local-lvm"
|
||||
# interface = "scsi1"
|
||||
# size = 64
|
||||
#}
|
||||
|
||||
disk {
|
||||
datastore_id = "local-lvm"
|
||||
@ -116,14 +116,76 @@ initialization {
|
||||
}
|
||||
|
||||
|
||||
resource "proxmox_virtual_environment_vm" "VM-Kubernetes-01" {
|
||||
resource "proxmox_virtual_environment_vm" "k8s_vms" {
|
||||
for_each = { for vm in var.proxmox_k8s_vms : vm.name => vm }
|
||||
depends_on = [proxmox_virtual_environment_vm.proxmox-kubernetes-VM-template]
|
||||
name = "VM-Kubernetes-01"
|
||||
node_name = "fenix"
|
||||
name = each.value.name
|
||||
node_name = each.value.node_name
|
||||
vm_id = each.value.vm_id
|
||||
|
||||
cpu {
|
||||
cores = each.value.cores
|
||||
}
|
||||
|
||||
memory {
|
||||
dedicated = each.value.memory
|
||||
}
|
||||
|
||||
disk {
|
||||
datastore_id = each.value.datastore
|
||||
size = each.value.disk_size
|
||||
interface = "scsi1"
|
||||
}
|
||||
|
||||
clone {
|
||||
vm_id = proxmox_virtual_environment_vm.proxmox-kubernetes-VM-template.id
|
||||
}
|
||||
|
||||
|
||||
initialization {
|
||||
ip_config {
|
||||
ipv4 {
|
||||
address = each.value.ip
|
||||
gateway = each.value.gateway
|
||||
}
|
||||
}
|
||||
|
||||
user_data = <<EOF
|
||||
#cloud-config
|
||||
package_update: true
|
||||
packages:
|
||||
%{ for pkg in each.value.packages ~}
|
||||
- ${pkg}
|
||||
%{ endfor ~}
|
||||
|
||||
users:
|
||||
%{ if length(each.value.extra_users) > 0 ~}
|
||||
|
||||
%{ for u in each.value.extra_users ~}
|
||||
- name: ${u.name}
|
||||
groups: [${join(", ", u.groups)}]
|
||||
shell: /bin/bash
|
||||
sudo: ALL=(ALL) NOPASSWD:ALL
|
||||
%{ endfor ~}
|
||||
|
||||
chpasswd:
|
||||
list: |
|
||||
%{ for u in each.value.extra_users ~}
|
||||
${u.name}:${u.password}
|
||||
%{ endfor ~}
|
||||
expire: false
|
||||
|
||||
%{ endif ~}
|
||||
runcmd:
|
||||
%{ if length(each.value.extra_runcmd) > 0 ~}
|
||||
%{ for cmd in each.value.extra_runcmd ~}
|
||||
- ${cmd}
|
||||
%{ endfor ~}
|
||||
%{ endif ~}
|
||||
EOF
|
||||
}
|
||||
|
||||
|
||||
agent {
|
||||
enabled = true
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user