rahulgopan.github.io



rahulgopan.github.io

0 0


rahulgopan.github.io


On Github rahulgopan / rahulgopan.github.io

CoreOS

Outline!

  • Why we need CoreOS?
  • What is CoreOS?
  • Features

    • Run applications inside container using Docker

    • Service discovery using etcd

    • A distributed Init system using Fleet

    • Update philosophy for CoreOS using Update Engine

    • Reboot manager using Locksmith

  • Demo

Why we need CoreOS?

Solution

  • Automatic updates with CoreOS

Another reason why we need CoreOS?

Solution

  • Scalable and highly available cluster with CoreOS

What is CoreOS?

  • Based on Google's ChromeOS
  • Mimimal OS
  • Linux Distro to provide features to run modern infrastructure stack
  • Designed to be distributed, fault tolerant and easy to scale

Features

Docker

  • Platform for building, shipping, and running applications in Linux Containers.
  • LXC made easy
  • Easy to share

Demo

etcd

  • Open source distributed Key value store, written in Go
  • Backbone of your cluster, Configuration and service discovery
  • Communication b/w nodes handled via Raft Consensus algorithm

Demo

Fleet

  • Cluster manager that controls systemd at a cluster level
  • Maintain N instances and re-schedules service on machine failure

Demo

Update Engine

  • Updates employ a dual-partition scheme
  • Based on Google's open-source project "Omaha"

Locksmith

  • Reboot manager for CoreOS update engine
  • Uses etcd to ensure that only one machine in a cluster boots at a time
  • locksmithd reboots machine based on the strategy specified in cloud-config file

That's all.. Thanks!