NTNX>日記

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

Nutanix CE の cloud-init で 2048。(CentOS 7 編)

Nutanix CE の VM で利用できる Custom Script(cloud-init)で、ゲスト OS で 2048 ゲームが利用できる VM を作成してみます。

この投稿は、以前の Advent Calendar での Oracle Linux 7 編の改良版です。

CentOS 7 のイメージ

あらかじめ、Image Service に CentOS 7 のイメージを登録します。今回は下記からダウンロードできる、 cloud-init が既にインストールされている「CentOS-7-x86_64-GenericCloud-1801-01.qcow2」イメージを利用します。

https://cloud.centos.org/centos/7/images/

CentOS-7-x86_64-GenericCloud-1801-01 という名前で Image Service に登録してあります。

f:id:gowatana:20180131071438p:plain

Custom Script で指定する YAML ファイルの内容

今回の cloud-init で利用するスクリプトは下記です。

  • ntnx OS ユーザを作成。パスワードは nutanix/4u で、パスワードなし sudo 可能。
  • EPEL の YUM リポジトリを登録。epel-release の RPM インストールではなく、cloud-init の yum_repos モジュールを利用してみた。
  • EPEL から 2048 ゲーム(2048-cli)をインストール。
  • 2048 をカラーモードで起動するエイリアス(2048 -c)を設定。

gist.github.com

VM の作成

Prism からでも実施できますが、今回も CVM の acli コマンドを利用します。
今回は、コマンドラインを見やすくするためプロンプトを「CVM>」に変更します。

nutanix@NTNX-e33635fe-A-CVM:192.168.1.132:~$ PS1='CVM> '
CVM>

「centos7-2048」という名前の VM を作成します。GitHub(Gist)に配置してある Custom Script をダウンロードしつつ、VM を作成します。

CVM> acli uhura.vm.create_with_customize centos7-2048 container=st-container-01 num_vcpus=1 memory=1G cloudinit_userdata_path=https://gist.githubusercontent.com/gowatana/8482f33178a7ffb4d8fc4e938ca499eb/raw/ntnx-2048-centos7.yml
centos7-2048: pending
centos7-2048: complete

Image Service の CentOS 7 ディスクイメージから、VM に vDisk を追加します。

CVM> acli vm.disk_create centos7-2048 clone_from_image=CentOS-7-x86_64-GenericCloud-1801-01
DiskCreate: pending
DiskCreate: complete

VM に vNIC を追加します。ここで指定している「vlan.0」ネットワークは、あらかじめ作成してあります。このネットワークは DHCP によるネットワーク設定で、インターネットに接続できるようになっています。(EPEL からの yum install のため)

CVM> acli vm.nic_create centos7-2048 network=vlan.0

作成した VM を起動します。

CVM> acli vm.on centos7-2048
centos7-2048: pending
centos7-2048: complete

確認

VM を起動して、cloud-init による自動処理の終了をしばらく待ちます。VM の IP アドレスは、192.168.1.11 が付与されました。

f:id:gowatana:20180131073100p:plain

他の Linux から、作成された centos7-2048(192.168.1.11)に、ntnx ユーザで ssh で接続してみます。

[gowatana@client01 ~]$ ssh -o 'StrictHostKeyChecking no' ntnx@192.168.1.11
Warning: Permanently added '192.168.1.11' (ECDSA) to the list of known hosts.
ntnx@192.168.1.11's password:
[ntnx@localhost ~]$
[ntnx@localhost ~]$ cat /etc/centos-release
CentOS Linux release 7.4.1708 (Core)

cloud-init による設定が反映されています。

[ntnx@localhost ~]$ rpm -q 2048-cli
2048-cli-0.9.1-1.el7.x86_64
[ntnx@localhost ~]$ which 2048
alias 2048='2048 -c'
        /usr/bin/2048

2048 ゲームを起動すると、カラーモードで起動します。

[ntnx@localhost ~]$ 2048

f:id:gowatana:20180131075012p:plain

操作は、vi エディタのカーソル移動とおなじで、h=←、j=↓、k=↑、l=→ です。
「q」で途中終了できます。

前回の Nutanix Community Meetup 23 で、やるならせめて CentOS・・・的なことを言ったので CentOS 7 でも試してみました。

以上。