OpenStack Heat模板实战:快速创建用户、容器、网络与云主机类型
本文通过OpenStack Heat编排服务实战教学,详解使用YAML模板自动化创建用户体系、Swift容器、私有网络及云主机类型。涵盖OS::Keystone::Domain多层级用户管理、OS::Swift::Container容器配置、OS::Neutron::Net子网规划与DHCP策略,并提供完整代码片段及排错指南,助力提升OpenStack运维效率。
·
Heat是OpenStack中的编排服务,通过YAML模板自动化资源管理。本文通过4个实战案例,详解如何用Heat模板创建用户体系、Swift容器、网络资源及云主机类型。
一、创建用户、Domain、租户及用户绑定 🔑
目标:在chinaskills
Domain下创建beijing_group
租户,并创建用户cloud
。
# user_create.yml
heat_template_version: 2016-04-08
resources:
chinaskills_domain:
type: OS::Keystone::Domain
properties:
name: chinaskills
description: "Domain for ChinaSkills"
beijing_group_project:
type: OS::Keystone::Project
properties:
name: beijing_group
domain: { get_resource: chinaskills_domain }
cloud_user:
type: OS::Keystone::User
properties:
name: cloud
domain: { get_resource: chinaskills_domain }
password: "000000"
default_project: { get_resource: beijing_group_project }
执行与验证:
openstack stack create -t user_create.yml test-stack
openstack domain list
openstack project list --domain chinaskills
openstack user list --domain chinaskills
二、创建Swift容器 📦
目标:创建名为heat-swift
的Swift容器。
# create_swift.yaml
heat_template_version: 2016-04-08
resources:
swift_container:
type: OS::Swift::Container
properties:
name: heat-swift
执行与验证:
openstack stack create -t create_swift.yaml swift-stack
openstack container list
三、创建网络与子网 🌐
目标:创建私有网络Heat-Network
和子网Heat-Subnet
,配置DHCP地址池。
# create_net.yaml
heat_template_version: 2016-04-08
resources:
network:
type: OS::Neutron::Net
properties:
name: Heat-Network
shared: false
subnet:
type: OS::Neutron::Subnet
properties:
name: Heat-Subnet
network: { get_resource: network }
cidr: 10.20.2.0/24
allocation_pools:
- { start: 10.20.2.20, end: 10.20.2.100 }
enable_dhcp: true
执行与验证:
openstack stack create -t create_net.yaml network-stack
openstack network list
openstack subnet list
四、创建云主机类型(Flavor) 🖥️
目标:定义名为centos_10g
的Flavor,配置为1核1GB内存10GB磁盘。
# create_flavor.yaml
heat_template_version: 2016-04-08
resources:
centos_flavor:
type: OS::Nova::Flavor
properties:
name: centos_10g
flavorid: "2001"
vcpus: 1
ram: 1024 # 单位MB
disk: 10 # 单位GB
执行与验证:
openstack stack create -t create_flavor.yaml flavor-stack
openstack flavor list
📝 核心注意事项
-
资源依赖:使用
get_resource
确保资源按顺序创建。 -
属性验证:确保CIDR、地址池等参数符合网络规划。
-
权限检查:执行Heat模板需具备足够的Keystone权限。
-
模板版本:指定
heat_template_version
以兼容不同功能。
🔧 常见问题排查
-
资源创建失败:检查YAML缩进及属性拼写错误。
-
网络冲突:确认CIDR不与现有网络重叠。
-
权限不足:确保执行用户拥有admin角色权限。
-
资源未找到:检查资源名称是否在指定Domain或租户下。
掌握Heat模板编写,助您在OpenStack中实现高效自动化运维! 🚀
更多推荐
所有评论(0)