溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

怎么用Puppet安裝OpenStack Nova計(jì)算云

發(fā)布時(shí)間:2021-10-29 09:59:05 來(lái)源:億速云 閱讀:123 作者:小新 欄目:系統(tǒng)運(yùn)維

這篇文章將為大家詳細(xì)講解有關(guān)怎么用Puppet安裝OpenStack Nova計(jì)算云,小編覺(jué)得挺實(shí)用的,因此分享給大家做個(gè)參考,希望大家閱讀完這篇文章后可以有所收獲。

OpenStack從Rackpace  Cloud和NASA的合作中出現(xiàn),它提供運(yùn)行在標(biāo)準(zhǔn)化硬件上的云計(jì)算服務(wù)。現(xiàn)在一個(gè)有超過(guò)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)的鏡像文件來(lá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。

接下來(lái),你需要在主機(jī)上安裝Puppet和Git:

$ sudo apt-get install ruby rubygems git
$ sudo gem install puppet

Nova需要通過(guò)一個(gè)PPA或者稱為個(gè)人軟件包存檔來(lái)完成安裝,它是一個(gè)包含Nova計(jì)算組件當(dāng)前開(kāi)發(fā)版本的軟件包儲(chǔ)存庫(kù)。這是必需的,因?yàn)镹ova處在一個(gè)過(guò)度的研發(fā)狀態(tài),同時(shí)最近打包的發(fā)行版本還不存在。

$ sudo apt-get install -y python-software-properties
$ sudo add-apt-repository ppa:nova-core/trunk

接著你需要更新APT儲(chǔ)存庫(kù)來(lái)獲得新的PPA的詳細(xì)信息:

$ sudo apt-get update

此時(shí),使用Git從OpenStack處下載Puppet Lab OpenStack組件。

$ cd ~ && git clone –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è)包括我們可以用來(lái)創(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è)公開(kāi)的鏡像...

編號(hào) 名稱磁盤格式  容器格式大小
2 kernel aki aki 4099360
1ramdisk 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è)公開(kāi)的鏡像文件...

編號(hào)名稱 磁盤格式 容器格式大小
3 lucid_amiamiami524288000
2kernelakiaki4099360
1ramdiskari ari 7988037

你也可以添加其它的多種格式的鏡像到Glance。

接下來(lái),你需要通過(guò)運(yùn)行一些Nova子命令來(lái)設(shè)置你到Nova的訪問(wèn)權(quán)限和身份驗(yàn)證,這會(huì)產(chǎn)生一個(gè)密鑰對(duì),用來(lái)驗(yàn)證我們的Nova實(shí)例(類似于使用Amazon  AWS的密鑰對(duì))。這些相同的命令還會(huì)創(chuàng)建一個(gè)Bash腳本,用來(lái)設(shè)置合適的環(huán)境變量來(lái)驗(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腳本來(lái)填充我們的身份認(rèn)證和環(huán)境變量。在你可以通過(guò)一個(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ì)來(lái)運(yùn)行一個(gè)實(shí)例了。尋找一個(gè)鏡像來(lái)運(yùn)行:

$ nova image-list
+----+-----------+--------+
| 編號(hào) | 名稱 | 狀態(tài) |
+----+-----------+--------+
| 1 | ramdisk | ACTIVE |
| 2 | kernel | ACTIVE |
| 3 | lucid_ami | ACTIVE |
+----+-----------+--------+

然后尋找這個(gè)鏡像的一個(gè)特色來(lái)運(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í)你可以使用以下命令來(lái)跟蹤它的狀態(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)在就可以通過(guò)SSH連接到這個(gè)新的實(shí)例。

$ ssh -i ~/cert.pem root@11.0.0.2

當(dāng)你登錄到這個(gè)新的實(shí)例以后,你就可以設(shè)置它,在它上面部署應(yīng)用程序以及使用它直到你不再需要它為止(你可以通過(guò)euca-terminate-instance命令來(lái)終止這個(gè)實(shí)例)。你也可以生成其它實(shí)例并使自己可以運(yùn)行你自身的開(kāi)源云。

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í),如果覺(jué)得文章不錯(cuò),請(qǐng)把它分享出去讓更多的人看到。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI