openstack安装配置—— orchestration安装配置

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了openstack安装配置—— orchestration安装配置相关的知识,希望对你有一定的参考价值。

    如果一次需要启动10个实例,手动一个一个的去套模版启动,相信也行太low了吧,openstack官方也为运维人员准备了强大的利器,那就是任务编排orchestration服务模块了,当然如果要想用好这一工具来帮我解决低级趣味的任务编排,还需要我们专业去学习一下heat模版语法了,在这里我只是带大家简单实现一下通过任务编排模版自动创建并启动一个实例,具体语法规则不这里不详细陈述。


controller节点安装配置

准备数据库

[[email protected] ~]# mysql

Welcome to the MariaDB monitor.  Commands end with ; or \g.

Your MariaDB connection id is 5960

Server version: 10.1.20-MariaDB MariaDB Server


Copyright (c) 2000, 2016, Oracle, MariaDB Corporation Ab and others.


Type ‘help;‘ or ‘\h‘ for help. Type ‘\c‘ to clear the current input statement.


MariaDB [(none)]> CREATE DATABASE heat;

Query OK, 1 row affected (0.00 sec)


MariaDB [(none)]> GRANT ALL PRIVILEGES ON heat.* TO ‘heat‘@‘localhost‘ \

    ->   IDENTIFIED BY ‘HEAT_DBPASS‘;

Query OK, 0 rows affected (0.00 sec)


MariaDB [(none)]> GRANT ALL PRIVILEGES ON heat.* TO ‘heat‘@‘%‘ \

    ->   IDENTIFIED BY ‘HEAT_DBPASS‘;

Query OK, 0 rows affected (0.00 sec)


MariaDB [(none)]> quit

Bye

[[email protected] ~]# 


创建用户并授权为管理员

[[email protected] ~]# . admin-openrc

[[email protected] ~]# openstack user create --domain default --password-prompt heat

User Password:

Repeat User Password:

+-----------+----------------------------------+

| Field     | Value                            |

+-----------+----------------------------------+

| domain_id | 3ad6ac5f704c494e9f16b9e04ef745fe |

| enabled   | True                             |

| id        | f565ccc8e39148acaaa215c1b2afa796 |

| name      | heat                             |

+-----------+----------------------------------+

[[email protected] ~]# openstack role add --project service --user heat admin

[[email protected] ~]#


创建 heat 和 heat-cfn 服务

[[email protected] ~]# openstack service create --name heat \

>   --description "Orchestration" orchestration

+-------------+----------------------------------+

| Field       | Value                            |

+-------------+----------------------------------+

| description | Orchestration                    |

| enabled     | True                             |

| id          | 9c6f28bceaed4e509a714422c0020add |

| name        | heat                             |

| type        | orchestration                    |

+-------------+----------------------------------+

[[email protected] ~]# openstack service create --name heat-cfn \

>   --description "Orchestration"  cloudformation

+-------------+----------------------------------+

| Field       | Value                            |

+-------------+----------------------------------+

| description | Orchestration                    |

| enabled     | True                             |

| id          | 7e795b3ac8274b19ab02ce10ad76f0f5 |

| name        | heat-cfn                         |

| type        | cloudformation                   |

+-------------+----------------------------------+

[[email protected] ~]#


创建 Orchestration 服务的 API接口

[[email protected] ~]# openstack endpoint create --region RegionOne \

>   orchestration public http://controller:8004/v1/%\(tenant_id\)s

+--------------+-----------------------------------------+

| Field        | Value                                   |

+--------------+-----------------------------------------+

| enabled      | True                                    |

| id           | 77ae53a11b8d4b49a40280cd1ee06156        |

| interface    | public                                  |

| region       | RegionOne                               |

| region_id    | RegionOne                               |

| service_id   | 9c6f28bceaed4e509a714422c0020add        |

| service_name | heat                                    |

| service_type | orchestration                           |

| url          | http://controller:8004/v1/%(tenant_id)s |

+--------------+-----------------------------------------+

[[email protected] ~]# openstack endpoint create --region RegionOne \

>   orchestration internal http://controller:8004/v1/%\(tenant_id\)s

+--------------+-----------------------------------------+

| Field        | Value                                   |

+--------------+-----------------------------------------+

| enabled      | True                                    |

| id           | dd7de2064e684728b6296628e3b48adc        |

| interface    | internal                                |

| region       | RegionOne                               |

| region_id    | RegionOne                               |

| service_id   | 9c6f28bceaed4e509a714422c0020add        |

| service_name | heat                                    |

| service_type | orchestration                           |

| url          | http://controller:8004/v1/%(tenant_id)s |

+--------------+-----------------------------------------+

[[email protected] ~]# openstack endpoint create --region RegionOne \

>   orchestration admin http://controller:8004/v1/%\(tenant_id\)s

+--------------+-----------------------------------------+

| Field        | Value                                   |

+--------------+-----------------------------------------+

| enabled      | True                                    |

| id           | 61eedfaf02d54a06ba8dfeed253bdaae        |

| interface    | admin                                   |

| region       | RegionOne                               |

| region_id    | RegionOne                               |

| service_id   | 9c6f28bceaed4e509a714422c0020add        |

| service_name | heat                                    |

| service_type | orchestration                           |

| url          | http://controller:8004/v1/%(tenant_id)s |

+--------------+-----------------------------------------+

[[email protected] ~]# 


[[email protected] ~]# openstack endpoint create --region RegionOne \

>   cloudformation public http://controller:8000/v1

+--------------+----------------------------------+

| Field        | Value                            |

+--------------+----------------------------------+

| enabled      | True                             |

| id           | 23cc7aac12964ffe992ce1e46e5fd1a7 |

| interface    | public                           |

| region       | RegionOne                        |

| region_id    | RegionOne                        |

| service_id   | 7e795b3ac8274b19ab02ce10ad76f0f5 |

| service_name | heat-cfn                         |

| service_type | cloudformation                   |

| url          | http://controller:8000/v1        |

+--------------+----------------------------------+

[[email protected] ~]# openstack endpoint create --region RegionOne \

>   cloudformation internal http://controller:8000/v1

+--------------+----------------------------------+

| Field        | Value                            |

+--------------+----------------------------------+

| enabled      | True                             |

| id           | c1cdaee0d73b4006926777e39f10e839 |

| interface    | internal                         |

| region       | RegionOne                        |

| region_id    | RegionOne                        |

| service_id   | 7e795b3ac8274b19ab02ce10ad76f0f5 |

| service_name | heat-cfn                         |

| service_type | cloudformation                   |

| url          | http://controller:8000/v1        |

+--------------+----------------------------------+

[[email protected] ~]# openstack endpoint create --region RegionOne \

>   cloudformation admin http://controller:8000/v1

+--------------+----------------------------------+

| Field        | Value                            |

+--------------+----------------------------------+

| enabled      | True                             |

| id           | 837f4cb29c2741cf9b23dbaffe6d39f1 |

| interface    | admin                            |

| region       | RegionOne                        |

| region_id    | RegionOne                        |

| service_id   | 7e795b3ac8274b19ab02ce10ad76f0f5 |

| service_name | heat-cfn                         |

| service_type | cloudformation                   |

| url          | http://controller:8000/v1        |

+--------------+----------------------------------+

[[email protected] ~]# 


为栈创建 heat 包含项目和用户的域

[[email protected] ~]# openstack domain create --description "Stack projects and users" heat

+-------------+----------------------------------+

| Field       | Value                            |

+-------------+----------------------------------+

| description | Stack projects and users         |

| enabled     | True                             |

| id          | dbb18adb37e74e78bb5165f14efa3a25 |

| name        | heat                             |

+-------------+----------------------------------+

[[email protected] ~]# 


在 heat 域中创建管理项目和用户的``heat_domain_admin``用户

[[email protected] ~]# openstack user create --domain heat --password-prompt heat_domain_admin

User Password:

Repeat User Password:

+-----------+----------------------------------+

| Field     | Value                            |

+-----------+----------------------------------+

| domain_id | dbb18adb37e74e78bb5165f14efa3a25 |

| enabled   | True                             |

| id        | 6131013190c84113a0316c8f9a0686fa |

| name      | heat_domain_admin                |

+-----------+----------------------------------+

[[email protected] ~]#


授权 heat 域 中的 heat_domain_admin 用户拥有管理员权限

[[email protected] ~]# openstack role add --domain heat --user-domain heat --user heat_domain_admin admin

[[email protected] ~]# 


创建 heat_stack_owner 用户

[[email protected] ~]# openstack role create heat_stack_owner

+-----------+----------------------------------+

| Field     | Value                            |

+-----------+----------------------------------+

| domain_id | None                             |

| id        | e38522bfda184a17b1e5cfce7ea61b7e |

| name      | heat_stack_owner                 |

+-----------+----------------------------------+

[[email protected] ~]#


授权 heat_stack_owner 拥有demo域的管理权限

[[email protected] ~]# openstack role add --project demo --user demo heat_stack_owner

[[email protected] ~]# 


创建 heat_stack_user 角色

Orchestration 会自动地分配 heat_stack_user 角色给在 stack 部署过程中创建的用户。默认情况下,这个角色会限制 API 的操作。为了避免冲突,请不要为用户添加 ``heat_stack_owner``角色

[[email protected] ~]# openstack role create heat_stack_user

+-----------+----------------------------------+

| Field     | Value                            |

+-----------+----------------------------------+

| domain_id | None                             |

| id        | c4f1be2faa174a189db0d75a65753d91 |

| name      | heat_stack_user                  |

+-----------+----------------------------------+

[[email protected] ~]#



安装及修改配置文件

[[email protected] ~]# yum install -y openstack-heat-api openstack-heat-api-cfn \

>   openstack-heat-engine


[[email protected] ~]# cp /etc/heat/heat.conf{,.bak}

[[email protected] ~]# vim /etc/heat/heat.conf

[[email protected] ~]# grep -v ^# /etc/heat/heat.conf | tr -s [[:space:]]

[DEFAULT]

rpc_backend = rabbit

heat_metadata_server_url = http://controller:8000

heat_waitcondition_server_url = http://controller:8000/v1/waitcondition

stack_domain_admin = heat_domain_admin

stack_domain_admin_password = HEAT_DOMAIN_ADMIN_PASS

stack_user_domain_name = heat

[keystone_authtoken]

auth_uri = http://controller:5000

auth_url = http://controller:35357

memcached_servers = controller:11211

auth_type = password

project_domain_name = default

user_domain_name = default

project_name = service

username = heat

password = HEAT_PASS

[auth_password]

[clients]

[clients_barbican]

[clients_ceilometer]

[clients_cinder]

[clients_designate]

[clients_glance]

[clients_heat]

[clients_keystone]

auth_uri = http://controller:35357

[clients_magnum]

[clients_manila]

[clients_mistral]

[clients_neutron]

[clients_nova]

[clients_sahara]

[clients_senlin]

[clients_swift]

[clients_trove]

[clients_zaqar]

[cors]

[cors.subdomain]

[database]

connection = mysql+pymysql://heat:[email protected]/heat

[ec2authtoken]

auth_uri = http://controller:5000/v2.0

[eventlet_opts]

[heat_api]

[heat_api_cfn]

[heat_api_cloudwatch]

[matchmaker_redis]

[oslo_messaging_amqp]

[oslo_messaging_notifications]

[oslo_messaging_rabbit]

rabbit_host = controller

rabbit_userid = openstack

rabbit_password = RABBIT_PASS

[oslo_middleware]

[oslo_policy]

[paste_deploy]

[profiler]

[revision]

[ssl]

[trustee]

auth_plugin = password

auth_url = http://controller:35357

username = heat

password = HEAT_PASS

user_domain_name = default

[[email protected] ~]#


导入Orchestration数据库

[[email protected] ~]# su -s /bin/sh -c "heat-manage db_sync" heat

2017-07-28 21:09:59.444 23666 INFO migrate.versioning.api [-] 27 -> 28... 

2017-07-28 21:10:01.960 23666 INFO migrate.versioning.api [-] done

2017-07-28 21:10:01.961 23666 INFO migrate.versioning.api [-] 28 -> 29... 

2017-07-28 21:10:02.858 23666 INFO migrate.versioning.api [-] done

2017-07-28 21:10:02.858 23666 INFO migrate.versioning.api [-] 29 -> 30... 

2017-07-28 21:10:02.958 23666 INFO migrate.versioning.api [-] done

2017-07-28 21:10:02.959 23666 INFO migrate.versioning.api [-] 30 -> 31... 

2017-07-28 21:10:03.466 23666 INFO migrate.versioning.api [-] done

2017-07-28 21:10:03.466 23666 INFO migrate.versioning.api [-] 31 -> 32... 

2017-07-28 21:10:04.497 23666 INFO migrate.versioning.api [-] done

2017-07-28 21:10:04.497 23666 INFO migrate.versioning.api [-] 32 -> 33... 

2017-07-28 21:10:05.819 23666 INFO migrate.versioning.api [-] done

2017-07-28 21:10:05.819 23666 INFO migrate.versioning.api [-] 33 -> 34... 

2017-07-28 21:10:06.108 23666 INFO migrate.versioning.api [-] done

2017-07-28 21:10:06.108 23666 INFO migrate.versioning.api [-] 34 -> 35... 

2017-07-28 21:10:08.958 23666 INFO migrate.versioning.api [-] done

2017-07-28 21:10:08.959 23666 INFO migrate.versioning.api [-] 35 -> 36... 

2017-07-28 21:10:09.517 23666 INFO migrate.versioning.api [-] done

2017-07-28 21:10:09.517 23666 INFO migrate.versioning.api [-] 36 -> 37... 

2017-07-28 21:10:09.625 23666 INFO migrate.versioning.api [-] done

2017-07-28 21:10:09.625 23666 INFO migrate.versioning.api [-] 37 -> 38... 

2017-07-28 21:10:10.193 23666 INFO migrate.versioning.api [-] done

2017-07-28 21:10:10.194 23666 INFO migrate.versioning.api [-] 38 -> 39... 

2017-07-28 21:10:10.735 23666 INFO migrate.versioning.api [-] done

2017-07-28 21:10:10.735 23666 INFO migrate.versioning.api [-] 39 -> 40... 

2017-07-28 21:10:11.547 23666 INFO migrate.versioning.api [-] done

2017-07-28 21:10:11.547 23666 INFO migrate.versioning.api [-] 40 -> 41... 

2017-07-28 21:10:11.615 23666 INFO migrate.versioning.api [-] done

2017-07-28 21:10:11.615 23666 INFO migrate.versioning.api [-] 41 -> 42... 

2017-07-28 21:10:12.537 23666 INFO migrate.versioning.api [-] done

2017-07-28 21:10:12.537 23666 INFO migrate.versioning.api [-] 42 -> 43... 

2017-07-28 21:10:12.653 23666 INFO migrate.versioning.api [-] done

2017-07-28 21:10:12.654 23666 INFO migrate.versioning.api [-] 43 -> 44... 

2017-07-28 21:10:13.618 23666 INFO migrate.versioning.api [-] done

2017-07-28 21:10:13.619 23666 INFO migrate.versioning.api [-] 44 -> 45... 

2017-07-28 21:10:14.436 23666 INFO migrate.versioning.api [-] done

2017-07-28 21:10:14.436 23666 INFO migrate.versioning.api [-] 45 -> 46... 

2017-07-28 21:10:15.376 23666 INFO migrate.versioning.api [-] done

2017-07-28 21:10:15.377 23666 INFO migrate.versioning.api [-] 46 -> 47... 

2017-07-28 21:10:16.063 23666 INFO migrate.versioning.api [-] done

2017-07-28 21:10:16.064 23666 INFO migrate.versioning.api [-] 47 -> 48... 

2017-07-28 21:10:16.205 23666 INFO migrate.versioning.api [-] done

2017-07-28 21:10:16.205 23666 INFO migrate.versioning.api [-] 48 -> 49... 

2017-07-28 21:10:17.285 23666 INFO migrate.versioning.api [-] done

2017-07-28 21:10:17.286 23666 INFO migrate.versioning.api [-] 49 -> 50... 

2017-07-28 21:10:17.895 23666 INFO migrate.versioning.api [-] done

2017-07-28 21:10:17.896 23666 INFO migrate.versioning.api [-] 50 -> 51... 

2017-07-28 21:10:18.505 23666 INFO migrate.versioning.api [-] done

2017-07-28 21:10:18.505 23666 INFO migrate.versioning.api [-] 51 -> 52... 

2017-07-28 21:10:19.463 23666 INFO migrate.versioning.api [-] done

2017-07-28 21:10:19.464 23666 INFO migrate.versioning.api [-] 52 -> 53... 

2017-07-28 21:10:20.087 23666 INFO migrate.versioning.api [-] done

2017-07-28 21:10:20.088 23666 INFO migrate.versioning.api [-] 53 -> 54... 

2017-07-28 21:10:21.422 23666 INFO migrate.versioning.api [-] done

2017-07-28 21:10:21.422 23666 INFO migrate.versioning.api [-] 54 -> 55... 

2017-07-28 21:10:25.088 23666 INFO migrate.versioning.api [-] done

2017-07-28 21:10:25.089 23666 INFO migrate.versioning.api [-] 55 -> 56... 

2017-07-28 21:10:27.350 23666 INFO migrate.versioning.api [-] done

2017-07-28 21:10:27.350 23666 INFO migrate.versioning.api [-] 56 -> 57... 

2017-07-28 21:10:32.898 23666 INFO migrate.versioning.api [-] done

2017-07-28 21:10:32.898 23666 INFO migrate.versioning.api [-] 57 -> 58... 

2017-07-28 21:10:34.532 23666 INFO migrate.versioning.api [-] done

2017-07-28 21:10:34.532 23666 INFO migrate.versioning.api [-] 58 -> 59... 

2017-07-28 21:10:35.166 23666 INFO migrate.versioning.api [-] done

2017-07-28 21:10:35.166 23666 INFO migrate.versioning.api [-] 59 -> 60... 

2017-07-28 21:10:40.682 23666 INFO migrate.versioning.api [-] done

2017-07-28 21:10:40.683 23666 INFO migrate.versioning.api [-] 60 -> 61... 

2017-07-28 21:10:44.074 23666 INFO migrate.versioning.api [-] done

2017-07-28 21:10:44.075 23666 INFO migrate.versioning.api [-] 61 -> 62... 

2017-07-28 21:10:44.833 23666 INFO migrate.versioning.api [-] done

2017-07-28 21:10:44.834 23666 INFO migrate.versioning.api [-] 62 -> 63... 

2017-07-28 21:10:45.580 23666 INFO migrate.versioning.api [-] done

2017-07-28 21:10:45.580 23666 INFO migrate.versioning.api [-] 63 -> 64... 

2017-07-28 21:10:46.316 23666 INFO migrate.versioning.api [-] done

2017-07-28 21:10:46.317 23666 INFO migrate.versioning.api [-] 64 -> 65... 

2017-07-28 21:10:47.077 23666 INFO migrate.versioning.api [-] done

2017-07-28 21:10:47.077 23666 INFO migrate.versioning.api [-] 65 -> 66... 

2017-07-28 21:10:47.118 23666 INFO migrate.versioning.api [-] done

2017-07-28 21:10:47.119 23666 INFO migrate.versioning.api [-] 66 -> 67... 

2017-07-28 21:10:47.160 23666 INFO migrate.versioning.api [-] done

2017-07-28 21:10:47.160 23666 INFO migrate.versioning.api [-] 67 -> 68... 

2017-07-28 21:10:47.199 23666 INFO migrate.versioning.api [-] done

2017-07-28 21:10:47.199 23666 INFO migrate.versioning.api [-] 68 -> 69... 

2017-07-28 21:10:47.235 23666 INFO migrate.versioning.api [-] done

2017-07-28 21:10:47.235 23666 INFO migrate.versioning.api [-] 69 -> 70... 

2017-07-28 21:10:47.361 23666 INFO migrate.versioning.api [-] done

2017-07-28 21:10:47.361 23666 INFO migrate.versioning.api [-] 70 -> 71... 

2017-07-28 21:10:47.585 23666 INFO migrate.versioning.api [-] done

[[email protected] ~]# mysql -e "show tables from heat"

+---------------------+

| Tables_in_heat      |

+---------------------+

| event               |

| migrate_version     |

| raw_template        |

| resource            |

| resource_data       |

| service             |

| snapshot            |

| software_config     |

| software_deployment |

| stack               |

| stack_lock          |

| stack_tag           |

| sync_point          |

| user_creds          |

| watch_data          |

| watch_rule          |

+---------------------+

[[email protected] ~]#


启用并启动Orchestration服务

[email protected] ~]# systemctl enable openstack-heat-api.service \

>   openstack-heat-api-cfn.service openstack-heat-engine.service

Created symlink from /etc/systemd/system/multi-user.target.wants/openstack-heat-api.service to /usr/lib/systemd/system/openstack-heat-api.service.

Created symlink from /etc/systemd/system/multi-user.target.wants/openstack-heat-api-cfn.service to /usr/lib/systemd/system/openstack-heat-api-cfn.service.

Created symlink from /etc/systemd/system/multi-user.target.wants/openstack-heat-engine.service to /usr/lib/systemd/system/openstack-heat-engine.service.

[[email protected] ~]# systemctl start openstack-heat-api.service \

>   openstack-heat-api-cfn.service openstack-heat-engine.service

[[email protected] ~]# ss -tnl  //Orchestration服务正常启动后会新增8000和8004端口

State       Recv-Q Send-Q                             Local Address:Port                                            Peer Address:Port              

LISTEN      0      128                                            *:8776                                                       *:*                  

LISTEN      0      128                                            *:25672                                                      *:*                  

LISTEN      0      128                                192.168.10.10:3306                                                       *:*                  

LISTEN      0      128                                    127.0.0.1:11211                                                      *:*                  

LISTEN      0      128                                            *:9292                                                       *:*                  

LISTEN      0      128                                            *:4369                                                       *:*                  

LISTEN      0      128                                            *:8000                                                       *:*                  

LISTEN      0      128                                            *:9696                                                       *:*                  

LISTEN      0      100                                            *:6080                                                       *:*                  

LISTEN      0      128                                            *:8004                                                       *:*                  

LISTEN      0      128                                            *:8774                                                       *:*                  

LISTEN      0      128                                            *:22022                                                      *:*                  

LISTEN      0      128                                            *:8775                                                       *:*                  

LISTEN      0      128                                            *:9191                                                       *:*                  

LISTEN      0      128                                           :::5000                                                      :::*                  

LISTEN      0      128                                           :::5672                                                      :::*                  

LISTEN      0      128                                          ::1:11211                                                     :::*                  

LISTEN      0      128                                           :::80                                                        :::*                  

LISTEN      0      128                                           :::8786                                                      :::*                  

LISTEN      0      128                                           :::35357                                                     :::*                  

LISTEN      0      128                                           :::22022                                                     :::*                  

[[email protected] ~]#


以管理员身份验证服务

[[email protected] ~]# . admin-openrc

[[email protected] ~]# openstack orchestration service list

+------------+-------------+--------------------------------------+------------+--------+----------------------------+--------+

| hostname   | binary      | engine_id                            | host       | topic  | updated_at                 | status |

+------------+-------------+--------------------------------------+------------+--------+----------------------------+--------+

| controller | heat-engine | 972db5de-71c8-4700-b11b-0f0d4c885d91 | controller | engine | 2017-07-28T13:17:39.000000 | up     |

| controller | heat-engine | 69197de6-096a-4115-a349-b0a54b33d6fe | controller | engine | 2017-07-28T13:17:39.000000 | up     |

| controller | heat-engine | b3223830-c9c9-4b5a-8cb5-8c658130854e | controller | engine | 2017-07-28T13:17:39.000000 | up     |

| controller | heat-engine | 38e6f832-b5c4-42e8-9583-fe3c5768de89 | controller | engine | 2017-07-28T13:17:39.000000 | up     |

| controller | heat-engine | ea4c17ca-24d2-412e-a4f5-2ca1eaf7ba50 | controller | engine | 2017-07-28T13:17:39.000000 | up     |

| controller | heat-engine | 3948deb4-34c2-4536-9e3a-1964bb8668fd | controller | engine | 2017-07-28T13:17:39.000000 | up     |

| controller | heat-engine | 29de671d-50bb-4ee1-8486-a2b6b22dfbeb | controller | engine | 2017-07-28T13:17:39.000000 | up     |

| controller | heat-engine | 2fa7e7dd-70c9-4094-8686-4e727ae19913 | controller | engine | 2017-07-28T13:17:39.000000 | up     |

+------------+-------------+--------------------------------------+------------+--------+----------------------------+--------+

[[email protected] ~]#



创建一个模板

[[email protected] ~]# vim demo-template.yml

[[email protected] ~]# cat demo-template.yml

heat_template_version: 2016-04-08

description: Launch a basic instance with CirrOS image using the

            ``m1.nano`` flavor, ``mykey`` key,  and one network.


parameters:

  NetID:

    type: string

    description: Network ID to use for the instance.


resources:

  server:

    type: OS::Nova::Server

    properties:

      image: cirros

      flavor: m1.nano

      key_name: mykey

      networks:

      - network: { get_param: NetID }


outputs:

  instance_name:

    description: Name of the instance.

    value: { get_attr: [ server, name ] }

  instance_ip:

    description: IP address of the instance.

    value: { get_attr: [ server, first_address ] }

[[email protected] ~]#


创建一个stack

[[email protected] ~]# . demo-openrc

[[email protected] ~]# openstack network list

+--------------------------------------+-------------+--------------------------------------+

| ID                                   | Name        | Subnets                              |

+--------------------------------------+-------------+--------------------------------------+

| 3b9946b0-b55a-4cdf-a1e4-252a9557fd06 | selfservice | e51d7043-49ff-45ab-a407-6739e0974144 |

| 3bd7b504-e172-462b-a904-c7df815964b3 | provider    | 7e8b9dbb-28a3-406d-b598-4837030cbba4 |

+--------------------------------------+-------------+--------------------------------------+

[[email protected] ~]#


申明模版文件中所需要的变量

[[email protected] ~]# export NET_ID=$(openstack network list | awk ‘/ provider / { print $2 }‘)


使用模版创建并启动一个栈

[[email protected] ~]# openstack stack create -t demo-template.yml --parameter "NetID=$NET_ID" stack

+---------------------+----------------------------------------------------------------------------------------------------------+

| Field               | Value                                                                                                    |

+---------------------+----------------------------------------------------------------------------------------------------------+

| id                  | 32fe747c-5a3b-4e58-9b25-bd56d7cd9eeb                                                                     |

| stack_name          | stack                                                                                                    |

| description         | Launch a basic instance with CirrOS image using the ``m1.nano`` flavor, ``mykey`` key,  and one network. |

| creation_time       | 2017-07-29T02:29:13                                                                                      |

| updated_time        | None                                                                                                     |

| stack_status        | CREATE_IN_PROGRESS                                                                                       |

| stack_status_reason | Stack CREATE started                                                                                     |

+---------------------+----------------------------------------------------------------------------------------------------------+

[[email protected] ~]# openstack stack list

+--------------------------------------+------------+--------------------+---------------------+--------------+

| ID                                   | Stack Name | Stack Status       | Creation Time       | Updated Time |

+--------------------------------------+------------+--------------------+---------------------+--------------+

| 32fe747c-5a3b-4e58-9b25-bd56d7cd9eeb | stack      | CREATE_IN_PROGRESS | 2017-07-29T02:29:13 | None         |

+--------------------------------------+------------+--------------------+---------------------+--------------+

[[email protected] ~]# openstack stack show 32fe747c-5a3b-4e58-9b25-bd56d7cd9eeb

+-----------------------+----------------------------------------------------------------------------------------------------------------------+

| Field                 | Value                                                                                                                |

+-----------------------+----------------------------------------------------------------------------------------------------------------------+

| id                    | 32fe747c-5a3b-4e58-9b25-bd56d7cd9eeb                                                                                 |

| stack_name            | stack                                                                                                                |

| description           | Launch a basic instance with CirrOS image using the ``m1.nano`` flavor, ``mykey`` key,  and one network.             |

| creation_time         | 2017-07-29T02:29:13                                                                                                  |

| updated_time          | None                                                                                                                 |

| stack_status          | CREATE_COMPLETE                                                                                                      |

| stack_status_reason   | Stack CREATE completed successfully                                                                                  |

| parameters            | NetID: 3bd7b504-e172-462b-a904-c7df815964b3                                                                          |

|                       | OS::project_id: 0200f6457da84abd9055a5c192386747                                                                     |

|                       | OS::stack_id: 32fe747c-5a3b-4e58-9b25-bd56d7cd9eeb                                                                   |

|                       | OS::stack_name: stack                                                                                                |

|                       |                                                                                                                      |

| outputs               | - description: Name of the instance.                                                                                 |

|                       |   output_key: instance_name                                                                                          |

|                       |   output_value: stack-server-byn23ksv35os                                                                            |

|                       | - description: IP address of the instance.                                                                           |

|                       |   output_key: instance_ip                                                                                            |

|                       |   output_value: 10.0.0.105                                                                                           |

|                       |                                                                                                                      |

| links                 | - href: http://controller:8004/v1/0200f6457da84abd9055a5c192386747/stacks/stack/32fe747c-5a3b-4e58-9b25-bd56d7cd9eeb |

|                       |   rel: self                                                                                                          |

|                       |                                                                                                                      |

| disable_rollback      | True                                                                                                                 |

| parent                | None                                                                                                                 |

| tags                  | null                                                                                                                 |

|                       | ...                                                                                                                  |

|                       |                                                                                                                      |

| stack_user_project_id | 4677bcbb8f88481494a72a264e7f4727                                                                                     |

| capabilities          | []                                                                                                                   |

| notification_topics   | []                                                                                                                   |

| timeout_mins          | None                                                                                                                 |

| stack_owner           | None                                                                                                                 |

+-----------------------+----------------------------------------------------------------------------------------------------------------------+

[[email protected] ~]# openstack stack output show --all stack

+---------------+-------------------------------------------------+

| Field         | Value                                           |

+---------------+-------------------------------------------------+

| instance_name | {                                               |

|               |   "output_value": "stack-server-byn23ksv35os",  |

|               |   "output_key": "instance_name",                |

|               |   "description": "Name of the instance."        |

|               | }                                               |

| instance_ip   | {                                               |

|               |   "output_value": "10.0.0.105",                 |

|               |   "output_key": "instance_ip",                  |

|               |   "description": "IP address of the instance."  |

|               | }                                               |

+---------------+-------------------------------------------------+

[[email protected] ~]# openstack server list  //实例创建后会自动启动

+--------------------------------------+---------------------------+---------+------------------------------------+

| ID                                   | Name                      | Status  | Networks                           |

+--------------------------------------+---------------------------+---------+------------------------------------+

| 1f0b1032-1fec-4333-b567-76c8a2434e73 | stack-server-byn23ksv35os | ACTIVE  | provider=10.0.0.105                |

| a7c51098-20d7-4f01-b3b9-451694fddfb4 | selfservice-instance      | SHUTOFF | selfservice=172.16.0.3, 10.0.0.104 |

| a8234b31-7acb-4f2c-abfc-34d8bfd76438 | provider-instance         | SHUTOFF | provider=10.0.0.102                |

+--------------------------------------+---------------------------+---------+------------------------------------+

[[email protected] ~]# openstack server show 1f0b1032-1fec-4333-b567-76c8a2434e73

+--------------------------------------+----------------------------------------------------------+

| Field                                | Value                                                    |

+--------------------------------------+----------------------------------------------------------+

| OS-DCF:diskConfig                    | MANUAL                                                   |

| OS-EXT-AZ:availability_zone          | nova                                                     |

| OS-EXT-STS:power_state               | 1                                                        |

| OS-EXT-STS:task_state                | None                                                     |

| OS-EXT-STS:vm_state                  | active                                                   |

| OS-SRV-USG:launched_at               | 2017-07-29T02:29:36.000000                               |

| OS-SRV-USG:terminated_at             | None                                                     |

| accessIPv4                           |                                                          |

| accessIPv6                           |                                                          |

| addresses                            | provider=10.0.0.105                                      |

| config_drive                         |                                                          |

| created                              | 2017-07-29T02:29:25Z                                     |

| flavor                               | m1.nano (0)                                              |

| hostId                               | a33066b316f8685eaf842bff56b5d4806daae5ef486f84a9904f7e82 |

| id                                   | 1f0b1032-1fec-4333-b567-76c8a2434e73                     |

| image                                | cirros (9b0a7de0-6ff5-488b-9067-813e8a88de98)            |

| key_name                             | mykey                                                    |

| name                                 | stack-server-byn23ksv35os                                |

| os-extended-volumes:volumes_attached | []                                                       |

| progress                             | 0                                                        |

| project_id                           | 0200f6457da84abd9055a5c192386747                         |

| properties                           |                                                          |

| security_groups                      | [{u‘name‘: u‘default‘}]                                  |

| status                               | ACTIVE                                                   |

| updated                              | 2017-07-29T02:29:37Z                                     |

| user_id                              | deb3adea97e34fee9161a47940762a53                         |

+--------------------------------------+----------------------------------------------------------+

[[email protected] ~]# openstack stack delete --yes stack  //删除stack

    至此,已经使用了heat模版语言定义了一下简单的模版,并通过此模版成功启动一个实例,更多模版语法请自行参阅openstack官方提供的说明。

本文出自 “爱情防火墙” 博客,请务必保留此出处http://183530300.blog.51cto.com/894387/1957851

以上是关于openstack安装配置—— orchestration安装配置的主要内容,如果未能解决你的问题,请参考以下文章

openstack安装部署

openstack安装部署

如何从 Catel 项目迁移到 Orchestra + MahApps? (.NET 4.0)

WPF & Orchestra 入门 [关闭]

Openstack的安装部署教程

Openstack概述 、 部署安装环境 、 部署Openstack 、 Openstack操作基础