V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
xinmans
V2EX  ›  问与答

有没有办法优雅的实现基于 terraform 在多台 pve 上均匀创建 vm?

  •  
  •   xinmans · 3 天前 · 355 次点击

    看到有 alias ,for_each ,

    有没有办法优雅的实现多台 pve 上均匀创建 vm ?

    比如:terraform 创建 6 台 vm ,分别在 3 台 pve 上,如何优雅实现?有 sample 供参考么?

    3 条回复    2024-12-23 14:23:11 +08:00
    qping
        1
    qping  
       2 天前
    第一次知道 terraform ,看着很棒啊
    qping
        2
    qping  
       2 天前
    看了下动态表达式没有太多支持,问了下 AI 发现支持 locals 和 hash (我没有试过,不确定能不能跑,核心思想是要能写出一个函数来生成 target_node)

    ```
    variable "instance_name" {
    description = "The name of the instance"
    type = string
    }

    locals {
    nodes = ["node1", "node2", "node3"] # 可选择的节点
    node_count = length(local.nodes) # 节点数量

    # 计算实例名称的哈希值并取模
    selected_node = local.nodes[
    abs(hash(var.instance_name)) % local.node_count
    ]
    }

    resource "proxmox_vm_qemu" "example" {
    name = var.instance_name
    target_node = local.selected_node
    # 其他配置...
    }
    ```
    xinmans
        3
    xinmans  
    OP
       2 天前
    如果不是 pve cluster ,target_node 无法指定,只能 provider ,好像不支持动态 provider
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1011 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 21ms · UTC 20:24 · PVG 04:24 · LAX 12:24 · JFK 15:24
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.