====== 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