VMware Cloud Director の小規模なラボ環境を構築します。今回は、vApp に含まれる仮想マシンの「ゲスト OS のカスタマイズ」の設定を編集して、そこから vApp テンプレートを作成してみます。
前回の vApp をベースとして進めます。
全体の流れはこちら。
今回の内容です。
今回も、下記の赤枠のあたりで作業をすすめます。
1. vApp の編集
今回は、前回作成した vApp「vapp-01」の仮想マシンを編集して、そこから vApp テンプレートを作成します。今回は、仮想マシンの「ゲスト OS のカスタマイズ」で設定を追加してみます。
1-1. vApp の停止
まず、vApp を停止しておきます。
vapp-01 の「停止」をクリックします。
「vApp の停止」の確認画面が表示されるので、「停止」をクリックします。
1-2. vApp の設定変更(vm01)
仮想マシンの「ゲスト OS のカスタマイズ」を設定します。
ドキュメント(下記のあたり)では Linux ゲストには Perl が必要と記載されていますが、今回利用している Photon OS 4.0 の OVA は、デフォルトのままで、ゲスト OS のカスタマイズが機能します。
vm01 では、あらたにデプロイ → 起動する仮想マシンに、下記の処理が実行されるように設定します。
- root パスワードを自動生成する
vm01 の状態が「パワーオフ」になったら、仮想マシンの名前「vm01」をクリックして設定画面を開きます。
vm01 の「ゲスト OS のカスタマイズ」→「編集」をクリックします。
「ゲスト プロパティの編集」画面で、下記を入力してから「保存」をクリックします。
- 全般
- ゲストのカスタマイズを有効化: ON
- パスワードのリセット
- ローカル管理者パスワードを許可: ON
- パスワードを自動生成: ON
1-3. vApp の設定変更(vm02)
vm02 でも「ゲスト OS のカスタマイズ」の設定を変更し、あらたにデプロイ → 起動する仮想マシンに、下記の処理が実行されるように設定します。
- root パスワードを VMware1! にする
- iptables サービスを停止、無効化
vapp-01 にある、仮想マシン「vm02」の状態が「パワーオフ」になっていることを確認し、仮想マシンの名前をクリックして設定画面を開きます。
「ゲスト OS のカスタマイズ」→「編集」をクリックします。
「ゲスト プロパティの編集」画面で、下記を入力します。
- 全般
- ゲストのカスタマイズを有効化: ON
- パスワードのリセット
- ローカル管理者パスワードを許可: ON
- パスワードを自動生成: OFF
- パスワードを指定: VMware1!
- スクリプト
- スクリプト ファイル: (このあとに例を記載)
「スクリプト ファイル」欄には、直接、下記のようにコマンドを入力して、「保存」をクリックします。
systemctl stop iptables systemctl disable iptables
2. vApp テンプレートの作成
「vapp-01」の設定画面を開いて、「すべてのアクション」→「テンプレートの作成」をクリックします。
「カタログへの追加」画面が開くので、下記を入力して「OK」をクリックします。
- カタログ: catalog-01
- 名前: vapp-template-01
- このテンプレートを使用する場合、以下を指定します: 仮想マシン設定をカスタマイズ
これで、vApp テンプレートが作成されました。
vSphere Client から「仮想マシンおよびテンプレート」インベントリを確認すると、テンプレートのもとにした vApp と同様に、フォルダと仮想マシンが作成されています。
「ホストおよびクラスタ」インベントリでは、vApp や vApp テンプレートに含まれる仮想マシンは、まとめて組織 VDC 名(org-vdc-01)のリソース プールに配置されます。
3. vApp の作成
vApp テンプレートから vApp を作成して、実際にゲスト OS の設定が変更されることを確認しておきます。
3-1. vApp テンプレートからの vApp 作成
「ライブラリ」→「コンテンツ ライブラリ」→「vApp テンプレート」を開き、vApp テンプレート「vapp-template-01」を選択してから「VAPP の作成」をクリックします。
「テンプレートからの vApp の作成」画面が表示されるので、名前を入力して「次へ」をクリックします。
- 名前: vapp-02
vApp を作成する組織 VDC を選択して、「次へ」をクリックします。
- VDC: org-vdc-01
「コンピューティング ポリシー」画面では、今回の仮想マシンがもともと小さめのリソース設定になっているので、そのまま「次へ」をクリックします。
「ハードウェアをカスタマイズ」画面も、そのまま「次へ」をクリックします。
「ネットワークの構成」画面は、そのまま「次へ」をクリックします。
「設定内容の確認」が表示されるので、「完了」をクリックします。
vapp-02 が作成されました。名前をクリックすると、vApp の設定画面が開けます。
3-2. vApp の起動確認
vapp-02 で、「開始」をクリックします。
仮想マシンの状態が「パワーオン」になったら、仮想マシン コンソールが開けるようになります。
この vApp のは、「ゲスト OS のカスタマイズ」で root ユーザのパスワードが変更されているはずです。
- vm01: 自動生成
- vm02: VMware1!
vm01 の自動生成された root パスワードを確認しておきます。「vm01」をクリックして、設定画面を開きます。
vm01 の「ゲスト OS のカスタマイズ」→「編集」をクリックします
「ゲスト プロパティの編集」画面の、「パスワードを指定」に表示されているものが root ユーザのパスワードです。
パスワードを確認したら、この画面は「破棄」か「x」ボタンで閉じます。
3-3. ゲスト OS へのログイン確認(vm01)
vm01 の仮想マシン コンソールを開いて、ゲスト OS に下記のアカウントでログインできることを確認しておきます。
- ユーザ: root
- パスワード: 直前の手順で確認した、自動生成されたパスワード
3-4. ゲスト OS へのログイン確認(vm02)
vm02 の仮想マシン コンソールか、vm01 → vm02 の SSH などで、ゲスト OS に下記のアカウントでログインできることを確認しておきます。
- ユーザ: root
- パスワード: VMware1!
vm02 のゲスト OS で iptables のステータスを確認すると、ゲスト OS のカスタマイズで設定したスクリプトの実行により、停止されているはずです。
root@vm02 [ ~ ]# systemctl is-active iptables inactive root@vm02 [ ~ ]# systemctl is-enabled iptables disabled
つづく。