Closed10
OpenTofuとProxmoxを使ってTalos LinuxのK8s クラスタを構築したい

適当に作って壊せるKubernetes環境を作るためにやってみる

使うプロバイダーはTelmate/Proxmoxもあるけど今回はbpg/proxmoxを使ってみる

$ touch provider.tf
$ vim provider.tf
terraform {
required_providers {
proxmox = {
source = "bpg/proxmox"
version = "0.82.1"
}
}
}
provider "proxmox" {
# Configuration options
}

とりあえず公式ドキュメント通りに進めてみる

~/proxmox-tofu main* 2m 51s
❯ cat provider.tf
terraform {
required_providers {
proxmox = {
source = "bpg/proxmox"
version = "0.82.1"
}
}
}
provider "proxmox" {
endpoint = "https://your_proxmox_address:8006/"
username = "root@pam"
password = "your_root_password"
insecure = true
ssh {
agent = true
}
}

x86_64-v2-AESにしたいけどやり方書いてない

cpu {
cores = 2
type = "x86-64-v2-AES"
}

とりあえずテンプレート用main.tfが完成した
resource "proxmox_virtual_environment_vm" "ubuntu_template" {
name = "ubuntu-template"
node_name = "pve-01"
vm_id = 2000
template = true
started = false
machine = "q35"
bios = "seabios"
description = "Managed by Terraform"
cpu {
cores = 4
type = "x86-64-v2-AES"
}
memory {
dedicated = 4096
floating = 2048
}
# メインディスク
disk {
interface = "scsi0"
size = 64
datastore_id = "local-lvm"
}
# ISO ファイルを指定するための CD-ROM
cdrom {
enabled = true
file_id = "local:iso/talos-1.10.7-longhorn.iso"
}
network_device {
bridge = "vmbr0"
}
}

なんかテンプレートのクローンノード間だとできないっぽいから適当にClaudeに書かせた
resource "proxmox_virtual_environment_vm" "home_k8s_template_pve01" {
name = "talos-template"
node_name = "pve-01"
vm_id = 2000
template = true
started = false
machine = "q35"
bios = "seabios"
description = "Managed by Terraform"
tags = ["kubernetes", "testing"]
cpu {
cores = 4
type = "x86-64-v2-AES"
}
memory {
dedicated = 4096
floating = 2048
}
disk {
interface = "scsi0"
size = 64
datastore_id = "local-lvm"
}
cdrom {
file_id = "local:iso/talos-1.10.7-longhorn.iso"
}
network_device {
bridge = "vmbr0"
}
}
resource "proxmox_virtual_environment_vm" "home_k8s_template_pve02" {
name = "talos-template"
node_name = "pve-02"
vm_id = 2001
template = true
started = false
machine = "q35"
bios = "seabios"
description = "Managed by Terraform"
tags = ["kubernetes", "testing"]
cpu {
cores = 4
type = "x86-64-v2-AES"
}
memory {
dedicated = 4096
floating = 2048
}
disk {
interface = "scsi0"
size = 64
datastore_id = "local-lvm"
}
cdrom {
file_id = "local:iso/talos-1.10.7-longhorn.iso"
}
network_device {
bridge = "vmbr0"
}
}

諦め
このスクラップは2日前にクローズされました