suzukaの軌跡

知識や感情が入り混じる一つの宇宙

Proxmoxを導入した

Proxmoxとは:

Proxmox VE (仮想化プラットフォーム) - Wikipedia

Proxmox VE (Proxmox Virtual Environment, PVE)はDebianベースのオープンソース仮想化プラットフォームの操作と管理のためのWebインターフェースを持つ仮想アプライアンスである。

ESXiやOpenstackのような仮想VM管理基盤である。

VM基盤を導入しようとしたきっかけ

これまでIntel NUC1台(8Thread/32GB)にUbuntu22.04を導入し、宅内DNSサーバーやSingle node k8sをkubeadmで構築し、様々な遊びをしていた。

k8sはアプリケーションを乗せるために構築するというよりは、様々なCNIを検証したり構築ノウハウを貯めたりと、破壊と創造を繰り返していた。

破壊する際にOSを入れ直すことも多くなり、実機ベースで検証するのにそろそろ限界を感じていたため、仮想マシン技術を用いて破壊と創造の容易性を向上させたくなった。

また、k8sのワークロードを最大化させるためには複数Nodeでクラスタリングを行う必要があるため、シングルノードk8sでは個人的な限界が来ていたため、VMを並べてk8sクラスタを複数nodeで運用したいと考えるようになった。

libvirtを試す

仮想マシンを最速で動かすために必要なものはlibvirtである。 Ubuntu22.04を使用していたため、 apt install -y qemu qemu-kvm libvirt-daemon libvirt-clients bridge-utils virt-manager を叩けばVM基盤の完成である。(細かいネットワークの設定とかはここでは省きあmす)

以降は virsh を利用し、.qcow2イメージを使いVMを量産するだけで大量のサーバーを用意することができた。

cloudimgを使い、cloud-initを用意し、仮想マシンのインストールを容易にするなどをしていたが、マシンの管理コストが高く感じたため、何かしらアプライアンスを入れたいモチベーションが生まれたため、Proxmoxを導入することとした。

Proxmoxとの出会い

持っている知識の中で、仮想VM基盤として有名なのはESXiやOpenstackだった。どちらも導入やその後の管理コストが決して低くなく、また個人で扱うにはオーバースペックだと感じていたため、導入にためらいがあった。(最近だと企業の政治的な理由などもありなかなか触れづらい部分もあった)

個人でVM基盤を持っている人たちの記事を調べていたところ、Proxmoxを用いた導入記事を多数見つけ、導入の手軽さや管理コストの削減、個人的にほしいと感じた機能だけが実装されたスマートな管理UIに惹かれ、導入を決意。

Proxmox Virtual Environment - Open-Source Server Virtualization Platform に行き、installerとなるisoをダウンロードし、https://rufus.ie/ja/を用いてUSBフラッシュメモリに焼き、bootするだけ。

boot後は非常に簡単なUIに従い、インストールを進める。 https://qiita.com/bashaway/items/8fb7195bd3601dcf7162とかを参考にインストールを実施し、enterpriseなRepositoryをnon-Subscriptionに切り替えたらインストールは完了。

UIでポチポチするだけでVMを用意することができとてもHappy。

VMやLXCコンテナなどを量産し、必要なときに必要な検証環境を用意することができた。

導入後の感想

VMを作成する際にsshしなくてよくなったのは体験としてとても大きく、また複数の実機でクラスタリングしたいとなった場合もUIから設定を投げるだけで良くなったため、管理コストが大きく削減できた。

お一人様環境なため権限も深く考える必要がなく、導入規模に比べてシンプルにVM基盤が運用できていると言えるだろう。