This is the HOT for WordPess deployment on top of OpenStack environment.
heat_template_version: 2014-09-06 description: > Heat Docker template using software deployments. parameters: key_name: type: string description : Name of a KeyPair to enable SSH access to the instance default: heat instance_type: type: string description: Instance type for WordPress server default: m1.small image: type: string description: > Name or ID of the image to use for the Docker server. This needs to be built with os-collect-config tools from a fedora base image. resources: docker_sg: type: OS::Neutron::SecurityGroup properties: description: Ping, SSH, Docker rules: - protocol: icmp - protocol: tcp port_range_min: 22 port_range_max: 22 - protocol: tcp port_range_min: 80 port_range_max: 80 - protocol: tcp port_range_min: 2345 port_range_max: 2345 docker_config: type: OS::Heat::SoftwareConfig properties: group: script config: | #!/bin/bash -v setenforce 0 yum -y install docker-io cp /usr/lib/systemd/system/docker.service /etc/systemd/system/ sed -i -e '/ExecStart/ { s,fd://,tcp://0.0.0.0:2345, }' /etc/systemd/system/docker.service systemctl start docker.service docker_deployment: type: OS::Heat::SoftwareDeployment properties: config: {get_resource: docker_config} server: {get_resource: docker_host} docker_host: type: OS::Nova::Server properties: image: {get_param: image} flavor: {get_param: instance_type} key_name: {get_param: key_name} security_groups: - {get_resource: docker_sg} user_data_format: SOFTWARE_CONFIG database_password: type: OS::Heat::RandomString database: type: DockerInc::Docker::Container depends_on: [docker_deployment] properties: image: mysql name: db docker_endpoint: str_replace: template: http://host:2345/ params: host: {get_attr: [docker_host, networks, private, 0]} env: - {str_replace: {template: MYSQL_ROOT_PASSWORD=password, params: {password: {get_attr: [database_password, value]}}}} wordpress: type: DockerInc::Docker::Container depends_on: [database] properties: image: wordpress links: db: mysql port_bindings: 80/tcp: [{"HostPort": "80"}] docker_endpoint: str_replace: template: http://host:2345/ params: host: {get_attr: [docker_host, networks, private, 0]} outputs: url: description: Public address of the web site value: str_replace: template: http://host/wordpress params: host: {get_attr: [docker_host, networks, private, 0]}
[OpenStack]Deploy WordPress Using Heat
原文地址:http://blog.csdn.net/wonderfan/article/details/39099057