読者です 読者をやめる 読者になる 読者になる

NTNX>日記

個人的な趣味による Nutanix Community Edition 日記。Japanese のみですみません。

Nutanix CE で Linux ゲストを cloud-init 自動セットアップ。(acli 編)

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以下略

nutanix@NTNX-a768e551-A-CVM:192.168.1.232:~$

手順

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
[ntnx-user@cloudinit-test-02 ~]$ 

おまけ

今回は 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://

以上。