Terraform で Proxmox VE の VM パラメータ設定

前回、Terraform を使って Proxmox VE に VM を作成した。 このとき作成した main.tf は最小限の項目しか設定していなかったので、VM のパラメータを設定するように変更する。 設定項目はドキュメントを参照した。VM のネットデバイスやディスクは個別のブロックで設定するらしい。 terraform { required_providers { proxmox = { source = "telmate/proxmox" version = "~> 2.9.10" } } } provider "proxmox" { pm_api_url = "https://pve1.nnstt1.home:8006/api2/json" } resource "proxmox_vm_qemu" "terraform-test" { name = "terraform-test" target_node = "pve1" iso = "local:iso/Fedora-Server-dvd-x86_64-36-1.5.iso" ### 以下、追加した項目 bios = "ovmf" onboot = true memory = 2048 sockets = 1 cores = 2 cpu = "host" scsihw = "pvscsi" # Disk block disk { type = "scsi" storage = "local-lvm" size = "20G" format = "raw" } # Network block network { model = "vmxnet3" bridge = "vmbr0" } } 名前通りの設定をすればよいので難しい点はなさそう。...

July 31, 2022 · 1 min · @nnstt1

Proxmox VE を管理するため Terraform に入門した

先日構築した Proxmox VE クラスタを IaC で管理したいと思い、重い腰を上げてついに Terraform に入門した。 Terraform はクラウドリソースを管理するのがメインと思っていたけど、幸いにも Proxmox VE にも対応している。 「対応している」よりは「誰かが対応するように Provider というものを作ってくれている」という表現のほうが正しい。 Proxmox VE で VM やコンテナを作るための「Proxmox Provider」というものが公開されている。 Terraform Registry - proxmox 手始めに Proxmox Provider のドキュメントに沿って VM を作成してみる。 Proxmox VE Terraform 用ユーザ/ロールの作成 Proxmox VE に Terraform が利用するユーザとロールを作成する。 クラスタ管理権限を付与することもできるが、必要最低限の権限を割り当てることでセキュリティリスクを低減する。 root@pve1:~# pveum role add TerraformProv -privs "VM.Allocate VM.Clone VM.Config.CDROM VM.Config.CPU VM.Config.Cloudinit VM.Config.Disk VM.Config.HWType VM.Config.Memory VM.Config.Network VM.Config.Options VM.Monitor VM.Audit VM.PowerMgmt Datastore.AllocateSpace Datastore.Audit" root@pve1:~# pveum user add terraform-prov@pve --password <password> root@pve1:~# pveum aclmod / -user terraform-prov@pve -role TerraformProv 作成したロールとユーザを確認する。 表形式で出力されるが見切れてしまっている。...

July 30, 2022 · 5 min · @nnstt1

仮想化基盤の Proxmox VE への移行

自宅ラボの仮想化基盤を VMware ESXi から Proxmox VE に移行した。 動機 自宅ラボでは2台の物理マシンに VMware ESXi をインストールして仮想化基盤を構築しているが、VMUG Advantage 会員になることをケチっていたため vMotion を使えない状態だった。 仮想ホストのメンテナンスをしようと思っても VM の停止を許容するしかなかった。 そんな折、オープンソースの Proxmox VE という仮想化プラットフォームの存在を知った。 Proxmox VE であれば無償で仮想化基盤の HA クラスタを組むことができるとのことで、ESXi から Proxmox VE に切り替えることにした。 AWS SAA の勉強をしないといけない現実から目を逸しているだけ。 Proxmox VE とは Proxmox VE (Virtual Environment) は、Debian ベースの仮想化プラットフォームで、KVM による仮想マシン環境と LXC によるコンテナ環境が提供されるらしい。 KVM も LXC も使ったことがないので実際どんなものかは分からない。 複数の物理マシンを用意すれば無償でクラスタを組むことができる(大事になことなので2度言う)点が VMware 製品とは異なり、個人的に大きなメリットと感じた。 また、試せてはないけど Proxmox VE のストレージとして Ceph を構築できるらしい。 物理マシンがもう1台欲しくなっちゃうけど時期が悪すぎる。 Proxmox VE 導入 ESXi から Proxmox VE に VM を移行する。 手順は Proxmox 公式 Wiki の Migration of servers to Proxmox VE を参考にした。...

July 29, 2022 · 3 min · @nnstt1

仮想化基盤のパーツ購入&構築

先月の投稿で自宅ラボの機器選定をしました。結論を言うと、DeskMini A300 を買いました。 仮想化基盤のハードウェア選定 つよつよエンジニアには「自宅ラボ」という検証環境をお持ちの方が多いようです。 「自宅ラボある⇒つよつよエンジニアになる」ではないですが、自宅ラボあれば勉強する機会が増えるのではということで、自宅ラボ構築を目指します。 「逸般の誤家庭」と呼ばれる常軌を逸した環境(褒め言葉)を構築されている方もいらっしゃるようですが、お財布のほうも常軌を逸してしまいそうなのでコスパ重視で自宅ラボを構築を検討します。 今回は、仮想化基盤用マシンのハードウェア選定をしていきます。ネットワークについては別途検討予定。 目的(なぜ仮想化基盤用のマシンを用意するのか) 自宅でも快適にKubernetesクラスタを検証するためです。 現在は自宅PC(Win10)にVMware Workstation Playerを入れ、その上にESXiを入れてしてネスト仮想化基盤を構築しています。 しかし、PCのスペックがそこまで高くうえにネスト構成にしたためESXiのVMは激重になってしまいました。 当初はOpenShift4を動かしてみるつもりでしたが、インストール作業が終わりませんでした。OpenShiftは要求スペックが高いですね…。 Chapter 1. Installing on bare metal | Red Hat Product Documentation Chapter 1. Installing on bare metal | Red Hat Documentation 代わりにkubeadmでK8sクラスタ(master3台, worker3台)を組んでみたのですが、クラスタできたもののPrometheus-Operatorを入れてみたら無事に死亡しました。 そのようなこともあり、快適にK8sクラスタを動かすことができる自宅ラボを構築することが目的となっています。 機器選定 マザーボードと電源が一体となった「ベアボーン」 or パーツをそれぞれ自分で選ぶ「自作PC」の2通りから考えます。 (ベアボーンも自作PCに含まれると思いますが、適切な表現が不明なので分けて記載します。) 本当はラックサーバが欲しかったのですが、自宅の要件(電力だったり騒音だったり)に合いそうにないため除外しています。また、タワーサーバは中古市場であれば比較的安価なものが出回っているようですが、十分に調べきれていないためこちらも除外しています。 ストレージ ストレージは各候補ともに共通の製品を選択予定です。 パーツ 型番 特徴 価格.comの最安値 ストレージ WD Blue SN550 NVMe WDS500G2B0C m.2 NVMe 8,448 ASRock Deskmini A300 パーツ 型番 特徴 価格.comの最安値 ベアボーン Deskmini A300 NIC(Realtek) 18,673 CPU Ryzen 5 3400G 4コア8スレッド 20,680 メモリ crucial CT8G4SFS8266 [SODIMM DDR4 PC4-21300 8GB] スロット全部使用 15,960(3,990x4) 合計 55,315 ASRock Deskmini 310 パーツ 型番 特徴 価格....

May 18, 2020 · 1 min · @nnstt1

仮想化基盤のハードウェア選定

つよつよエンジニアには「自宅ラボ」という検証環境をお持ちの方が多いようです。 「自宅ラボある⇒つよつよエンジニアになる」ではないですが、自宅ラボあれば勉強する機会が増えるのではということで、自宅ラボ構築を目指します。 「逸般の誤家庭」と呼ばれる常軌を逸した環境(褒め言葉)を構築されている方もいらっしゃるようですが、お財布のほうも常軌を逸してしまいそうなのでコスパ重視で自宅ラボを構築を検討します。 今回は、仮想化基盤用マシンのハードウェア選定をしていきます。ネットワークについては別途検討予定。 目的(なぜ仮想化基盤用のマシンを用意するのか) 自宅でも快適にKubernetesクラスタを検証するためです。 現在は自宅PC(Win10)にVMware Workstation Playerを入れ、その上にESXiを入れてしてネスト仮想化基盤を構築しています。 しかし、PCのスペックがそこまで高くうえにネスト構成にしたためESXiのVMは激重になってしまいました。 当初はOpenShift4を動かしてみるつもりでしたが、インストール作業が終わりませんでした。OpenShiftは要求スペックが高いですね…。 Chapter 1. Installing on bare metal | Red Hat Product Documentation Chapter 1. Installing on bare metal | Red Hat Documentation 代わりにkubeadmでK8sクラスタ(master3台, worker3台)を組んでみたのですが、クラスタできたもののPrometheus-Operatorを入れてみたら無事に死亡しました。 そのようなこともあり、快適にK8sクラスタを動かすことができる自宅ラボを構築することが目的となっています。 機器選定 マザーボードと電源が一体となった「ベアボーン」 or パーツをそれぞれ自分で選ぶ「自作PC」の2通りから考えます。 (ベアボーンも自作PCに含まれると思いますが、適切な表現が不明なので分けて記載します。) 本当はラックサーバが欲しかったのですが、自宅の要件(電力だったり騒音だったり)に合いそうにないため除外しています。また、タワーサーバは中古市場であれば比較的安価なものが出回っているようですが、十分に調べきれていないためこちらも除外しています。 ストレージ ストレージは各候補ともに共通の製品を選択予定です。 パーツ 型番 特徴 価格.comの最安値 ストレージ WD Blue SN550 NVMe WDS500G2B0C m.2 NVMe 8,448 ASRock Deskmini A300 パーツ 型番 特徴 価格.comの最安値 ベアボーン Deskmini A300 NIC(Realtek) 18,673 CPU Ryzen 5 3400G 4コア8スレッド 20,680 メモリ crucial CT8G4SFS8266 [SODIMM DDR4 PC4-21300 8GB] スロット全部使用 15,960(3,990x4) 合計 55,315 ASRock Deskmini 310 パーツ 型番 特徴 価格....

April 5, 2020 · 1 min · @nnstt1