如何在OpenStack中从命令行创建可用区?

如何在OpenStack中从命令行创建可用区?

译文
作者:布加迪编译 2019-08-27 08:00:10

开发

前端

OpenStack 在OpenStack术语中,可用区(AZ)的定义是计算(Nova)、块存储(cinder)和网络服务(neutron)的逻辑分区。需要可用区来隔离生产环境和非生产环境等环境的工作负载。

10余年的衢江网站建设经验,针对设计、前端、开发、售后、文案、推广等六对一服务,响应快,48小时及时工作处理。全网营销推广的优势是能够根据用户设备显示端的尺寸不同,自动调整衢江建站的显示方式,使网站能够适用不同显示终端,在浏览器中调整网站的宽度,无论在任何一种浏览器上浏览网站,都能展现优雅布局与设计,从而大程度地提升浏览体验。创新互联从事“衢江网站设计”,“衢江网站推广”以来,每个客户项目都认真落实执行。

【51CTO.com快译】在OpenStack术语中,可用区(AZ)的定义是计算(Nova)、块存储(cinder)和网络服务(neutron)的逻辑分区。需要可用区来隔离生产环境和非生产环境等环境的工作负载。

假设OpenStack中一个租户想要在生产环境和非生产环境中部署虚拟机,于是想在Openstack中创建这种类型的架构,我们先要确定哪些计算将被视为生产环境和非生产环境,然后我们要创建主机聚合组(host-aggregate group),我们会将计算添加到主机聚合组,然后我们将该主机聚合组映射到可用区。

我们在本教程中将演示如何通过命令行在Openstack中创建和使用计算可用区。

创建计算可用区

无论何时部署OpenStack,Nova都是自动创建的默认可用区(AZ),所有计算节点都属于Nova AZ。从控制器节点运行以下Openstack命令,列出可用区:

  
 
 
 
  1. ~# source openrc
  2. ~# openstack availability zone list
  3. +-----------+-------------+
  4. | Zone Name | Zone Status |
  5. +-----------+-------------+
  6. | internal  | available   |
  7. | nova      | available   |
  8. | nova      | available   |
  9. | nova      | available   |
  10. +-----------+-------------+
  11. ~#

想列出计算的可用区,运行以下Openstack命令:

  
 
 
 
  1. ~# openstack availability zone list --compute
  2. +-----------+-------------+
  3. | Zone Name | Zone Status |
  4. +-----------+-------------+
  5. | internal  | available   |
  6. | nova      | available   |
  7. +-----------+-------------+
  8. ~#

想列出映射到Nova可用区的所有计算节点,执行以下命令:

  
 
 
 
  1. ~# openstack host list | grep -E "Zone|nova"
  2. | Host Name              | Service     | Zone     |
  3. | compute-0-1            | compute     | nova     |
  4. | compute-0-2            | compute     | nova     |
  5. | compute-0-4            | compute     | nova     |
  6. | compute-0-3            | compute     | nova     |
  7. | compute-0-8            | compute     | nova     |
  8. | compute-0-6            | compute     | nova     |
  9. | compute-0-9            | compute     | nova     |
  10. | compute-0-5            | compute     | nova     |
  11. | compute-0-7            | compute     | nova     |
  12. ~#

不妨创建两个主机聚合组,名为production和non-production,将计算4、5和6添加到production主机聚合组,将计算7、8和9添加到non-production主机聚合组。

使用以下OpenStack命令,创建Production和Non-Production主机聚合:

  
 
 
 
  1. ~# openstack aggregate create production
  2. +-------------------+----------------------------+
  3. | Field             | Value                      |
  4. +-------------------+----------------------------+
  5. | availability_zone | None                       |
  6. | created_at        | 2019-08-17T03:02:41.561259 |
  7. | deleted           | False                      |
  8. | deleted_at        | None                       |
  9. | id                | 7                          |
  10. | name              | production                 |
  11. | updated_at        | None                       |
  12. +-------------------+----------------------------+
  13. ~# openstack aggregate create non-production
  14. +-------------------+----------------------------+
  15. | Field             | Value                      |
  16. +-------------------+----------------------------+
  17. | availability_zone | None                       |
  18. | created_at        | 2019-08-17T03:02:53.806713 |
  19. | deleted           | False                      |
  20. | deleted_at        | None                       |
  21. | id                | 10                         |
  22. | name              | non-production             |
  23. | updated_at        | None                       |
  24. +-------------------+----------------------------+
  25. ~#

现在创建可用区,并将它与各自的主机聚合组关联起来。

语法:

  
 
 
 
  1. # openstack aggregate set –zone   
  2. ~# openstack aggregate set --zone production-az production
  3. ~# openstack aggregate set --zone non-production-az non-production

最后,将计算主机添加到主机聚合群。

语法:

  
 
 
 
  1. # openstack aggregate add host 
  2. ~# openstack aggregate add host production compute-0-4 
  3. ~# openstack aggregate add host production compute-0-5 
  4. ~# openstack aggregate add host production compute-0-6

同样,将计算主机添加到non-production主机聚合组:

  
 
 
 
  1. ~# openstack aggregate add host non-production compute-0-7
  2. ~# openstack aggregate add host non-production compute-0-8
  3. ~# openstack aggregate add host non-production compute-0-9

执行以下Openstack命令,验证主机聚合组及其可用区:

  
 
 
 
  1. ~# openstack aggregate list
  2. +----+----------------+-------------------+
  3. | ID | Name           | Availability Zone |
  4. +----+----------------+-------------------+
  5. |  7 | production     | production-az     |
  6. | 10 | non-production | non-production-az |
  7. +----+----------------+-------------------+
  8. ~#

运行以下命令,列出与AZ和主机聚合组有关的计算:

  
 
 
 
  1. ~# openstack aggregate show production
  2. +-------------------+--------------------------------------------+
  3. | Field             | Value                                      |
  4. +-------------------+--------------------------------------------+
  5. | availability_zone | production-az                              |
  6. | created_at        | 2019-08-17T03:02:42.000000                 |
  7. | deleted           | False                                      |
  8. | deleted_at        | None                                       |
  9. | hosts             | [u'compute-0-4', u'compute-0-5', u'compute-0-6'] |
  10. | id                | 7                                          |
  11. | name              | production                                 |
  12. | properties        |                                            |
  13. | updated_at        | None                                       |
  14. +-------------------+--------------------------------------------+
  15. ~# openstack aggregate show non-production
  16. +-------------------+---------------------------------------------+
  17. | Field             | Value                                       |
  18. +-------------------+---------------------------------------------+
  19. | availability_zone | non-production-az                           |
  20. | created_at        | 2019-08-17T03:02:54.000000                  |
  21. | deleted           | False                                       |
  22. | deleted_at        | None                                        |
  23. | hosts             | [u'compute-0-7', u'compute-0-8', u'compute-0-9'] |
  24. | id                | 10                                          |
  25. | name              | non-production                              |
  26. | properties        |                                             |
  27. | updated_at        | None                                        |
  28. +-------------------+---------------------------------------------+
  29. ~#

上述命令的输出证实:我们已成功地创建了主机聚合组和可用区。

在可用区内启动虚拟机

现在不妨在这两个可用区内创建两个虚拟机;想在某个特定的可用区内创建虚拟机,运行以下命令:

语法:

  
 
 
 
  1. # openstack server create –flavor –image –nic net-id= –security-group –key-name –availability-zone 

例子如下所示:

  
 
 
 
  1. ~# 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

运行以下命令以验证虚拟机的细节:

  
 
 
 
  1. ~# openstack server show test-vm-prod-az

想在可用区下某个特定的计算节点内创建虚拟机,运行以下命令:

语法:

  
 
 
 
  1. # openstack server create –flavor –image –nic net-id= –security-group –key-name {Keypair-Name} –availability-zone :

假设我们想在特定计算(compute-0-6)上的生产可用区下启用虚拟机,为了执行这项操作,运行以下命令:

  
 
 
 
  1. ~# 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

执行以下命令以验证虚拟机的细节:

  
 
 
 
  1. ~# openstack server show test-vm-prod-az-host

上述命令的输出会类似如下:

同样,我们可以在非生产可用区内创建虚拟机,例子如下所示:

  
 
 
 
  1. ~# 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

使用以下命令以验证虚拟机的细节:

  
 
 
 
  1. ~# openstack server show vm-nonprod-az

上述命令的输出会类似如下:

删除主机聚合组和可用区

假设我们想删除上述创建的主机聚合组和可用区;为此,我们先得从主机聚合组删除主机,使用以下命令:

  
 
 
 
  1. ~# openstack aggregate show production

上述命令将为我们列出已添加到生产主机聚合组的计算主机。

使用以下命令从主机聚合机删除主机:

语法:

  
 
 
 
  1. # openstack aggregate remove host  
  2. ~# openstack aggregate remove host production compute-0-4
  3. ~# openstack aggregate remove host production compute-0-5
  4. ~# openstack aggregate remove host production compute-0-6
  5. 一旦你从该组删除所有主机,随后重新运行以下命令:
  6. ~# openstack aggregate show production
  7. +-------------------+----------------------------+
  8. | Field             | Value                      |
  9. +-------------------+----------------------------+
  10. | availability_zone | production-az              |
  11. | created_at        | 2019-08-17T03:02:42.000000 |
  12. | deleted           | False                      |
  13. | deleted_at        | None                       |
  14. | hosts             | []                         |
  15. | id                | 7                          |
  16. | name              | production                 |
  17. | properties        |                            |
  18. | updated_at        | None                       |
  19. +-------------------+----------------------------+

我们可以从上述输出看出,没有与生产主机聚合组关联的计算主机,现在我们可以删除组了。

使用以下命令来删除主机聚合组及关联的可用区:

  
 
 
 
  1. ~# openstack aggregate delete production

运行以下命令,以核实可用区有没有删除:

  
 
 
 
  1. ~# openstack availability zone list | grep -i production-az 
  2. ~#

同样,你可以参照上述步骤来删除非生产主机聚合组及其可用区。

以上就是本教程的全部内容,但愿上述内容可帮助你深入了解OpenStack主机聚合和可用区,欢迎留言交流。

【51CTO译稿,合作站点转载请注明原文译者和出处为51CTO.com】

文章标题:如何在OpenStack中从命令行创建可用区?
网页地址:http://www.shufengxianlan.com/qtweb/news17/237267.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联