Core-os: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
Thomas (Diskussion | Beiträge) |
Thomas (Diskussion | Beiträge) |
||
| Zeile 3: | Zeile 3: | ||
*user-data | *user-data | ||
<pre> | <pre> | ||
| + | |||
| + | #cloud-config | ||
| + | |||
| + | --- | ||
coreos: | coreos: | ||
etcd: | etcd: | ||
addr: $public_ipv4:4001 | addr: $public_ipv4:4001 | ||
peer-addr: $public_ipv4:7001 | peer-addr: $public_ipv4:7001 | ||
| − | discovery: https://discovery.etcd.io/ | + | discovery: https://discovery.etcd.io/122baeb3e193ecb09023ce27a508860b |
etcd2: | etcd2: | ||
advertise-client-urls: http://$public_ipv4:2379 | advertise-client-urls: http://$public_ipv4:2379 | ||
| Zeile 13: | Zeile 17: | ||
listen-client-urls: http://0.0.0.0:2379,http://0.0.0.0:4001 | listen-client-urls: http://0.0.0.0:2379,http://0.0.0.0:4001 | ||
listen-peer-urls: http://$private_ipv4:2380,http://$private_ipv4:7001 | listen-peer-urls: http://$private_ipv4:2380,http://$private_ipv4:7001 | ||
| − | discovery: https://discovery.etcd.io/ | + | discovery: https://discovery.etcd.io/122baeb3e193ecb09023ce27a508860b |
fleet: | fleet: | ||
public-ip: $public_ipv4 | public-ip: $public_ipv4 | ||
| Zeile 40: | Zeile 44: | ||
command: start | command: start | ||
enable: true | enable: true | ||
| − | content: | + | content: | |
| − | + | [Unit] | |
| + | Description=httpd | ||
| + | Requires=docker.service | ||
| + | After=docker.service | ||
| + | |||
| + | [Service] | ||
| + | ExecStart=/usr/bin/docker run -d -p 80:80 --name own-httpd httpd | ||
| + | |||
| + | [Install] | ||
| + | WantedBy=multi-user.target | ||
</pre> | </pre> | ||
Version vom 23. April 2015, 15:59 Uhr
docker cluster
- user-data
#cloud-config
---
coreos:
etcd:
addr: $public_ipv4:4001
peer-addr: $public_ipv4:7001
discovery: https://discovery.etcd.io/122baeb3e193ecb09023ce27a508860b
etcd2:
advertise-client-urls: http://$public_ipv4:2379
initial-advertise-peer-urls: http://$private_ipv4:2380
listen-client-urls: http://0.0.0.0:2379,http://0.0.0.0:4001
listen-peer-urls: http://$private_ipv4:2380,http://$private_ipv4:7001
discovery: https://discovery.etcd.io/122baeb3e193ecb09023ce27a508860b
fleet:
public-ip: $public_ipv4
flannel:
interface: $public_ipv4
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
Service=docker.service
BindIPv6Only=both
[Install]
WantedBy=sockets.target
- name: httpd.service
command: start
enable: true
content: |
[Unit]
Description=httpd
Requires=docker.service
After=docker.service
[Service]
ExecStart=/usr/bin/docker run -d -p 80:80 --name own-httpd httpd
[Install]
WantedBy=multi-user.target
$num_instances=3
$new_discovery_url="https://discovery.etcd.io/new?size=#{$num_instances}"
if File.exists?('user-data') && ARGV[0].eql?('up')
require 'open-uri'
require 'yaml'
token = open($new_discovery_url).read
data = YAML.load(IO.readlines('user-data')[1..-1].join)
if data['coreos'].key? 'etcd'
data['coreos']['etcd']['discovery'] = token
end
if data['coreos'].key? 'etcd2'
data['coreos']['etcd2']['discovery'] = token
end
yaml = YAML.dump(data)
File.open('user-data', 'w') { |file| file.write("#cloud-config\n\n#{yaml}") }
end
$update_channel='stable'
#$vm_gui = true
$vm_memory = 1024
$vm_cpus = 1
- core@core-01 ~ $ cat CoreGi.service
[Unit]
Description=CoreGI
After=docker.service
Requires=docker.service
[Service]
EnvironmentFile=/etc/environment
User=core
TimeoutStartSec=0
ExecStartPre=-/usr/bin/docker kill coregi
ExecStartPre=-/usr/bin/docker rm coregi
ExecStartPre=/usr/bin/docker pull yodlr/coregi:latest
ExecStart=/usr/bin/docker run --name coregi \
-p 3000:3000 \
-v /usr/bin/fleetctl:/usr/bin/fleetctl \
yodlr/coregi:latest
ExecStop=/usr/bin/docker stop coregi
[X-Fleet]
Global=True
- fleetctl stop CoreGi.service
- fleetctl start CoreGi.service
- fleetctl destroy CoreGi.service
- fleetctl start CoreGi.service
- fleetctl list-units