OpenStack Heat模板实战:快速创建用户、容器、网络与云主机类型

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

核心注意事项
  1. 资源依赖:使用 get_resource 确保资源按顺序创建。

  2. 属性验证:确保CIDR、地址池等参数符合网络规划。

  3. 权限检查:执行Heat模板需具备足够的Keystone权限。

  4. 模板版本:指定heat_template_version以兼容不同功能。


常见问题排查
  • 资源创建失败:检查YAML缩进及属性拼写错误。

  • 网络冲突:确认CIDR不与现有网络重叠。

  • 权限不足:确保执行用户拥有admin角色权限。

  • 资源未找到:检查资源名称是否在指定Domain或租户下。

掌握Heat模板编写,助您在OpenStack中实现高效自动化运维!

你可能感兴趣的:(openstack,网络,ssh,运维,云计算)