设为首页 收藏本站
查看: 686|回复: 0

[经验分享] openstack安装配置—— orchestration安装配置

[复制链接]

尚未签到

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

  controller节点安装配置
  准备数据库
  [root@controller ~]# 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
  [root@controller ~]#
  

  创建用户并授权为管理员
  [root@controller ~]# . admin-openrc
  [root@controller ~]# openstack user create --domain default --password-prompt heat
  User Password:
  Repeat User Password:
  +-----------+----------------------------------+
  | Field     | Value                            |
  +-----------+----------------------------------+
  | domain_id | 3ad6ac5f704c494e9f16b9e04ef745fe |
  | enabled   | True                             |
  | id        | f565ccc8e39148acaaa215c1b2afa796 |
  | name      | heat                             |
  +-----------+----------------------------------+
  [root@controller ~]# openstack role add --project service --user heat admin
  [root@controller ~]#
  

  创建 heat 和 heat-cfn 服务
  [root@controller ~]# openstack service create --name heat \
  >   --description "Orchestration" orchestration
  +-------------+----------------------------------+
  | Field       | Value                            |
  +-------------+----------------------------------+
  | description | Orchestration                    |
  | enabled     | True                             |
  | id          | 9c6f28bceaed4e509a714422c0020add |
  | name        | heat                             |
  | type        | orchestration                    |
  +-------------+----------------------------------+
  [root@controller ~]# openstack service create --name heat-cfn \
  >   --description "Orchestration"  cloudformation
  +-------------+----------------------------------+
  | Field       | Value                            |
  +-------------+----------------------------------+
  | description | Orchestration                    |
  | enabled     | True                             |
  | id          | 7e795b3ac8274b19ab02ce10ad76f0f5 |
  | name        | heat-cfn                         |
  | type        | cloudformation                   |
  +-------------+----------------------------------+
  [root@controller ~]#
  

  创建 Orchestration 服务的 API接口
  [root@controller ~]# 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 |
  +--------------+-----------------------------------------+
  [root@controller ~]# 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 |
  +--------------+-----------------------------------------+
  [root@controller ~]# 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 |
  +--------------+-----------------------------------------+
  [root@controller ~]#
  

  [root@controller ~]# 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        |
  +--------------+----------------------------------+
  [root@controller ~]# 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        |
  +--------------+----------------------------------+
  [root@controller ~]# 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        |
  +--------------+----------------------------------+
  [root@controller ~]#
  

  为栈创建 heat 包含项目和用户的域
  [root@controller ~]# openstack domain create --description "Stack projects and users" heat
  +-------------+----------------------------------+
  | Field       | Value                            |
  +-------------+----------------------------------+
  | description | Stack projects and users         |
  | enabled     | True                             |
  | id          | dbb18adb37e74e78bb5165f14efa3a25 |
  | name        | heat                             |
  +-------------+----------------------------------+
  [root@controller ~]#
  

  在 heat 域中创建管理项目和用户的``heat_domain_admin``用户
  [root@controller ~]# 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                |
  +-----------+----------------------------------+
  [root@controller ~]#
  

  授权 heat 域 中的 heat_domain_admin 用户拥有管理员权限
  [root@controller ~]# openstack role add --domain heat --user-domain heat --user heat_domain_admin admin
  [root@controller ~]#
  

  创建 heat_stack_owner 用户
  [root@controller ~]# openstack role create heat_stack_owner
  +-----------+----------------------------------+
  | Field     | Value                            |
  +-----------+----------------------------------+
  | domain_id | None                             |
  | id        | e38522bfda184a17b1e5cfce7ea61b7e |
  | name      | heat_stack_owner                 |
  +-----------+----------------------------------+
  [root@controller ~]#
  

  授权 heat_stack_owner 拥有demo域的管理权限
  [root@controller ~]# openstack role add --project demo --user demo heat_stack_owner
  [root@controller ~]#
  

  创建 heat_stack_user 角色
  Orchestration 会自动地分配 heat_stack_user 角色给在 stack 部署过程中创建的用户。默认情况下,这个角色会限制 API 的操作。为了避免冲突,请不要为用户添加 ``heat_stack_owner``角色
  [root@controller ~]# openstack role create heat_stack_user
  +-----------+----------------------------------+
  | Field     | Value                            |
  +-----------+----------------------------------+
  | domain_id | None                             |
  | id        | c4f1be2faa174a189db0d75a65753d91 |
  | name      | heat_stack_user                  |
  +-----------+----------------------------------+
  [root@controller ~]#
  

  

  安装及修改配置文件
  [root@controller ~]# yum install -y openstack-heat-api openstack-heat-api-cfn \
  >   openstack-heat-engine
  

  [root@controller ~]# cp /etc/heat/heat.conf{,.bak}
  [root@controller ~]# vim /etc/heat/heat.conf
  [root@controller ~]# 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:HEAT_DBPASS@controller/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
  [root@controller ~]#
  

  导入Orchestration数据库
  [root@controller ~]# 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
  [root@controller ~]# 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          |
  +---------------------+
  [root@controller ~]#
  

  启用并启动Orchestration服务
  root@controller ~]# 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.
  [root@controller ~]# systemctl start openstack-heat-api.service \
  >   openstack-heat-api-cfn.service openstack-heat-engine.service
  [root@controller ~]# 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                                                     :::*
  [root@controller ~]#
  

  以管理员身份验证服务
  [root@controller ~]# . admin-openrc
  [root@controller ~]# 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     |
  +------------+-------------+--------------------------------------+------------+--------+----------------------------+--------+
  [root@controller ~]#
  

  

  创建一个模板
  [root@controller ~]# vim demo-template.yml
  [root@controller ~]# 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 ] }
  [root@controller ~]#
  

  创建一个stack
  [root@controller ~]# . demo-openrc
  [root@controller ~]# 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 |
  +--------------------------------------+-------------+--------------------------------------+
  [root@controller ~]#
  

  申明模版文件中所需要的变量
  [root@controller ~]# export NET_ID=$(openstack network list | awk '/ provider / { print $2 }')
  

  使用模版创建并启动一个栈
  [root@controller ~]# 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                                                                                     |
  +---------------------+----------------------------------------------------------------------------------------------------------+
  [root@controller ~]# 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         |
  +--------------------------------------+------------+--------------------+---------------------+--------------+
  [root@controller ~]# 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                                                                                                                 |
  +-----------------------+----------------------------------------------------------------------------------------------------------------------+
  [root@controller ~]# 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."  |
  |               | }                                               |
  +---------------+-------------------------------------------------+
  [root@controller ~]# 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                |
  +--------------------------------------+---------------------------+---------+------------------------------------+
  [root@controller ~]# 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                         |
  +--------------------------------------+----------------------------------------------------------+
  [root@controller ~]# openstack stack delete --yes stack  //删除stack
  至此,已经使用了heat模版语言定义了一下简单的模版,并通过此模版成功启动一个实例,更多模版语法请自行参阅openstack官方提供的说明。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-483199-1-1.html 上篇帖子: openstack安装配置—— file share node 配置 下篇帖子: openstack安装配置—— dnshboard安装配置
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表