[OpenStack]Deploy WordPress Using Heat

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]}
时间: 2024-12-08 22:48:06

[OpenStack]Deploy WordPress Using Heat的相关文章

openStack Use Orchestration module(heat) create and manage cloud resources

The Orchestration module(heat) uses a heat orchestration template(HOT)to create and manage cloud resources; The Orchestration module provides a template-based orchestration for description a cloud application,generrate running cloud applications; the

【译】OpenStack Heat基础介绍

原文:http://blog.scottlowe.org/2014/05/01/an-introduction-to-openstack-heat/ 本文将简要地介绍OpenStack Heat. Heat项目提供协作服务,允许我们可以自动地创建多个计算实例,逻辑网络,以及对其他的云服务的操作.请注意,这只是一个简要介绍—我不是Heat的专家,我只是想要分享一些基本信息以便读者可以更快的使用Heat. 为了在以下的具体的例子中不至于产生困扰,我们先从术语开始. Stack(栈): 在Heat领域

openstack安装配置—— orchestration安装配置

    如果一次需要启动10个实例,手动一个一个的去套模版启动,相信也行太low了吧,openstack官方也为运维人员准备了强大的利器,那就是任务编排orchestration服务模块了,当然如果要想用好这一工具来帮我解决低级趣味的任务编排,还需要我们专业去学习一下heat模版语法了,在这里我只是带大家简单实现一下通过任务编排模版自动创建并启动一个实例,具体语法规则不这里不详细陈述. controller节点安装配置 准备数据库 [[email protected] ~]# mysql Wel

OpenStack 企业私有云的几个需求(2):自动扩展(Auto-scaling) 支持

本系列会介绍OpenStack 企业私有云的几个需求: GPU 支持 自动扩展(Auto-scaling)支持 混合云(Hybrid cloud)支持 物理机(Bare metal)支持 CDN 支持 企业负载均衡器(F5)支持 大规模扩展性(100个计算节点)支持 商业SDN控制器支持 弹性是一个真正的云平台必须具备的五大特征(自助使用.网络.独立资源池.快速弹性.服务可计量)之一,它是指一种对资源快速和弹性地提供(扩展),以及同样对资源快速和弹性地释放(收缩)的能力.因此,可以认为,弹性是云

[转]用了docker是否还有必要使用openstack?

从一项颠覆性的技术成果转化并衍生出一整套社区体系,Docker在发展速度上打破了一个又一个历史纪录.然而,Docker项目在采纳与普及方面表现出惊人态势的同时,也给我们带来了一系列疑问与困惑. 在今天的文章中,我希望将注意力集中在朋友们最为关注的评论议题身上.随着Docker项目在人气方面的持续飙升,很快刚刚接触这一新生事物的读者在实践过程中不禁产生了这样的疑问:如果已经决定使用Docker,是否还有必要同时使用OpenStack? 在给出自己的观点之前,我打算首先就背景信息入手为各位进行讲解,

你真的了解OpenStack吗?学过的人,都知道!

一.活动介绍 随着云计算与大数据的深入实践,OpenStack技术领域已经产生巨大的人才缺口,一场OpenStack高端实战技术培训恰逢其时.本次培训融入了"实战"的要素,聚焦云计算实战,一线技术专家将对OpenStack进行涵盖技术应用.问题解析.实战经验等方面的高端培训. 与此同时还会给大家分享一些在网上不能随便就搜到的内容和窍门,由浅入深,通俗易懂,手把手带你进入OpenStack的世界--"学过的人,都知道". 另外,在6月01日之前购买该线下培训公开课个人

OpenStack 安装文档(11)-- 编排服务

编排服务 - 安装和配置: 控制节点操作: 先决条件: 1.按步骤操作. # mysql -u root -p*** > CREATE DATABASE heat; > GRANT ALL PRIVILEGES ON heat.* TO 'heat'@'localhost' IDENTIFIED BY 'HEAT_DBPASS'; > GRANT ALL PRIVILEGES ON heat.* TO 'heat'@'%' IDENTIFIED BY 'HEAT_DBPASS'; >

(转)OpenStack各服务所用端口号总结

参考:Firewalls and default ports 注:可执行 sudo netstat -tnlp 查看 端口 服务描述 22 SSH 3306 MariaDB(MySQL) 27017 MongoDB 5672.25672 RabbitMQ 4369 Erlang端口映射守护进程(Erlang Port Mapper Daemon) 11211 Memcached 35357 OpenStack Identity Service of Apache HTTP Server(Admi

Centos7.4下用Docker-Compose部署WordPress

原文:Centos7.4下用Docker-Compose部署WordPress 前言 最近在学习Docker相关知识,通过阅读第一本Docker书后,正想着手实战用一下这个技术,但又不太敢直接在项目环境下动手.考虑足足三秒钟之后决定买个阿里云ECS搭建一个属于自己的基于Docker的WordPress博客Daniel Fu's hut传送门. 本博客搭建环境(阿里云ECS的购买与基本的安全组配置等工作在文中省略,各位看官可自行研究): 阿里云ECS Centos 7.4 部署工具: Docker