解读先电2.4 iaas-install-heat.sh 脚本

本文档详细介绍了如何配置OpenStack Heat组件,包括数据库创建、权限分配、服务注册、端点设置、身份验证配置以及相关服务的启动和同步。主要涉及heat-api、heat-api-cfn和heat-engine等服务的安装与配置,确保热部署和云编排功能的正常运行。
#!/bin/bash
source /etc/xiandian/openrc.sh
source /etc/keystone/admin-openrc.sh

mysql -uroot -p$DB_PASS -e "create database IF NOT EXISTS heat ;"
mysql -uroot -p$DB_PASS -e "GRANT ALL PRIVILEGES ON heat.* TO 'heat'@'localhost' IDENTIFIED BY '$HEAT_DBPASS' ;"
mysql -uroot -p$DB_PASS -e "GRANT ALL PRIVILEGES ON heat.* TO 'heat'@'%' IDENTIFIED BY '$HEAT_DBPASS' ;"

yum install openstack-heat-api openstack-heat-api-cfn openstack-heat-engine openstack-heat-ui -y

openstack user create --domain $DOMAIN_NAME --password $HEAT_PASS heat
openstack role add --project service --user heat admin
openstack service create --name heat --description "Orchestration" orchestration
openstack service create --name heat-cfn --description "Orchestration"  cloudformation 

openstack endpoint create --region RegionOne orchestration public http://$HOST_NAME:8004/v1/%\(tenant_id\)s
openstack endpoint create --region RegionOne orchestration internal http://$HOST_NAME:8004/v1/%\(tenant_id\)s
openstack endpoint create --region RegionOne orchestration admin http://$HOST_NAME:8004/v1/%\(tenant_id\)s
openstack endpoint create --region RegionOne cloudformation public http://$HOST_NAME:8000/v1
openstack endpoint create --region RegionOne cloudformation internal http://$HOST_NAME:8000/v1
openstack endpoint create --region RegionOne cloudformation admin http://$HOST_NAME:8000/v1

openstack domain create --description "Stack projects and users" heat   		 #创建heat域,用来管理堆栈项目和用户
openstack user create --domain heat  --password $HEAT_PASS heat_domain_admin
openstack role add --domain heat --user-domain heat --user heat_domain_admin admin
openstack role create heat_stack_owner
openstack role add --project demo --user demo heat_stack_owner
openstack role create heat_stack_user
crudini --set /etc/heat/heat.conf database connection mysql+pymysql://heat:$HEAT_DBPASS@$HOST_NAME/heat

crudini --set /etc/heat/heat.conf DEFAULT transport_url rabbit://$RABBIT_USER:$RABBIT_PASS@$HOST_NAME

#配置keystone认证服务
crudini --set /etc/heat/heat.conf keystone_authtoken auth_uri  http://$HOST_NAME:5000
crudini --set /etc/heat/heat.conf keystone_authtoken auth_url  http://$HOST_NAME:35357
crudini --set /etc/heat/heat.conf keystone_authtoken memcached_servers  $HOST_NAME:11211
crudini --set /etc/heat/heat.conf keystone_authtoken auth_type  password
crudini --set /etc/heat/heat.conf keystone_authtoken project_domain_name  $DOMAIN_NAME
crudini --set /etc/heat/heat.conf keystone_authtoken user_domain_name $DOMAIN_NAME
crudini --set /etc/heat/heat.conf keystone_authtoken project_name  service
crudini --set /etc/heat/heat.conf keystone_authtoken username  heat
crudini --set /etc/heat/heat.conf keystone_authtoken password  $HEAT_PASS

#配置受托
crudini --set /etc/heat/heat.conf trustee auth_plugin password
crudini --set /etc/heat/heat.conf trustee auth_url http://$HOST_NAME:35357
crudini --set /etc/heat/heat.conf trustee username heat
crudini --set /etc/heat/heat.conf trustee password $HEAT_PASS
crudini --set /etc/heat/heat.conf trustee user_domain_name $DOMAIN_NAME
crudini --set /etc/heat/heat.conf clients_keystone auth_uri http://$HOST_NAME:35357

#配置元数据和URL
crudini --set /etc/heat/heat.conf DEFAULT heat_metadata_server_url http://$HOST_NAME:8000
crudini --set /etc/heat/heat.conf DEFAULT heat_waitcondition_server_url http://$HOST_NAME:8000/v1/waitcondition

#配置关于heat认证实体服务的域
crudini --set /etc/heat/heat.conf DEFAULT stack_domain_admin heat_domain_admin
crudini --set /etc/heat/heat.conf DEFAULT stack_domain_admin_password $HEAT_PASS
crudini --set /etc/heat/heat.conf DEFAULT stack_user_domain_name heat

su -s /bin/sh -c "heat-manage db_sync" heat

systemctl enable openstack-heat-api.service openstack-heat-api-cfn.service openstack-heat-engine.service
systemctl restart openstack-heat-api.service openstack-heat-api-cfn.service openstack-heat-engine.service
systemctl restart httpd memcached

——heat-api:实现 OpenStack 原生支持的 REST API。该组件通过把 API 请求经由 AMQP 传送给 Heat engine 来处理 API 请求。

——heat-api-cfn:提供与 AWS CloudFormation 兼容的、AWS 风格的查询 API,处理请求并通过 AMQP 将它们发送到 heat-engine。

——heat-engine:执行模板内容,最终完成应用系统的创建和部署,并把执行结果返回给 API 调用者。

OpenStack中heat组件详解:https://www.cnblogs.com/mh20131118/p/12963885.html

### 文件用途 `iaas-install-cinder-controller.sh` 文件可能用于在控制节点安装 Cinder 服务。在控制节点和计算节点分别使用 `iaas-install-cinder-controller.sh`、`iaas-install-cinder-compute.sh` 脚本安装 Cinder 服务,由此可推测该文件是用于自动化安装和配置控制节点上的 Cinder 服务的脚本,Cinder 是 OpenStack 中的块存储服务,主要用于为虚拟机提供持久化的块存储设备,如虚拟硬盘等 [^3]。 ### 后续操作 - **执行脚本**:若该文件是可执行脚本,可使用以下命令执行脚本,以完成 Cinder 服务在控制节点的安装和配置: ```bash chmod +x /usr/local/bin/iaas-install-cinder-controller.sh /usr/local/bin/iaas-install-cinder-controller.sh ``` - **查看脚本内容**:为了解脚本具体执行的操作,可使用 `cat`、`vim` 等命令查看脚本内容。例如使用 `cat` 命令查看: ```bash cat /usr/local/bin/iaas-install-cinder-controller.sh ``` - **验证安装结果**:脚本执行完成后,可通过查看服务状态、检查配置文件等方式验证 Cinder 服务是否安装成功。例如查看 Cinder 服务状态: ```bash systemctl status openstack-cinder-api.service ``` ### 示例代码解释 - `chmod +x /usr/local/bin/iaas-install-cinder-controller.sh`:为脚本添加可执行权限。 - `/usr/local/bin/iaas-install-cinder-controller.sh`:执行脚本- `cat /usr/local/bin/iaas-install-cinder-controller.sh`:查看脚本内容。 - `systemctl status openstack-cinder-api.service`:查看 Cinder API 服务的状态。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

‘秋歌:

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值