4. Advanced Use Cases
• The scenario: Manage a CoreOS Container Linux Cluster with Foreman
• Setup: Simple
• Deployment and Configuration: Easy
• System Updates: Painless
5. Container Linux
• CoreOS Container Linux
• Image Based Lightweight Linux OS
• Made for (Container-) Clusters
• No Package Manager J
• No Puppet J
• Configuration via
• coreos-metadata („cloud-init“)
• Ignition
6. Aim
• Deploy a three node etcd Cluster on CoreOS
• Distributed Key-Value-Store
Host 2Host 1 Host 3
Hostgroup
11. Provisioning Workflow
Example valid for on-premise systems, e.g. VMWare
1. PXE-Boot PXELinux
2. Load Kernel & Full CoreOS Image
3. Request Provisioning Template from Foreman
4. Provisioning Template writes system‘s config to disk
5. coreos-install writes CoreOS to disk, uses provisiong template
6. Signal Foreman that host is built, reboot
16. Verify
ssh core@tst-timoetcd-01.lxsbx.ka.de.dm-drogeriemarkt.com
Container Linux by CoreOS stable (1409.6.0)
core@tst-timoetcd-01 ~ $ etcdctl cluster-health
member 9e8581bdc5457367 is healthy: got healthy result from
http://172.23.76.35:2379
member a1f966aae11beb97 is healthy: got healthy result from
http://172.23.76.39:2379
member b533d7354d072e18 is healthy: got healthy result from
http://172.23.76.43:2379
cluster is healthy
core@tst-timoetcd-01 ~ $
19. System Updates – How they should work (I)
• Fully automated updates increase security and reliability
• Great when applications are distributed
• Updates are pulled by the hosts
• Only one system can boot at once, great for clusters