今回は、Docker Machine の Nutanix ドライバを使用して、AHV に Docker Host VM をデプロイします。
前回はこちら
今回の Nutanix Cluster 環境
1 Node だけの Nutanix Cluster ですが、Nutanix Volume Plug-In のセットアップ時に指定するため、Cluster VIP を設定しておきます。
Volume Plug-in で ABS を利用するので、Data Services IP を設定しておきます。
デフォルトで作成される Nutanix DSF のコンテナの名前が長いので、「cont01」というコンテナを追加作成しておきます。これも、Volume Plug-In セットアップ時に指定することになります。
あと、VM 接続用に「vlan.0」というネットワークが作成済みです。
Docker Machine 用イメージのアップロード
Nutanix Prism の「Image Configuration」から、イメージ ファイルをアップロードします。
「Upload Image」をクリックします。
イメージ名は「container-host-image」にしました。
Image Type は「DISK」を選択します。
「Upload a file」を選択して、イメージ ファイル(~.qcow2)を指定して「Save」します。
イメージ ファイルがアップロードされました。
Docker Machine 環境のセットアップ
docker-machine を実行する想定のクライアントにログインします。今回は、Oracle Linux 7 を使用しています。
[gowatana@vm01 ~]$ cat /etc/oracle-release Oracle Linux Server release 7.2
Docker Machine 関連のファイルは、コマンドのサーチパスが通ているところに配置します。
[gowatana@vm01 ~]$ echo $PATH | tr ":" "\n" /usr/local/bin /bin /usr/bin /usr/local/sbin /usr/sbin /home/gowatana/.local/bin /home/gowatana/bin
今回は「/home/gowatana/bin」に配置します。
[gowatana@vm01 ~]$ mkdir bin [gowatana@vm01 ~]$ cd bin [gowatana@vm01 bin]$ pwd /home/gowatana/bin
Docker Machine をインストール(ダウンロード)て、実行可能にします。
今回は Docker Machine 0.8.2 を使用します。
[gowatana@vm01 bin]$ echo docker-machine-`uname -s`-`uname -m` docker-machine-Linux-x86_64 [gowatana@vm01 bin]$ curl -L https://github.com/docker/machine/releases/download/v0.8.2/docker-machine-`uname -s`-`uname -m` -o docker-machine [gowatana@vm01 bin]$ chmod +x docker-machine [gowatana@vm01 bin]$ docker-machine version docker-machine version 0.8.2, build e18a919
Docker Machine Driver をインストール(ダウンロード)して、実行可能にします。
[gowatana@vm01 bin]$ curl -L http://download.nutanix.com/utils/docker-machine-driver-nutanix.linux -o docker-machine-driver-nutanix [gowatana@vm01 bin]$ chmod +x docker-machine-driver-nutanix
Docker Machine による Docker Host 作成
Docker Host VM を作成します。Ravello 環境だと、40分弱くらいかかります。
docker-machine create コマンドでは、下記を指定しています。
- -d nutanix → Nutanix ドライバを指定します。
- --nutanix-username --nutanix-password → Prism の ユーザ / パスワードです。
- --nutanix-endpoint 10.1.1.12:9440 → Nutanix の Cluster VIP を指定します。
- --nutanix-vm-image container-host-image → アップロードしたイメージを指定します。
- --nutanix-vm-network vlan.0 → Docker Host を接続するネットワークです。あらかじめ Prism から作成しておきます。
- Docker Host に付与するホスト名は「docker-vm-01」です。
[gowatana@vm01 bin]$ docker-machine create -d nutanix --nutanix-username admin --nutanix-password <パスワード> --nutanix-endpoint 10.1.1.12:9440 --nutanix-vm-image container-host-image --nutanix-vm-network vlan.0 docker-vm-01 Running pre-create checks... Creating machine... Waiting for machine to be running, this may take a few minutes... Detecting operating system of created instance... Waiting for SSH to be available... Detecting the provisioner... Provisioning with centos... Copying certs to the local machine directory... Copying certs to the remote machine... Setting Docker configuration on the remote daemon... Checking connection to Docker... Docker is up and running! To see how to connect your Docker Client to the Docker Engine running on this virtual machine, run: docker-machine env docker-vm-01 [gowatana@vm01 bin]$
Docker Host「docker-vm-01」が作成されました。
[gowatana@vm01 bin]$ docker-machine ls NAME ACTIVE DRIVER STATE URL SWARM DOCKER ERRORS docker-vm-01 - nutanix Running tcp://10.1.1.204:2376 v1.12.2
Prism でも、VM が作成されたことが分かります。
特にスペックを指定しなかったので、1 CPU / 1 GB RAM で作成されました。
つづく