Proxmox VE 5.2でCloud-Initが使えるようになったので使う話
前提条件
- Proxmox VEが5.2以降であること
利用手順
- ベースとなる仮想マシンテンプレートの作成
- クローンして、新しい仮想マシンの動作確認
ベースとなる仮想マシンテンプレートの作成
特に追加のパッケージなどは無いので、そのままベースとなる仮想マシンテンプレートを構成していきます。
PVEの対象ノードにログインして、コマンドラインから設定します。
今回は Ubuntu 18.04 のクラウドイメージを使用します。(CPUとかメモリとかネットワーク設定は環境に合わせてどうぞ)
|
|
ここまでは普通の仮想マシンの設定なので、更にCloud-initデバイスの追加、起動順位の変更、シリアルコンソールの追加をして、テンプレートとして登録します。
|
|
- Cloud-Initの初期化の際に、シリアルポートが必要になるのでシリアルポート設定をしていますが、
Proxmox VEではシリアルポートが設定されていると仮想ホスト間を移動できないという問題があるため、
一度デプロイしたのちに停止してシリアルインターフェースを削除して再度起動すると言う手順が必要です。
クローンして、新しい仮想マシンの動作確認
これはGUIを使ってやってみましょう。
まず、テンプレートのCloud-Initを確認します。(これはテンプレートなので、とりあえず設定は空です。もちろん、デフォルトのユーザー名やDNSサーバを設定することも可能です)
テンプレートを右クリックしてCloneを選択。
とりあえずFull Cloneにします。(僕は良くテンプレートを更新するので)
出来上がった仮想マシンのCloud-Initの設定を、下図のようにします。(IPアドレスを起動前に設定できるのが嬉しいところですよね)
起動して少し待つと、Cloud-Initの処理が終わってログインできるようになります。(古いイメージを使うとapt upgradeとかで結構時間を使うかも)
作ったばかりの仮想マシンにsshでアクセスしてみます。
はい、オッケーです。
クローンして、新しい仮想マシンの動作確認(コマンドラインの場合)
まぁ簡単にやるならこうですよね。(Linked Cloneの場合)
|
|
- 公開鍵は
cp \~/.ssh/id_rsa.pub /tmp/example_id_rsa.pub
されていると思ってください。 - このままだとテンプレートのディスクサイズで起動してきてしまうので qm start する前にスケールを設定する必要があります
- 例えば
qm resize 1999 scsi0 16G
みたいにね。
- 例えば
ユーザー名や公開鍵など、自分で使うならほとんど変わらない設定は、テンプレートを作った時に登録しておくともっと楽ですね。
このコマンドを普段使ってるPCからワンライナーで放り込めるようにしておくことで、そこそこ楽になるですよ。
Full Cloneの場合は --full
オプションを追加します。その場合はクローン先のストレージを選択する必要がありますので、以下のような感じでしょうか。
|
|
おまけ(CentOS-7-1808の場合)
CentOS 7の場合も同様ですが、どうせなのでフルセットコマンドをペタリしておきます。 :
|
|
おしまい
Proxmox VEのような自分で雑に立てて使える仮想ホストでもCloud-Initが使えると、作業がグッと楽になりますので、是非使っていきましょう。
終わり。