1.17. 使用 Heat
使用 Heat 意味着应该禁用 Heat 的现有 OpenStackControlPlane CR 进行补丁,以使用源环境提供的配置参数启动该服务。
在采用过程完成后,用户可以预期他们有针对 Heat、HeatAPI、HeatEngine 和 HeatCFNAPI 的 CR。此外,用户应该在 Keystone 中创建端点,以便于上述服务。
本指南还假设:
-
TripleO环境(源云)在一个端运行; - OpenShift 环境在另一端运行。
1.17.1. 先决条件 复制链接链接已复制到粘贴板!
- 以前的 Adoption 步骤已完成。值得注意的是,应已经采用 MariaDB 和 Keystone。
- 此外,如果现有 Heat 堆栈包含来自 Neutron、Nova、Swift 等其他服务的资源。在尝试采用 Heat 之前,应首先采用这些服务。
1.17.2. 流程 - Heat 采用 复制链接链接已复制到粘贴板!
与 Keystone 所做的一样,Heat Adoption 遵循类似的模式。
修补 osp-secret 以更新 HeatAuthEncryptionKey 和 HeatPassword。这需要与您在现有 TripleO Heat 配置中配置的内容匹配。
您可以通过以下方式检索并验证现有的 auth_encryption_key 和服务 密码:
[stack@rhosp17 ~]$ grep -E 'HeatPassword|HeatAuth' ~/overcloud-deploy/overcloud/overcloud-passwords.yaml
HeatAuthEncryptionKey: Q60Hj8PqbrDNu2dDCbyIQE2dibpQUPg2
HeatPassword: dU2N0Vr2bdelYH7eQonAwPfI3
并在其中一个控制器中验证是否确实是使用中的值:
[stack@rhosp17 ~]$ ansible -i overcloud-deploy/overcloud/config-download/overcloud/tripleo-ansible-inventory.yaml overcloud-controller-0 -m shell -a "grep auth_encryption_key /var/lib/config-data/puppet-generated/heat/etc/heat/heat.conf | grep -Ev '^#|^$'" -b
overcloud-controller-0 | CHANGED | rc=0 >>
auth_encryption_key=Q60Hj8PqbrDNu2dDCbyIQE2dibpQUPg2
此密码需要采用 base64 编码,并添加到 osp-secret中
❯ echo Q60Hj8PqbrDNu2dDCbyIQE2dibpQUPg2 | base64
UTYwSGo4UHFickROdTJkRENieUlRRTJkaWJwUVVQZzIK
❯ oc patch secret osp-secret --type='json' -p='[{"op" : "replace" ,"path" : "/data/HeatAuthEncryptionKey" ,"value" : "UTYwSGo4UHFickROdTJkRENieUlRRTJkaWJwUVVQZzIK"}]'
secret/osp-secret patched
对 OpenStackControlPlane 进行补丁来部署 Heat:
oc patch openstackcontrolplane openstack --type=merge --patch '
spec:
heat:
enabled: true
apiOverride:
route: {}
template:
databaseInstance: openstack
secret: osp-secret
memcachedInstance: memcached
passwordSelectors:
authEncryptionKey: HeatAuthEncryptionKey
database: HeatDatabasePassword
service: HeatPassword
'
1.17.3. post-checks 复制链接链接已复制到粘贴板!
确保所有 CR 都到达 "Setup Complete" 状态:
❯ oc get Heat,HeatAPI,HeatEngine,HeatCFNAPI
NAME STATUS MESSAGE
heat.heat.openstack.org/heat True Setup complete
NAME STATUS MESSAGE
heatapi.heat.openstack.org/heat-api True Setup complete
NAME STATUS MESSAGE
heatengine.heat.openstack.org/heat-engine True Setup complete
NAME STATUS MESSAGE
heatcfnapi.heat.openstack.org/heat-cfnapi True Setup complete
1.17.3.1. 检查 Keystone 中是否已注册了 Heat 服务 复制链接链接已复制到粘贴板!
oc exec -it openstackclient -- openstack service list -c Name -c Type
+------------+----------------+
| Name | Type |
+------------+----------------+
| heat | orchestration |
| glance | image |
| heat-cfn | cloudformation |
| ceilometer | Ceilometer |
| keystone | identity |
| placement | placement |
| cinderv3 | volumev3 |
| nova | compute |
| neutron | network |
+------------+----------------+
❯ oc exec -it openstackclient -- openstack endpoint list --service=heat -f yaml
- Enabled: true
ID: 1da7df5b25b94d1cae85e3ad736b25a5
Interface: public
Region: regionOne
Service Name: heat
Service Type: orchestration
URL: http://heat-api-public-openstack-operators.apps.okd.bne-shift.net/v1/%(tenant_id)s
- Enabled: true
ID: 414dd03d8e9d462988113ea0e3a330b0
Interface: internal
Region: regionOne
Service Name: heat
Service Type: orchestration
URL: http://heat-api-internal.openstack-operators.svc:8004/v1/%(tenant_id)s
1.17.3.2. 检查 Heat 引擎服务是否已启动 复制链接链接已复制到粘贴板!
oc exec -it openstackclient -- openstack orchestration service list -f yaml
- Binary: heat-engine
Engine ID: b16ad899-815a-4b0c-9f2e-e6d9c74aa200
Host: heat-engine-6d47856868-p7pzz
Hostname: heat-engine-6d47856868-p7pzz
Status: up
Topic: engine
Updated At: '2023-10-11T21:48:01.000000'
- Binary: heat-engine
Engine ID: 887ed392-0799-4310-b95c-ac2d3e6f965f
Host: heat-engine-6d47856868-p7pzz
Hostname: heat-engine-6d47856868-p7pzz
Status: up
Topic: engine
Updated At: '2023-10-11T21:48:00.000000'
- Binary: heat-engine
Engine ID: 26ed9668-b3f2-48aa-92e8-2862252485ea
Host: heat-engine-6d47856868-p7pzz
Hostname: heat-engine-6d47856868-p7pzz
Status: up
Topic: engine
Updated At: '2023-10-11T21:48:00.000000'
- Binary: heat-engine
Engine ID: 1011943b-9fea-4f53-b543-d841297245fd
Host: heat-engine-6d47856868-p7pzz
Hostname: heat-engine-6d47856868-p7pzz
Status: up
Topic: engine
Updated At: '2023-10-11T21:48:01.000000'
1.17.3.3. 验证您现在可以再次看到 Heat 堆栈 复制链接链接已复制到粘贴板!
测试您能否创建网络、子网、端口或路由器:
❯ openstack stack list -f yaml
- Creation Time: '2023-10-11T22:03:20Z'
ID: 20f95925-7443-49cb-9561-a1ab736749ba
Project: 4eacd0d1cab04427bc315805c28e66c9
Stack Name: test-networks
Stack Status: CREATE_COMPLETE
Updated Time: null