您好,登錄后才能下訂單哦!
這篇文章將為大家詳細講解有關怎么用Puppet安裝OpenStack Nova計算云,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。
OpenStack從Rackpace Cloud和NASA的合作中出現,它提供運行在標準化硬件上的云計算服務。現在一個有超過60家公司的社團正在研發它。OpenStack是Apache服務器許可并由許多更小的項目組成,包括Nova計算平臺以及一個大規模可擴展冗余存儲系統Swift。
使用OpenStack的一個方法是使用Puppet并安裝一個OpenStack Nova計算云,這就是我們將在這篇文章中講述的內容。Nova計算組件大體上等效于Amazon EC2的功能。它允許你使用包括AMI鏡像在內的鏡像文件來部署虛擬機以及管理這些已部署的實例。
首先,我們將要構建一個Ubuntu 11.04主機(Ubuntu Natty的ISO文件)。***是選擇一個物理主機而不是一個虛擬機,這不僅是因為性能原因,還因為在一個虛擬化內部進行虛擬化會引起不可預知的結果。如果你想要運行許多不同的鏡像,那么你將需要大量硬盤空間,至少10到20G。
接下來,你需要在主機上安裝Puppet和Git:
$ sudo apt-get install ruby rubygems git $ sudo gem install puppet
Nova需要通過一個PPA或者稱為個人軟件包存檔來完成安裝,它是一個包含Nova計算組件當前開發版本的軟件包儲存庫。這是必需的,因為Nova處在一個過度的研發狀態,同時最近打包的發行版本還不存在。
$ sudo apt-get install -y python-software-properties $ sudo add-apt-repository ppa:nova-core/trunk
接著你需要更新APT儲存庫來獲得新的PPA的詳細信息:
$ sudo apt-get update
此時,使用Git從OpenStack處下載Puppet Lab OpenStack組件。
$ cd ~ && git clone –recurse git://github.com/puppetlabs/puppetlabs-openstack.git
把所下載的組件復制到Puppet組件路徑:
$ sudo cp -R ~/puppetlabs-openstack/modules/* /etc/puppet/
現在你擁有了在主機上安裝Nova所需的所有東西。想要進行實際的安裝,你需要在主機上觸發運行一個本地的Puppet。
$ sudo puppet apply --verbose ~/puppetlabs-openstack/manifests/all.pp
這將會運行all.pp Puppet清單,它將會安裝并配置Nova的所有組件以及其支持包和必備條件。
一旦Puppet已運行完成(它可能會花一些時間,因為它必須下載許多程序包),然后你需要添加一些AMI格式的鏡像。
$ cd /tmp $ mkdir lucid_ami && cd lucid_ami $ wget -q -O - http://173.203.107.207/ubuntu-lucid.tar | tar xSv
這會下載并解壓一個包括我們可以用來創建實例的明晰示例Ubuntu鏡像在內的壓縮文件。然后,你將把這些鏡像文件,包括一個內存盤、一個內核以及一個操作系統鏡像文件,添加到一個稱為Glance的服務中,這個服務是一個用于發現、記錄并檢索鏡像的OpenStack服務。
首先添加內存盤和內核。
$ glance add name=ramdisk disk_format=ari container_format=ari is_public=True < initrd.img-2.6.32-23-server $ glance add name=kernel disk_format=aki container_format=aki is_public=True < vmlinuz-2.6.32-23-server
然后你可以列出已經被添加的鏡像:
$ glance index
發現2個公開的鏡像...
編號 | 名稱 | 磁盤格式 | 容器格式 | 大小 |
2 | kernel | aki | aki | 4099360 |
1 | ramdisk | ari | ari | 7988037 |
你應該看到了你的內存盤鏡像#1以及我們的內核#2。然后你可以連同我們明晰的操作系統鏡像一起使用它們并也把它添加進去:
$ glance add name=lucid_ami disk_format=ami container_format=ami is_public=True ramdisk_id=1 kernel_id=2 < ubuntu-lucid.img
然后再次列出鏡像文件,發現你現在擁有鏡像#3:一個你將其作為一個虛擬實例推出的明晰的Ubuntu AMI。
$ glance index
發現3個公開的鏡像文件...
編號 | 名稱 | 磁盤格式 | 容器格式 | 大小 |
3 | lucid_ami | ami | ami | 524288000 |
2 | kernel | aki | aki | 4099360 |
1 | ramdisk | ari | ari | 7988037 |
你也可以添加其它的多種格式的鏡像到Glance。
接下來,你需要通過運行一些Nova子命令來設置你到Nova的訪問權限和身份驗證,這會產生一個密鑰對,用來驗證我們的Nova實例(類似于使用Amazon AWS的密鑰對)。這些相同的命令還會創建一個Bash腳本,用來設置合適的環境變量來驗證Nova。
$ cd ~ $ sudo nova-manage project zipfile nova novaadmin
現在,你應該擁有了一個包含密鑰對和Bash腳本在內的被稱為nova.zip的壓縮文件,它需要解壓:
$ unzip nova.zip
運行Bash腳本來填充我們的身份認證和環境變量。在你可以通過一個命令行會話與Nova進行交互之前,你需要運行這個腳本,或者把它的運行作為登錄的一部分。
$ source novarc
***,添加你的密鑰對,調用配對的openstack:
$ euca-add-keypair openstack > ~/cert.pem
現在,你可以使用這個密鑰對來運行一個實例了。尋找一個鏡像來運行:
$ nova image-list +----+-----------+--------+ | 編號 | 名稱 | 狀態 | +----+-----------+--------+ | 1 | ramdisk | ACTIVE | | 2 | kernel | ACTIVE | | 3 | lucid_ami | ACTIVE | +----+-----------+--------+
然后尋找這個鏡像的一個特色來運行。特色描述了你將要運行的這個鏡像的大小和類型。在Amazon AWS世界,這是一個小中、大實例間的不同之處。你將會發現該功能與Amazon EC2相似。
$ nova flavor-list +----+-----------+-----------+------+----------+-------+------------+----------+ | ID | Name | Memory_MB | Swap | Local_GB | VCPUs | RXTX_Quota | RXTX_Cap | +----+-----------+-----------+------+----------+-------+------------+----------+ | 1 | m1.tiny | 512 | | 0 | | | | | 2 | m1.small | 2048 | | 20 | | | | | 3 | m1.medium | 4096 | | 40 | | | | | 4 | m1.large | 8192 | | 80 | | | | | 5 | m1.xlarge | 16384 | | 160 | | | | +----+-----------+-----------+------+----------+-------+------------+----------+
在這個例子中,我們將選擇運行一個小特色的ami-00000003鏡像實例,就是你剛剛添加的明晰Ubuntu鏡像,并使用openstack密鑰對:
$ euca-run-instances ami-00000003 -k openstack -t m1.tiny
啟動和配置實例將會花費好幾分鐘的時間,同時你可以使用以下命令來跟蹤它的狀態:
$ euca-describe-instances i-00000001 ami-00000003 11.0.0.2 11.0.0.2 building m1.tiny
這里你可以看到該實例已經啟動并且已為其分配了一個IP地址:11.0.0.2。有了這個IP地址和你的密鑰對,你現在就可以通過SSH連接到這個新的實例。
$ ssh -i ~/cert.pem root@11.0.0.2
當你登錄到這個新的實例以后,你就可以設置它,在它上面部署應用程序以及使用它直到你不再需要它為止(你可以通過euca-terminate-instance命令來終止這個實例)。你也可以生成其它實例并使自己可以運行你自身的開源云。
OpenStack才剛剛起步,同時,包括身份驗證和數據庫服務等在內的許多附加的項目也正在進行中,而且現有的組件每天都在擴展和更新。如果你想要更深層次的了解OpenStack,那么你可以參考一些文檔,或者看看郵件列表,在那里你可以得到幫助或者參與研發。
關于“怎么用Puppet安裝OpenStack Nova計算云”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。