CoreOS Overview

17
Víctor S. Recio CEO NerCore Inc, @vsrecio / [email protected]

Transcript of CoreOS Overview

Page 1: CoreOS Overview

Víctor S. RecioCEO NerCore Inc,

@vsrecio / [email protected]

Page 2: CoreOS Overview

Who am I?

Víctor S. RecioCEO NerCore Inc,@[email protected]

Lead● Docker Santo Domingo● Linux Dominicana● Golang Dominicana

Page 3: CoreOS Overview

Agenda

CoreOSWhat is CoreOS?CoreOS OverviewInstall CoreOS

EtcdWhat is Etcd?Etcd Overview

FleetWhat is Fleet?Fleet Overview

Demos

Page 4: CoreOS Overview

CoreOS

Linux Distro

Kernel

Systemd

ssh

Docker

Python

Ruby

Java

MySQL

App

Page 5: CoreOS Overview

CoreOS

Linux Distro

KernelSystemd

sshDocker

Python 2.7

Ruby

Java

MySQL 5.4

CoreOS Docker Container

App

Page 6: CoreOS Overview

CoreOS

CoreOS

Linux Distro

rktDocker

systemd etcd fleet

Containersystem

initsystem

Distributedkey-value

store

ClusterManager

Page 7: CoreOS Overview

CoreOS Overview

CoreOS runs on almost any platform, including Vagrant, Amazon EC2, QEMU/KVM, VMware and OpenStack and your own hardware.

CoreOS is a minimal operating system that supports popular container systems out of the box. The operating system is designed to be operated in clusters.

CoreOS doesn't ship a package manager — any software you would like to use must run within a container.

Page 8: CoreOS Overview

CoreOS Overview

Features● Automatic update● btrfs● Read only rootfs ● Writable overlay on /etc● No classic package manager (apt, yum, dnf)● Rollback

Page 9: CoreOS Overview

CoreOS Overview

Automatic Update

Omaha protocol (check-in/retrieval)

Omaha is the open-source version of Google Update, a program to install requested software and keep it up to date.

The protocol is a fairly simple — it specifies sending HTTP POSTs with XML data bodies for various events that happen during the execution of an update.

Page 10: CoreOS Overview

CoreOS Overview

Update Request

● Active/Passive root partitions● System running off read-only /usr on A● OS update downloads to B, system reboot

when ready*● In the event of boot failure, rollback

Page 11: CoreOS Overview

CoreOS Overview

Active/Passive root partitions

core@core-01 ~ $ sudo cgpt show /dev/sda3 start size part contents 270336 2097152 3 Label: "USR-A" Type: Alias for coreos-rootfs UUID: 7130C94A-213A-4E5A-8E26-6CCE9662F132 Attr: priority=1 tries=0 successful=1core@core-01 ~ $ sudo cgpt show /dev/sda4 start size part contents 2367488 2097152 4 Label: "USR-B" Type: Alias for coreos-rootfs UUID: E03DD35C-7C2D-4A47-B3FE-27F15780A57C Attr: priority=0 tries=0 successful=0

Page 12: CoreOS Overview

etcd

What is etcd?

etcd is an open-source distributed key value store that provides shared configuration and service discovery for CoreOS clusters. etcd runs on each machine in a cluster and gracefully handles master election during network partitions and the loss of the current master.

Page 13: CoreOS Overview

etcd overview

What is etcd?

Page 14: CoreOS Overview

fleet

What is fleet?

fleet is a cluster manager that controls systemd at the cluster level. To run your services in the cluster, you must submit regular systemd units combined with a few fleet-specific properties.

Page 15: CoreOS Overview

fleet overview

What is fleet?

Fleet

Page 16: CoreOS Overview

Demo

Page 17: CoreOS Overview

Thanks!Victor S. RecioCEO and Founder at NerCore Inc,@[email protected]