讀古今文學網 > OpenStack系統架構設計實戰 > 2.9.3 使用euca2tools工具 >

2.9.3 使用euca2tools工具

euca2tools是一個命令行工具包,封裝了操作雲管理平台的REST接口,用來操作類似於EC2和S3對外提供的REST服務。euca2tools是Eucalyptus提供的操作雲的工具包,模擬AWS的客戶端請求包。由於OpenStack支持AWS接口,所以OpenStack除了可以使用自用的Nova客戶端包外,可以直接拿Eucalyptus的客戶端工具包euca2tools來使用。

1)安裝euca2tools工具包。

apt-get install euca2ools

2)根據用戶身份編寫環境變量文件setenv.sh,該文件可以根據自己的喜好命名,並將其加載到環境中。

root@nova-controller:/var/lib/stackops# cat setenv.sh #!/usr/bin/env bash# Heavily inspired in this: https://github.com/cloudbuilders/devstack/blob/master/openrc# Thanks Vish!#HOST_IP=${HOST_IP:-127.0.0.1}export NOVA_PROJECT_ID=${TENANT:-demo}export NOVA_USERNAME=${USERNAME:-demo}export NOVA_API_KEY=${ADMIN_PASSWORD:-password}export NOVA_URL=${NOVA_URL:-http://$HOST_IP:5000/v2.0/}export NOVA_VERSION=${NOVA_VERSION:-1.1}export NOVA_REGION_NAME=${NOVA_REGION_NAME:-nova}export EC2_URL=${EC2_URL:-http://$HOST_IP:80/services/Cloud}export EC2_ACCESS_KEY=${USERNAME:-demo}export EC2_SECRET_KEY=${ADMIN_PASSWORD:-password}#export NOVACLIENT_DEBUG=1export OS_AUTH_USER=$NOVA_USERNAMEexport OS_AUTH_KEY=$NOVA_API_KEYexport OS_AUTH_TENANT=$NOVA_PROJECT_IDexport OS_AUTH_URL=$NOVA_URLexport OS_AUTH_STRATEGY=$NOVA_AUTH_STRATEGYexport AUTH_TOKEN=`curl -s -d "{\"auth\":{\"passwordCredentials\": {\"username\": \"$NOVA_USERNAME\", \"password\": \"$NOVA_API_KEY\"}}}" -H "Content-type: application/json" http://$HOST_IP:5000/v2.0/tokens | python -c "import sys; import json; tok = json.loads(sys.stdin.read); print tok['access'] ['token']['id'];"root@nova-controller:/var/lib/stackops# source setenv.sh

此後,就可以使用euca2tools提供的命令行工具操作OpenSatck。在調用OpenStack接口申請虛擬機之前,需要有一個AMI虛擬機映像,我們手工創建一個Ubuntu的AMI映像,上載到OpenStack中。