CoreOS Overview

Post on 16-Apr-2017

647 views 0 download

Transcript of CoreOS Overview

Víctor S. RecioCEO NerCore Inc,

@vsrecio / vrecio@nercore.com

Who am I?

Víctor S. RecioCEO NerCore Inc,@vsreciovrecio@nercore.com

Lead● Docker Santo Domingo● Linux Dominicana● Golang Dominicana

Agenda

CoreOSWhat is CoreOS?CoreOS OverviewInstall CoreOS

EtcdWhat is Etcd?Etcd Overview

FleetWhat is Fleet?Fleet Overview

Demos

CoreOS

Linux Distro

Kernel

Systemd

ssh

Docker

Python

Ruby

Java

MySQL

App

CoreOS

Linux Distro

KernelSystemd

sshDocker

Python 2.7

Ruby

Java

MySQL 5.4

CoreOS Docker Container

App

CoreOS

CoreOS

Linux Distro

rktDocker

systemd etcd fleet

Containersystem

initsystem

Distributedkey-value

store

ClusterManager

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.

CoreOS Overview

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

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.

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

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

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.

etcd overview

What is etcd?

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.

fleet overview

What is fleet?

Fleet

Demo

Thanks!Victor S. RecioCEO and Founder at NerCore Inc,@vsreciovrecio@nercore.com