mirror of
https://codeberg.org/scottslowe/learning-tools.git
synced 2026-03-11 09:04:37 +00:00
Add non-functional preliminary version of files to run a Consul- backed Swarm cluster on OpenStack using Heat.
143 lines
3.9 KiB
YAML
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
|