實作六: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 |
【流程】
【Step 1:安裝 Eucalyptus API】
- 設定 Eucalyptus API 套件酷庫
$ su - root # tar zxvf euca2ools-1.0-lenny-amd64.tar.gz # cd euca2ools-1.0-lenny-amd64 # echo deb file://${PWD} ./ >> /etc/apt/sources.list [CTRL + D]
- 使用 aptitude install指令安裝 euca2ools
$ sudo aptitude update $ sudo aptitude search euca2ools $ sudo aptitude -y install euca2ools
【Step 2:下載帳戶憑證】
- 使用你的帳戶登入到 Eucalyptus Web 並下載你的憑證 (要用 Euca2ools 控制 Eucalyptus 必須要讓 Eucalyptus 系統信任你,所以需要此憑證)
- 下載至你的家目錄
$ 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 <emi-id> $ euca-describe-instances
- 使用 mykey.private 來登入 VM
$ ssh -i mykey.private root@192.168.1.X # ping ptt.cc CTRL+D
- 關掉 VM
$ euca-describe-instances $ euca-terminate-instances <instance-id> $ euca-describe-instances
【補充:使用 Amazon EC2】
- 操作 EC2,有三種方法可以操作:
- 這邊簡單介紹 API 的使用方法,剛好可以跟 Eucalyptus 做比較
- 系統需安裝好 JAVA 和設定 JAVA_HOME (因 API 使用的 lib 都是 jar 檔)
- 安裝 API
$ wget http://s3.amazonaws.com/ec2-downloads/ec2-api-tools.zip $ unzip ec2-api-tools.zip
- 下載 Amazon 給你的 Security Credentials (下載 X.509 Certificate 和 private key),將這兩個檔案放置 ec2 目錄下
- 設定環境變數
$ cd ec2 $ echo "export EC2_HOME=~/ec2-api-tools-1.3-51254/bin" >> ~/ec2/ec2rc $ echo "export EC2_PRIVATE_KEY=~/ec2/pk-APKAIBFA52PVKFBXMUJA.pe" >> ~/ec2/ec2rc $ echo "export EC2_CERT=~/ec2/cert-M2CNECVUTHTPYJHPZVCTSBQTBF3KWAPW.pem" >> ~/ec2/ec2rc $ echo "export PATH=$PATH:~/ec2-api-tools-1.3-51254/bin" >> ~/ec2/ec2rc $ source ~/ec2/ec2rc
- 測試
$ ec2-version 1.3-51254 2009-11-30 $ ec2-describe-availability-zones AVAILABILITYZONE us-east-1a available us-east-1 AVAILABILITYZONE us-east-1b available us-east-1 AVAILABILITYZONE us-east-1c available us-east-1 AVAILABILITYZONE us-east-1d available us-east-1 $ ec2-describe-regions REGION eu-west-1 ec2.eu-west-1.amazonaws.com REGION us-east-1 ec2.us-east-1.amazonaws.com REGION us-west-1 ec2.us-west-1.amazonaws.com REGION ap-southeast-1 ec2.ap-southeast-1.amazonaws.com $ ec2-describe-images -a $ ec2-describe-images -o amazon $ ec2-add-keypair mykeypair //將畫面顯示的 key 資訊存到 mykeypair.pem $ chmod 600 mykeypair.pem $ ec2-describe-keypairs $ ec2-run-instances ami-225fba4b -k mykeypair RESERVATION r-de50fab5 997070620294 default INSTANCE i-e93ddf83 ami-225fba4b pending mykeypair 0 m1.small 2010-06-23T07:24:01+0000 us-east-1d monitoring-disabled instance-store $ ec2-describe-instances RESERVATION r-de50fab5 997070620294 default INSTANCE i-e93ddf83 ami-225fba4b ec2-204-236-192-34.compute-1.amazonaws.com ip-10-196-215-0.ec2.internal runningmykeypair 0 m1.small 2010-06-23T07:24:01+0000 us-east-1d monitoring-disabled 204.236.192.34 10.196.215.0 instance-store $ ssh -i mykeypair.pem root@ec2-204-236-192-34.compute-1.amazonaws.com $ ec2-terminate-instances i-e93ddf83 INSTANCE i-e93ddf83 running shutting-down
- 其他的功能,有興趣的學員可參考以下連結自行玩玩
【補充:使用 HybridFox】
- 可透過瀏覽器外掛來監控 instances (基於 ElasticFox 1.6 修改而成的)
- [安裝]
# wget http://hybridfox.googlecode.com/files/hybridfox-1.6.000024.xpi
【討論 & 休息】
- 練習再開啟兩個 VM
$ euca-run-instances -k mykey -n 2 <emi-id> $ euca-describe-instances
- 練習關掉全部 VM
$ euca-describe-instances $ euca-terminate-instances <instance-1-id> <instance-2-id> $ euca-describe-instances
Last modified 14 years ago
Last modified on Oct 5, 2010, 11:46:51 AM
Attachments (10)
- down.png (104.5 KB) - added by rock 15 years ago.
- Regions2.png (127.8 KB) - added by rock 15 years ago.
- Login2.png (69.6 KB) - added by rock 15 years ago.
- instances.png (42.2 KB) - added by rock 15 years ago.
- Images.png (45.2 KB) - added by rock 15 years ago.
- Hybridfox.png (206.5 KB) - added by rock 15 years ago.
- Credentials.png (34.1 KB) - added by rock 15 years ago.
- Keys.png (26.6 KB) - added by rock 15 years ago.
- Login.png (87.3 KB) - added by rock 15 years ago.
- Amazon.png (100.2 KB) - added by rock 15 years ago.
Download all attachments as: .zip