====== knife-xenserverとxenserver-autometerでVMを一気に構築してみる ======
===== やりたいこと =====
* コマンド一発でXenのテンプレートからVMを作成する(([[serverapps:configmgmt:xen-knife_autometer|]]))
* で、IPとかホストネームも指定する(([[serverapps:configmgmt:chef:knife|]]))
まだできていないが…
* アプリケーションもインストールする((chef))
* テストする((serverspec))
===== 用意するもの =====
* XenServerのテンプレート
* [[os:xenserver:automater|xenserver-automater]]をインストール
* chef clientをインストール
* chef workstation
* knife-xenserverをインストール
* chef server
==== そのほかに必要な情報 ====
* XenServer-Dom0のHostname:xendom0
* XenServer-Dom0のrootパスワード:Passw0rd$
* chef workstationのHostname:chefwrk
* chef workstationのchefユーザ:user001
* 作成する新しいVMのHost名: vm001
* 作成する新しいVMのDomain: example.com
* 作成する新しいVMのIP: 192.168.0.100
* 作成する新しいVMのGW: 192.168.0.1
* 作成する新しいVMのDNS: 192.168.0.11
* 作成する新しいVMのNetmask: 255.255.255.0
===== xenserver-autometerを仕込んであるXenのテンプレート =====
CentOSなどのLinuxは[[os:xenserver:automater|xenserver-automater]]を参照して作成します\\
FreeBSDの場合には[[os:xenserver:automater:xenauto-freebsd|FreeBSDにxenserver-automatorを移植する]]を参照して作成します\\
作成したテンプレートの名前とUUIDを用意しておきます\\
ここでは、以下のものとします\\
Template: tpl001
UUID: 53452a7b-4e10-403d-9ed5-042382b9e59d
===== chef workstation =====
[[serverapps:configmgmt:chef:chefworkstation|Chef Workstation]]を参照してWorkstationを作成します
Workstationに[[serverapps:configmgmt:chef:knife|knife-xenserver]]を参照してknife-xenserverをインストール
knife-xenserverでは、XenServer-Dom0の情報を~/.chef/knife.rbに記述しましたが、今回は記述せずに進めます。
===== VMの作成 =====
chef workstationにchefユーザでLoginします
[root@chefwrk ~]# su - user001
[user001@chefwrk ~]$
knife xenserverでVMを作成します\\
–keep-template-networksオプションがないとテンプレートからネットワークインタフェースを引き継がないので注意してください。
chefを動かすために作成したVMにLoginするためrootパスワードを聞いてきますので、いやな場合は–ssh-password オプションで新vmのrootパスワードを指定します。
[user001@chefwrk ~]$ knife xenserver vm create --vm-template 53452a7b-4e10-403d-9ed5-042382b9e59d
--vm-name vm001
--xenserver-host xendom0 --xenserver-password Passw0rd$
--vm-ip 192.168.0.100 --vm-netmask 255.255.255.0
--vm-gateway 192.168.0.1 --vm-dns 192.168.0.11 --vm-domain example.com
--keep-template-networks
Connecting to XenServer host xendom0...
Creating VM vm001...
Using template tpl001 [uuid: 53452a7b-4e10-403d-9ed5-042382b9e59d]...
Adding attributes to xenstore...
VM Name: vm001
VM Memory: 512 MB
Waiting server...
Trying to SSH to 192.168.0.100... .. done
Bootstrapping Chef on 192.168.0.100
Failed to authenticate root - trying password auth
Enter your password:
<以下略…>
chefサーバに登録されているか確認
[user001@chefwrk ~]$ knife node list
vm001
[user001@chefwrk ~]$ knife client list
vm001
chef-validator
chef-webui