Core-os: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
Thomas (Diskussion | Beiträge) (Die Seite wurde neu angelegt: „*https://coreos.com/docs/running-coreos/platforms/libvirt/“) |
Thomas (Diskussion | Beiträge) |
||
| (9 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
| Zeile 1: | Zeile 1: | ||
| + | *[[etcd]] | ||
| + | |||
| + | |||
| + | |||
*https://coreos.com/docs/running-coreos/platforms/libvirt/ | *https://coreos.com/docs/running-coreos/platforms/libvirt/ | ||
| + | =docker cluster= | ||
| + | *user-data | ||
| + | <pre> | ||
| + | |||
| + | #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 | ||
| + | </pre> | ||
| + | |||
| + | <pre> | ||
| + | $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 | ||
| + | |||
| + | |||
| + | </pre> | ||
| + | |||
| + | *core@core-01 ~ $ cat CoreGi.service | ||
| + | <pre> | ||
| + | [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 | ||
| + | </pre> | ||
| + | *fleetctl stop CoreGi.service | ||
| + | *fleetctl start CoreGi.service | ||
| + | *fleetctl destroy CoreGi.service | ||
| + | *fleetctl start CoreGi.service | ||
| + | *fleetctl list-units | ||
Aktuelle Version vom 22. November 2015, 17:29 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