Nutanix CE の acli を使用して、コマンドラインから cloud-init を利用してみます。
環境は、前回と同様です。ただし今回は、Image Service のディスク イメージは利用せず、cloud-init インストールずみの VM をクローンすることになります。
準備
Nutanix CE の AHV に、cloud-init をインストールした Linux VM を用意しておきます。
また、CVM には cloud-init の User-Data(の YAML)をテキストファイルとして保存しておきます。
nutanix@NTNX-a768e551-A-CVM:192.168.1.232:~$ cat /home/nutanix/tmp/cloudinit-test-02.txt #cloud-config hostname: cloudinit-test-02 write_files: - path: /opt/test.f content: | cloud-init no test file users: - name: ntnx-user groups: wheel shell: /bin/bash sudo: ['ALL=(ALL) NOPASSWD:ALL'] ssh-authorized-keys: - ssh-rsa AAAAB3NzaC1yc2EA以下略
手順
acli の uhura.vm.clone_with_customize で、cloud-init 用のファイルを指定して VM を作成します。
- VM 名は vm02。
- クローン元 VM「vm-custom-01」には cloud-init インストール済み。
- VM の作成先 ADSF のストレージ コンテナとして st-container-01 を指定。
- cloud-init の User-Data は file:// ~ で CVM に配置したテキストファイルを指定。
nutanix@NTNX-a768e551-A-CVM:192.168.1.232:~$ acli uhura.vm.clone_with_customize vm02 clone_from_vm=vm-custom-01 container=st-container-01 num_vcpus=1 memory=1G cloudinit_userdata_path=file:///home/nutanix/tmp/cloudinit-test-02.txt vm02: pending vm02: complete
作成した VM を起動します。
nutanix@NTNX-a768e551-A-CVM:192.168.1.232:~$ acli vm.on vm02 vm02: pending vm02: complete
VM にわりあてられた IP アドレスを確認しておきます。今回も IP アドレスは Nutanix CE の機能で DHCP 設定しています。
nutanix@NTNX-a768e551-A-CVM:192.168.1.232:~$ acli vm.nic_list vm02 Mac Address IP Address Network UUID Network Name 50:6b:8d:aa:e4:1b 192.168.1.44 860bb903-8d99-4ab1-a941-14d038e3b9d3 vlan.0
クライアント役の Linux から秘密鍵ファイル(id_rsa)を使用して SSH 接続し、テストファイル(/opt/test.f)が作成されたことを確認してみます。
[gowatana@client01 ~]$ ssh -i cert/id_rsa ntnx-user@192.168.1.44 Warning: Permanently added '192.168.1.44' (ECDSA) to the list of known hosts. Last login: Sun May 7 12:34:59 2017 [ntnx-user@cloudinit-test-02 ~]$ cat /opt/test.f cloud-init no test file
おまけ
今回は cloud-init の User-Data のファイルを指定しましたが、uhura の cloudinit_userdata_path で TAB キー候補表示してみると、adsf(Acropolis Distributed Storage Fabric)、file、http、https が指定できるようです。
nutanix@NTNX-a768e551-A-CVM:192.168.1.232:~$ acli <acropolis> <acropolis> uhura.vm.clone_with_customize vm02 cloudinit_userdata_path= adsf:// file:// http:// https://
以上。