[[PageOutline]] {{{ #!html

實作六:Eucalyptus 管理介面和 Euca2ools 操作

}}} = 【前言】 = * 必須已完成'''實作五''' (安裝好 Eucalyptus 和 啟動成功) * 我們使用 Eucalyptus 的 '''API''' 來控制 Eucalyptus (Eucalyptus 提供的 API 為 Euca2ools) * __'''指令說明:'''__ || '''euca-describe-availability-zones verbose''' || 察看可用的資源 || || '''euca-describe-instances''' || 察看目前正在執行的 VM || || '''euca-bundle-image''' || 打包好將要上傳的檔案 || || '''euca-upload-bundle''' || 上傳到檔案 Eucalyptus|| || '''euca-register''' || 註冊上傳的檔案 || || '''euca-describe-images''' || 察看可用的 images || ---- = 【流程】 = {{{ #!graphviz digraph finite_state_machine { rankdir=LR; ranksep=0.3; size="11,8"; node[shape=box,width=3.0]; "4.使用 Euca2ools 上傳 Kernel / Ramdisk / FS Image" -> "5.開啟 VM"; "1.新增 Eucalyptus API 套件庫" -> "2.下載帳戶憑證" -> "3.使用 Euca2ools 來操作 Eucalyptus"; } }}} ---- = 【Step 1:安裝 Eucalyptus API】 = * 使用 '''__aptitude install__'''指令安裝 euca2ools {{{ $ sudo aptitude update $ sudo aptitude -y install euca2ools }}} ---- = 【Step 2:下載帳戶憑證】 = * 使用你的帳戶登入到 Eucalyptus Web 並下載你的憑證 (要用 Euca2ools 控制 Eucalyptus 必須要讓 Eucalyptus 系統信任你,所以需要此憑證) * 下載至你的家目錄 [[Image(down.png,width=800)]] {{{ $ cd $ mkdir euca $ mv euca2-admin-x509.zip euca/ $ cd euca $ unzip euca2-admin-x509.zip }}} * 解開壓縮檔後,它有4個檔案,當中的 eucarc 是每次你要使用 Euca2ools 必須先 source 它 (他會幫設定好環境變數和認証Key) {{{ $ cat eucarc $ source eucarc }}} ---- = 【Step 3:使用 Euca2ools 來操作 Eucalyptus】 = * 使用 Euca2ools 提供的 '''__ecca-describe-availability-zones__''' 指令察看可用的資源 {{{ $ euca-describe-availability-zones verbose }}} * 使用 Euca2ools 提供的 '''__euca-describe-instances__''' 指令察看目前正在執行的 VM {{{ $ euca-describe-instances }}} ---- = 【Step 4:使用 Euca2ools 上傳 Kernel / Ramdisk / FS Image】 = * 目前 Eucalyptus 系統上並無 Kernel、Ramdisk 和 FS Image,所以我們使用官方提供的 Image (上傳需要用到三個指令) * '''__euca-bundle-image__''' - 打包好將要上傳的檔案 * '''__euca-upload-bundle__''' - 上傳到 Eucalyptus * '''__euca-register__''' - 註冊上傳的檔案 * 上傳 Kernel {{{ $ euca-bundle-image -i /boot/vmlinuz-2.6.26-2-xen-amd64 --kernel true $ euca-upload-bundle -b kernel -m /tmp/vmlinuz-2.6.26-2-xen-amd64.manifest.xml $ euca-register kernel/vmlinuz-2.6.26-2-xen-amd64.manifest.xml }}} * 上傳 Ramdisk {{{ $ euca-bundle-image -i /boot/initrd.img-2.6.26-2-xen-amd64 --ramdisk true $ euca-upload-bundle -b ramdisks -m /tmp/initrd.img-2.6.26-2-xen-amd64.manifest.xml $ euca-register ramdisks/initrd.img-2.6.26-2-xen-amd64.manifest.xml }}} * 上傳 FS Image {{{ $ cd $ scp clouder@192.168.1.254:euca-debian-5.0-x86_64.tar.gz . $ tar zxvf euca-debian-5.0-x86_64.tar.gz $ cd euca-debian-5.0-x86_64/ $ euca-bundle-image -i debian.5-0.x86-64.img $ euca-upload-bundle -b images -m /tmp/debian.5-0.x86-64.img.manifest.xml $ euca-register images/debian.5-0.x86-64.img.manifest.xml }}} * 察看上傳的檔案 * https://localhost:8443/#images * 使用 '''__euca-describe-images__''' 指令 {{{ $ euca-describe-images }}} ---- = 【Step 5: 開啟 VM】 = * 產生 VM 前必須先拿到登入的 key,開啟之後才能順利的使用此 private key 來登入 VM {{{ $ cd ~/euca $ euca-describe-keypairs $ euca-add-keypair mykey >mykey.private $ chmod 0600 mykey.private }}} * 使用此 mykey 來產生一個 VM {{{ $ euca-describe-images $ euca-run-instances -k mykey -n 1 $ euca-describe-instances }}} * 使用 mykey.private 來登入 VM {{{ $ ssh -i mykey.private root@192.168.100.X # ping ptt.cc CTRL+D }}} * 關掉 VM {{{ $ euca-describe-instances $ euca-terminate-instances $ euca-describe-instances }}} ---- = 【補充:使用 !HybridFox】 = * 可透過瀏覽器外掛來監控 instances (基於 !ElasticFox 1.6 修改而成的) * [安裝] {{{ # wget http://hybridfox.googlecode.com/files/hybridfox-1.6.000024.xpi }}} * 打開 firefox -> 工具 -> 附加元件 -> 安裝附加元件[[BR]][[Image(Hybridfox.png)]] * [設定] * 設定 Regions (可參考 eucarc 檔案的資訊)[[BR]][[Image(Regions2.png)]] * 設定 credentials (可參考 eucarc 檔案的資訊)[[BR]][[Image(Credentials.png)]] * [使用] * 目前功能還無法支援開啟 instance,但可以透過其看到目前正在執行的 VM,並對其進行關機和登入的操作[[BR]][[Image(instances.png)]] * 察看 Images[[BR]][[Image(Images.png)]] * 察看 Key Pairs[[BR]][[Image(Keys.png)]] * [登入 Instances] * 登入時要給予 private key[[BR]][[Image(Login.png)]][[BR]][[Image(Login2.png)]] * [Reference] * [http://code.google.com/p/hybridfox/ 官網] * [http://architects.dzone.com/news/hybridfox-elasticfox Using Hybridfox with Eucalyptus] * [http://yogeshg1987.in/blog/2010/06/using-hybridfox-with-eucalyptus/ Hybridfox: Elasticfox for Eucalyptus] * [http://trac.nchc.org.tw/grid/wiki/Eucalyptus/HybirdFox 參考連結] ---- = 【討論 & 休息】 = * 練習再開啟兩個 VM {{{ $ euca-run-instances -k mykey -n 2 $ euca-describe-instances }}} * 練習關掉全部 VM {{{ $ euca-describe-instances $ euca-terminate-instances $ euca-describe-instances }}} [[BR]] [[BR]]