OpenStack Zed : Configure Heat (Network Node)2022/11/11 |
|
Install OpenStack Orchestration Service (Heat).
This example is based on the environment like follows.
------------+-----------------------------+-----------------------------+------------
| | |
eth0|10.0.0.30 eth0|10.0.0.50 eth0|10.0.0.51
+-----------+-----------+ +-----------+-----------+ +-----------+-----------+
| [ dlp.srv.world ] | | [ network.srv.world ] | | [ node01.srv.world ] |
| (Control Node) | | (Network Node) | | (Compute Node) |
| | | | | |
| MariaDB RabbitMQ | | Open vSwitch | | Libvirt |
| Memcached Nginx | | Neutron Server | | Nova Compute |
| Keystone httpd | | OVN-Northd | | Open vSwitch |
| Glance Nova API | | Nginx iSCSI Target | | OVN Metadata Agent |
| Cinder API | | Cinder Volume | | OVN-Controller |
| | | Heat API/Engine | | |
+-----------------------+ +-----------------------+ +-----------------------+
|
| [1] | Install Heat services on Network Node. |
|
[root@network ~]# dnf --enablerepo=centos-openstack-zed,epel,crb -y install openstack-heat-api openstack-heat-api-cfn openstack-heat-engine python3-heatclient
|
| [2] | Get valid SSL/TLS certificate or Create self-signed certificate for Network Node and Configure Heat. |
|
[root@network ~]# cp /etc/letsencrypt/live/network.srv.world/{fullchain.pem,privkey.pem} /etc/heat/ [root@network ~]# chown heat /etc/heat/{fullchain.pem,privkey.pem} [root@network ~]# mv /etc/heat/heat.conf /etc/heat/heat.conf.org
[root@network ~]#
vi /etc/heat/heat.conf # create new [DEFAULT] deferred_auth_method = trusts trusts_delegated_roles = heat_stack_owner # specify Heat API Host heat_metadata_server_url = https://network.srv.world:8000 heat_waitcondition_server_url = https://network.srv.world:8000/v1/waitcondition heat_stack_user_role = heat_stack_user # Heat domain name stack_user_domain_name = heat # Heat domain admin username stack_domain_admin = heat_domain_admin # Heat domain admin's password stack_domain_admin_password = servicepassword # RabbitMQ connection info transport_url = rabbit://openstack:password@dlp.srv.world # MariaDB connection info [database] connection = mysql+pymysql://heat:password@dlp.srv.world/heat # Keystone connection info [clients_keystone] auth_uri = https://dlp.srv.world:5000 [heat_api] bind_host = 10.0.0.50 bind_port = 8004 cert_file = /etc/heat/fullchain.pem key_file = /etc/heat/privkey.pem [heat_api_cfn] bind_host = 10.0.0.50 bind_port = 8000 cert_file = /etc/heat/fullchain.pem key_file = /etc/heat/privkey.pem # Keystone auth info [keystone_authtoken] www_authenticate_uri = https://dlp.srv.world:5000 auth_url = https://dlp.srv.world:5000 memcached_servers = dlp.srv.world:11211 auth_type = password project_domain_name = default user_domain_name = default project_name = service username = heat password = servicepassword # if using self-signed certs on Apache2 Keystone, turn to [true] insecure = false [trustee] auth_url = https://dlp.srv.world:5000 auth_type = password user_domain_name = default username = heat password = servicepassword chgrp heat /etc/heat/heat.conf [root@network ~]# chmod 640 /etc/heat/heat.conf [root@network ~]# su -s /bin/bash heat -c "heat-manage db_sync" [root@network ~]# systemctl enable --now openstack-heat-api openstack-heat-api-cfn openstack-heat-engine |
| [3] | If Firewalld is running, allow service ports. |
|
[root@network ~]# firewall-cmd --add-port={8000/tcp,8004/tcp} success [root@network ~]# firewall-cmd --runtime-to-permanent success |
| Sponsored Link |
|
|