[old]proxmoxでterraform

proxmoxでIaC

IaCって

Infrastructure as Code の略 ⼿動のプロセスや設定の代わりにコードを使⽤し てコンピューティングインフラストラクチャをプ ロビジョニングおよびサポートできること by AWS Wiki

例えば

  • Terraform
  • Ansible
  • Chef
  • 今回はterraformつかってみる

    手順

    Docs overview | Telmate/proxmox | Terraform | Terraform Registryなんと公式ドキュメントがあった。

    Proxmox上のLXCをTerraformで管理する (zenn.dev)

    Terraformをインストール

    wgetとunzipをインストール

    sudo apt update -y
    sudo apt install -y wget unzip

    Terraformのzipファイルをダウンロード、インストール

    https://releases.hashicorp.com/terraform

    いい感じのファイルをダウンロードする

    何となく1.7.5をダウンロードする

    wget https://releases.hashicorp.com/terraform/1.7.5/terraform_1.7.5_linux_amd64.zip
    unzip terraform_1.7.5_linux_amd64.zip

    /usr/local/binにコピー

    sudo cp terraform /usr/local/bin

    確認

    hitto@hitto-note:~$ terraform -v
    Terraform v1.7.5
    on linux_amd64

    おしまい

    terraform の Proxmox ユーザーとロールの作成

    Docs overview | Telmate/proxmox | Terraform | Terraform Registry

    pveum role add TerraformProv -privs "Datastore.AllocateSpace Datastore.Audit Pool.Allocate Sys.Audit Sys.Console Sys.Modify VM.Allocate VM.Audit VM.Clone VM.Config.CDROM VM.Config.Cloudinit VM.Config.CPU VM.Config.Disk VM.Config.HWType VM.Config.Memory VM.Config.Network VM.Config.Options VM.Migrate VM.Monitor VM.PowerMgmt SDN.Use"
    pveum user add terraform-prov@pve --password <password>
    pveum aclmod / -user terraform-prov@pve -role TerraformProv
    pveum user token add terraform-prov@pve provider --privsep=0

    cloud-init テンプレートを作成

    クラウドイメージの取得

    https://cloud-images.ubuntu.com

    ここから選ぶ

    wget https://cloud-images.ubuntu.com/jammy/current/jammy-server-cloudimg-amd64.img -O ubuntu-22.04-server-cloudimg-amd64.img

    テンプレート作成

    qm create 9000 --name ubuntu2204-cloud-img --memory 2048 --net0 virtio,bridge=vmbr0 --agent 1
    qm importdisk 9000 ubuntu-22.04-server-cloudimg-amd64.img local --format qcow2
    qm set 9000 --scsihw virtio-scsi-pci --scsi0 local:9000/vm-9000-disk-0.qcow2
    qm set 9000 --ide2 local:cloudinit
    qm set 9000 --boot c --bootdisk scsi0
    qm template 9000

    正直何がいいかよくわからん

    tf

    $ terraform init
    $ terraform validate
    $ terraform plan
    $ terraform apply

    参考

    Docs overview | Telmate/proxmox | Terraform | Terraform Registry

    https://klag.hatenablog.com/entry/2021/11/11/150050

    https://qiita.com/broccoli07/items/b059487bab0cdc583f26

    https://blog.nishi.network/2020/11/05/proxmox-part3/

    url

    https://cloud-images.ubuntu.com/jammy/current/

    Telmate/proxmox | Terraform Registry

    Docs overview | bpg/proxmox | Terraform | Terraform Registry

    ← Go home