如何在OpenStack中從命令行創(chuàng)建可用區(qū)?
譯文【51CTO.com快譯】在OpenStack術(shù)語(yǔ)中,可用區(qū)(AZ)的定義是計(jì)算(Nova)、塊存儲(chǔ)(cinder)和網(wǎng)絡(luò)服務(wù)(neutron)的邏輯分區(qū)。需要可用區(qū)來(lái)隔離生產(chǎn)環(huán)境和非生產(chǎn)環(huán)境等環(huán)境的工作負(fù)載。
假設(shè)OpenStack中一個(gè)租戶想要在生產(chǎn)環(huán)境和非生產(chǎn)環(huán)境中部署虛擬機(jī),于是想在Openstack中創(chuàng)建這種類型的架構(gòu),我們先要確定哪些計(jì)算將被視為生產(chǎn)環(huán)境和非生產(chǎn)環(huán)境,然后我們要?jiǎng)?chuàng)建主機(jī)聚合組(host-aggregate group),我們會(huì)將計(jì)算添加到主機(jī)聚合組,然后我們將該主機(jī)聚合組映射到可用區(qū)。
我們?cè)诒窘坛讨袑⒀菔救绾瓮ㄟ^(guò)命令行在Openstack中創(chuàng)建和使用計(jì)算可用區(qū)。
創(chuàng)建計(jì)算可用區(qū)
無(wú)論何時(shí)部署OpenStack,Nova都是自動(dòng)創(chuàng)建的默認(rèn)可用區(qū)(AZ),所有計(jì)算節(jié)點(diǎn)都屬于Nova AZ。從控制器節(jié)點(diǎn)運(yùn)行以下Openstack命令,列出可用區(qū):
- ~# source openrc
- ~# openstack availability zone list
- +-----------+-------------+
- | Zone Name | Zone Status |
- +-----------+-------------+
- | internal | available |
- | nova | available |
- | nova | available |
- | nova | available |
- +-----------+-------------+
- ~#
想列出計(jì)算的可用區(qū),運(yùn)行以下Openstack命令:
- ~# openstack availability zone list --compute
- +-----------+-------------+
- | Zone Name | Zone Status |
- +-----------+-------------+
- | internal | available |
- | nova | available |
- +-----------+-------------+
- ~#
想列出映射到Nova可用區(qū)的所有計(jì)算節(jié)點(diǎn),執(zhí)行以下命令:
- ~# openstack host list | grep -E "Zone|nova"
- | Host Name | Service | Zone |
- | compute-0-1 | compute | nova |
- | compute-0-2 | compute | nova |
- | compute-0-4 | compute | nova |
- | compute-0-3 | compute | nova |
- | compute-0-8 | compute | nova |
- | compute-0-6 | compute | nova |
- | compute-0-9 | compute | nova |
- | compute-0-5 | compute | nova |
- | compute-0-7 | compute | nova |
- ~#
不妨創(chuàng)建兩個(gè)主機(jī)聚合組,名為production和non-production,將計(jì)算4、5和6添加到production主機(jī)聚合組,將計(jì)算7、8和9添加到non-production主機(jī)聚合組。
使用以下OpenStack命令,創(chuàng)建Production和Non-Production主機(jī)聚合:
- ~# openstack aggregate create production
- +-------------------+----------------------------+
- | Field | Value |
- +-------------------+----------------------------+
- | availability_zone | None |
- | created_at | 2019-08-17T03:02:41.561259 |
- | deleted | False |
- | deleted_at | None |
- | id | 7 |
- | name | production |
- | updated_at | None |
- +-------------------+----------------------------+
- ~# openstack aggregate create non-production
- +-------------------+----------------------------+
- | Field | Value |
- +-------------------+----------------------------+
- | availability_zone | None |
- | created_at | 2019-08-17T03:02:53.806713 |
- | deleted | False |
- | deleted_at | None |
- | id | 10 |
- | name | non-production |
- | updated_at | None |
- +-------------------+----------------------------+
- ~#
現(xiàn)在創(chuàng)建可用區(qū),并將它與各自的主機(jī)聚合組關(guān)聯(lián)起來(lái)。
語(yǔ)法:
- # openstack aggregate set –zone <az_name> <host_aggregate_name>
- ~# openstack aggregate set --zone production-az production
- ~# openstack aggregate set --zone non-production-az non-production
最后,將計(jì)算主機(jī)添加到主機(jī)聚合群。
語(yǔ)法:
- # openstack aggregate add host
- ~# openstack aggregate add host production compute-0-4
- ~# openstack aggregate add host production compute-0-5
- ~# openstack aggregate add host production compute-0-6
同樣,將計(jì)算主機(jī)添加到non-production主機(jī)聚合組:
- ~# openstack aggregate add host non-production compute-0-7
- ~# openstack aggregate add host non-production compute-0-8
- ~# openstack aggregate add host non-production compute-0-9
執(zhí)行以下Openstack命令,驗(yàn)證主機(jī)聚合組及其可用區(qū):
- ~# openstack aggregate list
- +----+----------------+-------------------+
- | ID | Name | Availability Zone |
- +----+----------------+-------------------+
- | 7 | production | production-az |
- | 10 | non-production | non-production-az |
- +----+----------------+-------------------+
- ~#
運(yùn)行以下命令,列出與AZ和主機(jī)聚合組有關(guān)的計(jì)算:
- ~# openstack aggregate show production
- +-------------------+--------------------------------------------+
- | Field | Value |
- +-------------------+--------------------------------------------+
- | availability_zone | production-az |
- | created_at | 2019-08-17T03:02:42.000000 |
- | deleted | False |
- | deleted_at | None |
- | hosts | [u'compute-0-4', u'compute-0-5', u'compute-0-6'] |
- | id | 7 |
- | name | production |
- | properties | |
- | updated_at | None |
- +-------------------+--------------------------------------------+
- ~# openstack aggregate show non-production
- +-------------------+---------------------------------------------+
- | Field | Value |
- +-------------------+---------------------------------------------+
- | availability_zone | non-production-az |
- | created_at | 2019-08-17T03:02:54.000000 |
- | deleted | False |
- | deleted_at | None |
- | hosts | [u'compute-0-7', u'compute-0-8', u'compute-0-9'] |
- | id | 10 |
- | name | non-production |
- | properties | |
- | updated_at | None |
- +-------------------+---------------------------------------------+
- ~#
上述命令的輸出證實(shí):我們已成功地創(chuàng)建了主機(jī)聚合組和可用區(qū)。
在可用區(qū)內(nèi)啟動(dòng)虛擬機(jī)
現(xiàn)在不妨在這兩個(gè)可用區(qū)內(nèi)創(chuàng)建兩個(gè)虛擬機(jī);想在某個(gè)特定的可用區(qū)內(nèi)創(chuàng)建虛擬機(jī),運(yùn)行以下命令:
語(yǔ)法:
- # openstack server create –flavor –image –nic net-id= –security-group –key-name –availability-zone
例子如下所示:
- ~# openstack server create --flavor m1.small --image Cirros --nic net-id=37b9ab9a-f198-4db1-a5d6-5789b05bfb4c --security-group f8dda7c3-f7c3-423b-923a-2b21fe0bbf3c --key-name mykey --availability-zone production-az test-vm-prod-az
運(yùn)行以下命令以驗(yàn)證虛擬機(jī)的細(xì)節(jié):
- ~# openstack server show test-vm-prod-az
想在可用區(qū)下某個(gè)特定的計(jì)算節(jié)點(diǎn)內(nèi)創(chuàng)建虛擬機(jī),運(yùn)行以下命令:
語(yǔ)法:
- # openstack server create –flavor –image –nic net-id= –security-group –key-name {Keypair-Name} –availability-zone :
假設(shè)我們想在特定計(jì)算(compute-0-6)上的生產(chǎn)可用區(qū)下啟用虛擬機(jī),為了執(zhí)行這項(xiàng)操作,運(yùn)行以下命令:
- ~# openstack server create --flavor m1.small --image Cirros --nic net-id=37b9ab9a-f198-4db1-a5d6-5789b05bfb4c --security-group f8dda7c3-f7c3-423b-923a-2b21fe0bbf3c --key-name mykey --availability-zone production-az:compute-0-6 test-vm-prod-az-host
執(zhí)行以下命令以驗(yàn)證虛擬機(jī)的細(xì)節(jié):
- ~# openstack server show test-vm-prod-az-host
上述命令的輸出會(huì)類似如下:
同樣,我們可以在非生產(chǎn)可用區(qū)內(nèi)創(chuàng)建虛擬機(jī),例子如下所示:
- ~# openstack server create --flavor m1.small --image Cirros --nic net-id=37b9ab9a-f198-4db1-a5d6-5789b05bfb4c --security-group f8dda7c3-f7c3-423b-923a-2b21fe0bbf3c --key-name mykey --availability-zone non-production-az vm-nonprod-az
使用以下命令以驗(yàn)證虛擬機(jī)的細(xì)節(jié):
- ~# openstack server show vm-nonprod-az
上述命令的輸出會(huì)類似如下:
刪除主機(jī)聚合組和可用區(qū)
假設(shè)我們想刪除上述創(chuàng)建的主機(jī)聚合組和可用區(qū);為此,我們先得從主機(jī)聚合組刪除主機(jī),使用以下命令:
- ~# openstack aggregate show production
上述命令將為我們列出已添加到生產(chǎn)主機(jī)聚合組的計(jì)算主機(jī)。
使用以下命令從主機(jī)聚合機(jī)刪除主機(jī):
語(yǔ)法:
- # openstack aggregate remove host <host-aggregate-name> <compute-name>
- ~# openstack aggregate remove host production compute-0-4
- ~# openstack aggregate remove host production compute-0-5
- ~# openstack aggregate remove host production compute-0-6
- 一旦你從該組刪除所有主機(jī),隨后重新運(yùn)行以下命令:
- ~# openstack aggregate show production
- +-------------------+----------------------------+
- | Field | Value |
- +-------------------+----------------------------+
- | availability_zone | production-az |
- | created_at | 2019-08-17T03:02:42.000000 |
- | deleted | False |
- | deleted_at | None |
- | hosts | [] |
- | id | 7 |
- | name | production |
- | properties | |
- | updated_at | None |
- +-------------------+----------------------------+
我們可以從上述輸出看出,沒(méi)有與生產(chǎn)主機(jī)聚合組關(guān)聯(lián)的計(jì)算主機(jī),現(xiàn)在我們可以刪除組了。
使用以下命令來(lái)刪除主機(jī)聚合組及關(guān)聯(lián)的可用區(qū):
- ~# openstack aggregate delete production
運(yùn)行以下命令,以核實(shí)可用區(qū)有沒(méi)有刪除:
- ~# openstack availability zone list | grep -i production-az
- ~#
同樣,你可以參照上述步驟來(lái)刪除非生產(chǎn)主機(jī)聚合組及其可用區(qū)。
以上就是本教程的全部?jī)?nèi)容,但愿上述內(nèi)容可幫助你深入了解OpenStack主機(jī)聚合和可用區(qū),歡迎留言交流。
原文標(biāo)題:How to Create Availability Zones in OpenStack from Command Line,作者:Pradeep Kumar
【51CTO譯稿,合作站點(diǎn)轉(zhuǎn)載請(qǐng)注明原文譯者和出處為51CTO.com】