1) 安装Heat组件
[root@node1 ~(keystone)]# yum --enablerepo=centos-openstack-queens,epel install openstack-heat-common -y
2) 于Keystone注册Heat信息
[root@node1 ~(keystone)]# openstack user create --domain default --project service --password servicepassword heat
+---------------------+----------------------------------+
| Field | Value |
+---------------------+----------------------------------+
| default_project_id | 1be75e85ec9445ab9ff7dd7ec2f02b71 |
| domain_id | default |
| enabled | True |
| id | c0e9be04495c432d9c04e3cd8a6f1d95 |
| name | heat |
| options | {} |
| password_expires_at | None |
+---------------------+----------------------------------+
[root@node1 ~(keystone)]# openstack role add --project service --user heat admin
[root@node1 ~(keystone)]# openstack role create heat_stack_owner
+-----------+----------------------------------+
| Field | Value |
+-----------+----------------------------------+
| domain_id | None |
| id | d2cdf8bc523d4781bd3d16b43a9bac2a |
| name | heat_stack_owner |
+-----------+----------------------------------+
[root@node1 ~(keystone)]# openstack role create heat_stack_user
+-----------+----------------------------------+
| Field | Value |
+-----------+----------------------------------+
| domain_id | None |
| id | 8cd5c1306a614449a7abc9bb8ed93645 |
| name | heat_stack_user |
+-----------+----------------------------------+
[root@node1 ~(keystone)]# openstack role add --project admin --user admin heat_stack_owner
[root@node1 ~(keystone)]# openstack service create --name heat --description "Openstack Orchestration" orchestration
+-------------+----------------------------------+
| Field | Value |
+-------------+----------------------------------+
| description | Openstack Orchestration |
| enabled | True |
| id | 48dbba6b4014450c9d5bce1dcc4efe66 |
| name | heat |
| type | orchestration |
+-------------+----------------------------------+
[root@node1 ~(keystone)]# openstack service create --name heat-cfn --description "Openstack Orchestration" cloudformation
+-------------+----------------------------------+
| Field | Value |
+-------------+----------------------------------+
| description | Openstack Orchestration |
| enabled | True |
| id | 18067ee1b4834499830494dac5fd56f9 |
| name | heat-cfn |
| type | cloudformation |
+-------------+----------------------------------+
3) 创建Endpoint信息
[root@node1 ~(keystone)]# openstack endpoint create --region RegionOne orchestration public http://192.168.10.13:8004/v1/%\(tenant_id\)s
+--------------+--------------------------------------------+
| Field | Value |
+--------------+--------------------------------------------+
| enabled | True |
| id | 84ecf63489cc42698cde26ecc4e1dd16 |
| interface | public |
| region | RegionOne |
| region_id | RegionOne |
| service_id | 48dbba6b4014450c9d5bce1dcc4efe66 |
| service_name | heat |
| service_type | orchestration |
| url | http://192.168.10.13:8004/v1/%(tenant_id)s |
+--------------+--------------------------------------------+
[root@node1 ~(keystone)]# openstack endpoint create --region RegionOne orchestration internal http://192.168.10.13:8004/v1/%\(tenant_id\)s
+--------------+--------------------------------------------+
| Field | Value |
+--------------+--------------------------------------------+
| enabled | True |
| id | a7c030667a924af988944f3df0a8b9a6 |
| interface | internal |
| region | RegionOne |
| region_id | RegionOne |
| service_id | 48dbba6b4014450c9d5bce1dcc4efe66 |
| service_name | heat |
| service_type | orchestration |
| url | http://192.168.10.13:8004/v1/%(tenant_id)s |
+--------------+--------------------------------------------+
[root@node1 ~(keystone)]# openstack endpoint create --region RegionOne orchestration admin http://192.168.10.13:8004/v1/%\(tenant_id\)s
+--------------+--------------------------------------------+
| Field | Value |
+--------------+--------------------------------------------+
| enabled | True |
| id | e599e14e6b4549c3aa898ad1d990021b |
| interface | admin |
| region | RegionOne |
| region_id | RegionOne |
| service_id | 48dbba6b4014450c9d5bce1dcc4efe66 |
| service_name | heat |
| service_type | orchestration |
| url | http://192.168.10.13:8004/v1/%(tenant_id)s |
+--------------+--------------------------------------------+
[root@node1 ~(keystone)]# openstack endpoint create --region RegionOne cloudformation public http://192.168.10.13:8000/v1
+--------------+----------------------------------+
| Field | Value |
+--------------+----------------------------------+
| enabled | True |
| id | 35af2a3e1d5a4b7da5abca4d10b592a9 |
| interface | public |
| region | RegionOne |
| region_id | RegionOne |
| service_id | 18067ee1b4834499830494dac5fd56f9 |
| service_name | heat-cfn |
| service_type | cloudformation |
| url | http://192.168.10.13:8000/v1 |
+--------------+----------------------------------+
[root@node1 ~(keystone)]# openstack endpoint create --region RegionOne cloudformation internal http://192.168.10.13:8000/v1
+--------------+----------------------------------+
| Field | Value |
+--------------+----------------------------------+
| enabled | True |
| id | 98b1c147d0ca4c40b25a0e4d3aceb158 |
| interface | internal |
| region | RegionOne |
| region_id | RegionOne |
| service_id | 18067ee1b4834499830494dac5fd56f9 |
| service_name | heat-cfn |
| service_type | cloudformation |
| url | http://192.168.10.13:8000/v1 |
+--------------+----------------------------------+
[root@node1 ~(keystone)]# openstack endpoint create --region RegionOne cloudformation admin http://192.168.10.13:8000/v1
+--------------+----------------------------------+
| Field | Value |
+--------------+----------------------------------+
| enabled | True |
| id | abba54b8fff14aafb3e296b458fdb019 |
| interface | admin |
| region | RegionOne |
| region_id | RegionOne |
| service_id | 18067ee1b4834499830494dac5fd56f9 |
| service_name | heat-cfn |
| service_type | cloudformation |
| url | http://192.168.10.13:8000/v1 |
+--------------+----------------------------------+
4) 创建heat_domain并为其添加用户
[root@node1 ~(keystone)]# openstack domain create --description "Stack projects and users" heat
+-------------+----------------------------------+
| Field | Value |
+-------------+----------------------------------+
| description | Stack projects and users |
| enabled | True |
| id | e897d757336d4f02b394ba789a81e7f4 |
| name | heat |
| tags | [] |
+-------------+----------------------------------+
[root@node1 ~(keystone)]# openstack user create --domain heat --password servicepassword heat_domain_admin
+---------------------+----------------------------------+
| Field | Value |
+---------------------+----------------------------------+
| domain_id | e897d757336d4f02b394ba789a81e7f4 |
| enabled | True |
| id | dbe2d94d0b4a4a8b8b3426257562e5f2 |
| name | heat_domain_admin |
| options | {} |
| password_expires_at | None |
+---------------------+----------------------------------+
[root@node1 ~(keystone)]# openstack role add --domain heat --user heat_domain_admin admin
5) 配置数据库
[root@node1 ~(keystone)]# mysql -u root -p
Enter password:
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 129
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 'password';
Query OK, 0 rows affected (0.00 sec)
MariaDB [(none)]> grant all privileges on heat.* to heat@'%' identified by 'password';
Query OK, 0 rows affected (0.00 sec)
MariaDB [(none)]> flush privileges;
Query OK, 0 rows affected (0.00 sec)
MariaDB [(none)]> exit
Bye
|