scottslowe-learning-tools/swarm-consul-openstack/coreos-cluster.yml
Scott Lowe ccae5abce4 Add "swarm-consul-openstacK" folder and files
Add non-functional preliminary version of files to run a Consul-
backed Swarm cluster on OpenStack using Heat.
2015-05-21 09:08:35 -06:00

143 lines
3.9 KiB
YAML

heat_template_version: 2013-05-23
description: >
A simple Heat template to deploy a new CoreOS cluster.
parameters:
network_id:
type: string
label: Network ID
description: ID of existing Neutron network to use ("infra-net")
default: e6da808c-f832-4a70-81a7-8c090824e494
image_id:
type: string
label: Glance Image ID
description: ID of existing Glance image to use ("CoreOS 522.6.0 Stable")
default: f9cc4dfc-2864-4ddb-a27c-3095d1dd0e09
secgroup_id:
type: string
label: Security group ID
description: ID of existing security group ("all")
default: 74518432-12ba-4bdb-8d22-09c616b158b0
resources:
coreos_init:
type: OS::Heat::CloudConfig
properties:
cloud_config:
coreos:
etcd:
discovery: https://discovery.etcd.io/bf3853e90678038d4f6e26d3788729d1
addr: $private_ipv4:4001
peer-addr: $private_ipv4:7001
units:
- name: etcd.service
command: start
- name: fleet.service
command: start
- name: docker-tcp.socket
command: start
enable: true
content: |
[Unit]
Description=Docker Socket for the API
[Socket]
ListenStream=2375
BindIPv6Only=both
Service=docker.service
[Install]
WantedBy=sockets.target
instance0_port0:
type: OS::Neutron::Port
properties:
admin_state_up: true
network_id: { get_param: network_id }
security_groups:
- { get_param: secgroup_id }
instance1_port0:
type: OS::Neutron::Port
properties:
admin_state_up: true
network_id: { get_param: network_id }
security_groups:
- { get_param: secgroup_id }
instance2_port0:
type: OS::Neutron::Port
properties:
admin_state_up: true
network_id: { get_param: network_id }
security_groups:
- { get_param: secgroup_id }
instance3_port0:
type: OS::Neutron::Port
properties:
admin_state_up: true
network_id: { get_param: network_id }
security_groups:
- { get_param: secgroup_id }
instance4_port0:
type: OS::Neutron::Port
properties:
admin_state_up: true
network_id: { get_param: network_id }
security_groups:
- { get_param: secgroup_id }
instance0:
type: OS::Nova::Server
properties:
name: coreos-node-01
image: { get_param: image_id }
flavor: m1.small
networks:
- port: { get_resource: instance0_port0 }
key_name: lab
user_data_format: RAW
user_data:
get_resource: coreos_init
instance1:
type: OS::Nova::Server
properties:
name: coreos-node-02
image: { get_param: image_id }
flavor: m1.small
networks:
- port: { get_resource: instance1_port0 }
key_name: lab
user_data_format: RAW
user_data:
get_resource: coreos_init
instance2:
type: OS::Nova::Server
properties:
name: coreos-node-03
image: { get_param: image_id }
flavor: m1.small
networks:
- port: { get_resource: instance2_port0 }
key_name: lab
user_data_format: RAW
user_data:
get_resource: coreos_init
instance3:
type: OS::Nova::Server
properties:
name: coreos-node-04
image: { get_param: image_id }
flavor: m1.small
networks:
- port: { get_resource: instance3_port0 }
key_name: lab
user_data_format: RAW
user_data:
get_resource: coreos_init
instance4:
type: OS::Nova::Server
properties:
name: coreos-node-05
image: { get_param: image_id }
flavor: m1.small
networks:
- port: { get_resource: instance4_port0 }
key_name: lab
user_data_format: RAW
user_data:
get_resource: coreos_init