17
CoreOS Introduction Johann Romefort http://containera.io

CoreOS introduction - by johann romefort

Embed Size (px)

Citation preview

CoreOS Introduction

Johann Romefort

http://containera.io

What is CoreOS?

What is CoreOS?

• A minimal Linux distro (~100MB)

• Huge focus on security: CoreOS mission is “Secure the Internet”

• The best way to run containers

• A read-only rootfs

• Automatic updates

Automatic Updates

• Active / Passive partitions

• Update Partition B while partition A is running. Reboot to partition B, reverse to A if any problem found.

• Reboot causes app downtime… unless…

etcd

• Distributed Key-Value store

• Service discovery

• No local configuration

Running Containers on CoreOS

Fleet

• Distributed init system for cluster

• Uses etcd

• Actually relies on systemd: Submit a systemd Unit file and handles scheduling on the cluster

• Enable high-availability services

Running Containers on fleet

Boot Sequence

• Look for cloud-config

• Lookup how to join an existing cluster

• Start etcd service

• Start fleet service

Creating a CoreOS cluster on

Digital Ocean

Pre-requesites

• Make sure you use a SSH key

• Create a DigitalOcean Personal Access Token (to use the DO API)

Generate a New Discovery URL

• Unique address that stores peer CoreOS addresses and metadata

Write a Cloud-Config

metadata: region=europe,public_ip=$public_ipv4

Create a Service Unit file

• hello.service

Using fleet to schedule a service

• fleetctl submit hello.service

• fleetctl list-unit-files

• fleetctl cat hello.service

• fleetctl start hello.service

• fleetctl list-units

• fleetctl status hello.service

• fleetctl journal hello.service

What’s next…

Thank [email protected] http://linkedin.com/in/romefort http://twitter.com/romefort

Ping me here: