Open3
Proxmox & Talos LinuxでKubernetes Clusterを作る
terraform {
required_providers {
proxmox = {
source = "telmate/proxmox"
version = "3.0.1-rc4"
}
}
}
provider "proxmox" {
pm_api_url = "https://192.168.100.5:8006/api2/json"
pm_tls_insecure = true
pm_log_enable = true
pm_log_file = "terraform-plugin-proxmox.log"
pm_debug = true
pm_timeout = 600 # 10 minutes
pm_log_levels = {
_default = "debug"
_capturelog = ""
}
}
resource "proxmox_vm_qemu" "talos-control-plane" {
count = 1
name = "talos-cp-${count.index}"
target_node = "sargas"
vmid = 200 + count.index
cores = 4
memory = 4096
sockets = 1
scsihw = "virtio-scsi-single"
# os_type = "Linux 5.x - 2.6 Kernel"
# qemu_os = "l26"
boot = "order=ide0;ide2;scsi0"
disks {
ide {
ide0 {
cloudinit {
storage = "local-lvm"
}
}
ide2 {
cdrom {
iso = "local:iso/metal-amd64.iso"
}
}
}
scsi {
scsi0 {
disk {
storage = "local-lvm"
size = "100G"
}
}
}
}
network {
model = "virtio"
bridge = "vmbr0"
firewall = true
}
# Activate QEMU agent for this VM
agent = 1
# Cloud-Init configuration
os_type = "cloud-init"
ipconfig0 = "ip=192.168.100.${count.index + 200}/24,gw=192.168.100.1,ip6=dhcp"
skip_ipv6 = true
}
telmate/proxmoxを利用して、VMを作ることができることは確認。
ただ、cloud-initを介して、起動時にIPを指定できなかった。
上記で作成したTerraformの難点
- VMが起動していると設定変更のApplyやDestroyできない
起動時にIP設定ができているかどうかを試したいが、VMを止めないと動かない。VMを止めるのは手動のみ。 - ISOはWeb上からDownloadできるけど、このあたりはTerraformで一括で管理できない
- cloud-initによるIP固定が効かない
こちらの方法だと、上記の問題に当たらないことを確認。