共計(jì) 4112 個(gè)字符,預(yù)計(jì)需要花費(fèi) 11 分鐘才能閱讀完成。
這篇文章將為大家詳細(xì)講解有關(guān)怎么用 Puppet 安裝 OpenStack Nova 計(jì)算云,丸趣 TV 小編覺得挺實(shí)用的,因此分享給大家做個(gè)參考,希望大家閱讀完這篇文章后可以有所收獲。
OpenStack 從 Rackpace Cloud 和 NASA 的合作中出現(xiàn),它提供運(yùn)行在標(biāo)準(zhǔn)化硬件上的云計(jì)算服務(wù)?,F(xiàn)在一個(gè)有超過 60 家公司的社團(tuán)正在研發(fā)它。OpenStack 是 Apache 服務(wù)器許可并由許多更小的項(xiàng)目組成,包括 Nova 計(jì)算平臺(tái)以及一個(gè)大規(guī)模可擴(kuò)展冗余存儲(chǔ)系統(tǒng) Swift。
使用 OpenStack 的一個(gè)方法是使用 Puppet 并安裝一個(gè) OpenStack Nova 計(jì)算云,這就是我們將在這篇文章中講述的內(nèi)容。Nova 計(jì)算組件大體上等效于 Amazon EC2 的功能。它允許你使用包括 AMI 鏡像在內(nèi)的鏡像文件來部署虛擬機(jī)以及管理這些已部署的實(shí)例。
首先,我們將要構(gòu)建一個(gè) Ubuntu 11.04 主機(jī) (Ubuntu Natty 的 ISO 文件)。*** 是選擇一個(gè)物理主機(jī)而不是一個(gè)虛擬機(jī),這不僅是因?yàn)樾阅茉?,還因?yàn)樵谝粋€(gè)虛擬化內(nèi)部進(jìn)行虛擬化會(huì)引起不可預(yù)知的結(jié)果。如果你想要運(yùn)行許多不同的鏡像,那么你將需要大量硬盤空間,至少 10 到 20G。
接下來,你需要在主機(jī)上安裝 Puppet 和 Git:
$ sudo apt-get install ruby rubygems git
$ sudo gem install puppet
Nova 需要通過一個(gè) PPA 或者稱為個(gè)人軟件包存檔來完成安裝,它是一個(gè)包含 Nova 計(jì)算組件當(dāng)前開發(fā)版本的軟件包儲(chǔ)存庫(kù)。這是必需的,因?yàn)?Nova 處在一個(gè)過度的研發(fā)狀態(tài),同時(shí)最近打包的發(fā)行版本還不存在。
$ sudo apt-get install -y python-software-properties
$ sudo add-apt-repository ppa:nova-core/trunk
接著你需要更新 APT 儲(chǔ)存庫(kù)來獲得新的 PPA 的詳細(xì)信息:
$ sudo apt-get update
此時(shí),使用 Git 從 OpenStack 處下載 Puppet Lab OpenStack 組件。
$ cd ~ git clone ndash;recurse
git://github.com/puppetlabs/puppetlabs-openstack.git
把所下載的組件復(fù)制到 Puppet 組件路徑:
$ sudo cp -R ~/puppetlabs-openstack/modules/* /etc/puppet/
現(xiàn)在你擁有了在主機(jī)上安裝 Nova 所需的所有東西。想要進(jìn)行實(shí)際的安裝,你需要在主機(jī)上觸發(fā)運(yùn)行一個(gè)本地的 Puppet。
$ sudo puppet apply --verbose ~/puppetlabs-openstack/manifests/all.pp
這將會(huì)運(yùn)行 all.pp Puppet 清單,它將會(huì)安裝并配置 Nova 的所有組件以及其支持包和必備條件。
一旦 Puppet 已運(yùn)行完成 (它可能會(huì)花一些時(shí)間,因?yàn)樗仨毾螺d許多程序包),然后你需要添加一些 AMI 格式的鏡像。
$ cd /tmp
$ mkdir lucid_ami cd lucid_ami
$ wget -q -O - http://173.203.107.207/ubuntu-lucid.tar | tar xSv
這會(huì)下載并解壓一個(gè)包括我們可以用來創(chuàng)建實(shí)例的明晰示例 Ubuntu 鏡像在內(nèi)的壓縮文件。然后,你將把這些鏡像文件,包括一個(gè)內(nèi)存盤、一個(gè)內(nèi)核以及一個(gè)操作系統(tǒng)鏡像文件,添加到一個(gè)稱為 Glance 的服務(wù)中,這個(gè)服務(wù)是一個(gè)用于發(fā)現(xiàn)、記錄并檢索鏡像的 OpenStack 服務(wù)。
首先添加內(nèi)存盤和內(nèi)核。
$ 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
然后你可以列出已經(jīng)被添加的鏡像:
$ glance index
發(fā)現(xiàn) 2 個(gè)公開的鏡像 …
編號(hào) 名稱磁盤格式 容器格式大小 2 kernel aki aki 40993601ramdisk ariari 7988037
你應(yīng)該看到了你的內(nèi)存盤鏡像 #1 以及我們的內(nèi)核#2。然后你可以連同我們明晰的操作系統(tǒng)鏡像一起使用它們并也把它添加進(jìn)去:
$ glance add name=lucid_ami disk_format=ami container_format=ami is_public=True ramdisk_id=1 kernel_id=2 ubuntu-lucid.img
然后再次列出鏡像文件,發(fā)現(xiàn)你現(xiàn)在擁有鏡像 #3:一個(gè)你將其作為一個(gè)虛擬實(shí)例推出的明晰的 Ubuntu AMI。
$ glance index
發(fā)現(xiàn) 3 個(gè)公開的鏡像文件 …
編號(hào)名稱 磁盤格式 容器格式大小 3 lucid_amiamiami5242880002kernelakiaki40993601ramdiskari ari 7988037
你也可以添加其它的多種格式的鏡像到 Glance。
接下來,你需要通過運(yùn)行一些 Nova 子命令來設(shè)置你到 Nova 的訪問權(quán)限和身份驗(yàn)證,這會(huì)產(chǎn)生一個(gè)密鑰對(duì),用來驗(yàn)證我們的 Nova 實(shí)例 (類似于使用 Amazon AWS 的密鑰對(duì))。這些相同的命令還會(huì)創(chuàng)建一個(gè) Bash 腳本,用來設(shè)置合適的環(huán)境變量來驗(yàn)證 Nova。
$ cd ~
$ sudo nova-manage project zipfile nova novaadmin
現(xiàn)在,你應(yīng)該擁有了一個(gè)包含密鑰對(duì)和 Bash 腳本在內(nèi)的被稱為 nova.zip 的壓縮文件,它需要解壓:
$ unzip nova.zip
運(yùn)行 Bash 腳本來填充我們的身份認(rèn)證和環(huán)境變量。在你可以通過一個(gè)命令行會(huì)話與 Nova 進(jìn)行交互之前,你需要運(yùn)行這個(gè)腳本,或者把它的運(yùn)行作為登錄的一部分。
$ source novarc
***,添加你的密鑰對(duì),調(diào)用配對(duì)的 openstack:
$ euca-add-keypair openstack ~/cert.pem
現(xiàn)在,你可以使用這個(gè)密鑰對(duì)來運(yùn)行一個(gè)實(shí)例了。尋找一個(gè)鏡像來運(yùn)行:
$ nova image-list
+----+-----------+--------+
| 編號(hào) | 名稱 | 狀態(tài) |
+----+-----------+--------+
| 1 | ramdisk | ACTIVE |
| 2 | kernel | ACTIVE |
| 3 | lucid_ami | ACTIVE |
+----+-----------+--------+
然后尋找這個(gè)鏡像的一個(gè)特色來運(yùn)行。特色描述了你將要運(yùn)行的這個(gè)鏡像的大小和類型。在 Amazon AWS 世界,這是一個(gè)小中、大實(shí)例間的不同之處。你將會(huì)發(fā)現(xiàn)該功能與 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 | | | |
+----+-----------+-----------+------+----------+-------+------------+----------+
在這個(gè)例子中,我們將選擇運(yùn)行一個(gè)小特色的 ami-00000003 鏡像實(shí)例,就是你剛剛添加的明晰 Ubuntu 鏡像,并使用 openstack 密鑰對(duì):
$ euca-run-instances ami-00000003 -k openstack -t m1.tiny
啟動(dòng)和配置實(shí)例將會(huì)花費(fèi)好幾分鐘的時(shí)間,同時(shí)你可以使用以下命令來跟蹤它的狀態(tài):
$ euca-describe-instances
i-00000001 ami-00000003 11.0.0.2 11.0.0.2 building m1.tiny
這里你可以看到該實(shí)例已經(jīng)啟動(dòng)并且已為其分配了一個(gè) IP 地址:11.0.0.2。有了這個(gè) IP 地址和你的密鑰對(duì),你現(xiàn)在就可以通過 SSH 連接到這個(gè)新的實(shí)例。
$ ssh -i ~/cert.pem root@11.0.0.2
當(dāng)你登錄到這個(gè)新的實(shí)例以后,你就可以設(shè)置它,在它上面部署應(yīng)用程序以及使用它直到你不再需要它為止 (你可以通過 euca-terminate-instance 命令來終止這個(gè)實(shí)例)。你也可以生成其它實(shí)例并使自己可以運(yùn)行你自身的開源云。
OpenStack 才剛剛起步,同時(shí),包括身份驗(yàn)證和數(shù)據(jù)庫(kù)服務(wù)等在內(nèi)的許多附加的項(xiàng)目也正在進(jìn)行中,而且現(xiàn)有的組件每天都在擴(kuò)展和更新。如果你想要更深層次的了解 OpenStack,那么你可以參考一些文檔,或者看看郵件列表,在那里你可以得到幫助或者參與研發(fā)。
關(guān)于“怎么用 Puppet 安裝 OpenStack Nova 計(jì)算云”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,使各位可以學(xué)到更多知識(shí),如果覺得文章不錯(cuò),請(qǐng)把它分享出去讓更多的人看到。