OpenStack:使用 Horizo​​n 创建多个实例?

OpenStack:使用 Horizo​​n 创建多个实例?

我一直在阅读有关部署 OpenStack 集群以创建大量实例的资料。我找不到有关如何一次启动 100 多个实例的脚本/博客/模板指南。有没有办法在 Horizo​​n 中做到这一点?用例是实验室环境。

谢谢,NP

答案1

您可以使用热量来创建大量实例。

如何使用热量?我从 cli 开始。

加热使用模板文件。我创建模板文件来创建 3 个实例:

heat_template_version: 2013-05-23

parameters:
  image_name: 
    type: string 
    label: Image Name 
    default: centos7
  network_id:
    type: string
    default: 80bcc12b-b546-47be-8a24-0c0e278e57dd

resources: 
  my_instance1: 
    type: OS::Nova::Server 
    properties: 
      image: { get_param: image_name } 
      flavor: min 
      networks:
        - network : { get_param : network_id }
  my_instance2: 
    type: OS::Nova::Server 
    properties: 
      image: { get_param: image_name } 
      flavor: min
      networks:
        - network : { get_param : network_id }
  my_instance3: 
    type: OS::Nova::Server 
    properties: 
      image: { get_param: image_name } 
      flavor: min
      networks:
        - network : { get_param : network_id }

我将此文件保存为template.yaml。

我在这里使用风格 min、图像 centos7 和网络 ID 80bcc12b-b546-47be-8a24-0c0e278e57dd。

现在我创建了 3 个实例。我执行

# heat stack-create --template-file template.yaml test 
+--------------------------------------+------------+--------------------+----------------------+
| id                                   | stack_name | stack_status       | creation_time        |
+--------------------------------------+------------+--------------------+----------------------+
| e39c8d65-b135-4d75-a800-2c35715ce792 | test       | CREATE_IN_PROGRESS | 2015-12-31T20:39:23Z |
+--------------------------------------+------------+--------------------+----------------------+

# heat stack-list
+--------------------------------------+------------+-----------------+----------------------+
| id                                   | stack_name | stack_status    | creation_time        |
+--------------------------------------+------------+-----------------+----------------------+
| e39c8d65-b135-4d75-a800-2c35715ce792 | test       | CREATE_COMPLETE | 2015-12-31T20:39:23Z |
+--------------------------------------+------------+-----------------+----------------------+

已创建堆栈测试。已创建以下图像:

# nova list
+--------------------------------------+--------------------------------+---------+------------+-------------+-------------------+
| ID                                   | Name                           | Status  | Task State | Power State | Networks          |
+--------------------------------------+--------------------------------+---------+------------+-------------+-------------------+
| 81b3ef22-f993-4ba0-bc9d-804afdf2ab5d | test-my_instance1-u3qmm73wlmtd | ACTIVE  | -          | Running     | net1=192.168.0.18 |
| a6bf0400-8ec9-4d7e-867b-5e3238f48943 | test-my_instance2-5275ytbk33dj | ACTIVE  | -          | Running     | net1=192.168.0.17 |
| 7f52fdb1-7414-45bd-aa9e-293d45ee22c4 | test-my_instance3-i2mynv5p6tq5 | ACTIVE  | -          | Running     | net1=192.168.0.19 |
+--------------------------------------+--------------------------------+---------+------------+-------------+-------------------+

您可以更改模板文件并添加更多实例。所有实例将通过 1 次调用创建:使用 heat stack-create。

现在删除可以使用热堆栈删除调用的实例:

 # heat stack-delete test
 +--------------------------------------+------------+--------------------+----------------------+
 | id                                   | stack_name | stack_status       | creation_time        |
 +--------------------------------------+------------+--------------------+----------------------+
 | e39c8d65-b135-4d75-a800-2c35715ce792 | test       | DELETE_IN_PROGRESS | 2015-12-31T20:39:23Z |
 +--------------------------------------+------------+--------------------+----------------------+

它来自 cli。我们如何使用仪表板?

您可以打开http://ip_address/dashboard/project/stacks/页。

堆栈页面已打开。单击启动堆栈按钮:打开选择模板表单。选择模板源:直接输入。进入 template.json 文件的模板数据集内容。按下一步按钮,进入下一页输入堆栈名称、管理员密码并按启动按钮。将创建新的热堆栈。它与 heat stack-create 调用相同。

答案2

您可以直接从 Horizo​​n 完成此操作。启动新实例时,会出现数数参数,只需确保您的项目配额允许您使用必要的资源即可。顺便说一句,我不建议一次创建 100 个实例。我宁愿逐步创建它们。

相关内容