1.17. Heat の導入
Heat を導入するということは、Heat が無効になっているはずの既存の OpenStackControlPlane CR にパッチを適用して、ソース環境により指定された設定パラメーターを使用してサービスを開始する必要があることを意味します。
導入プロセスが完了すると、ユーザーは Heat、HeatAPI、HeatEngine、および HeatCFNAPI の CR を取得しています。さらに、Keystone 内にエンドポイントが作成されているはずです。これにより、上記のサービスが容易になります。
このガイドでは、以下も前提としています。
-
TripleO環境 (ソースクラウド) が片側で実行されている。 - OpenShift 環境は反対側で実行されています。
1.17.1. 前提条件 リンクのコピーリンクがクリップボードにコピーされました!
- 前の導入手順を完了している。特に、MariaDB と Keystone が導入されている必要があります。
- 既存の Heat スタックに、Neutron、Nova、Swift などの他のサービスのリソースが含まれている場合があります。Heat を導入する前に、これらのサービスを導入する必要があります。
1.17.2. 手順 - Heat の導入 リンクのコピーリンクがクリップボードにコピーされました!
Heat の導入でも、Keystone と同じパターンを実行します。
osp-secret にパッチを適用して、HeatAuthEncryptionKey と HeatPassword を更新します。これは、既存の TripleO Heat 設定と一致する必要があります。
以下を実行して、既存の auth_encryption_key と service パスワードを取得し、検証できます。
[stack@rhosp17 ~]$ grep -E 'HeatPassword|HeatAuth' ~/overcloud-deploy/overcloud/overcloud-passwords.yaml
HeatAuthEncryptionKey: Q60Hj8PqbrDNu2dDCbyIQE2dibpQUPg2
HeatPassword: dU2N0Vr2bdelYH7eQonAwPfI3
コントローラーの 1 つで、これが実際に使用されている値であることを確認します。
[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. 事後チェック リンクのコピーリンクがクリップボードにコピーされました!
すべての 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. Heat サービスが Keystone に登録されていることを確認する リンクのコピーリンクがクリップボードにコピーされました!
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