Introduction to Project atomic (CentOS Dojo Bangalore)

Post on 26-Jul-2015

864 views 5 download

Tags:

Transcript of Introduction to Project atomic (CentOS Dojo Bangalore)

Introduction to Project Atomic

Lalatendu Mohanty@lalatenduM,

lalatenduM on Freenode,lala@redhat.com

Topics● What is Project Atomic?● Rpm-ostree● Cockpit● Kubernets● /usr/bin/atomic● Docker● SPC● Nulecule● CentOS Atomic SIG● Getting Involved

What is Project Atomic?

To Begin With● It is not a new GNU/Linux distribution.● Framework to create an OS from RHEL,

CentOS and Fedora.● Aim of Project Atomic is to create a better OS

for containers.

Why Atomic?● For running containers we don't need a full

fledged distribution.● Optimized OS for running and maintaining

containers.● Less number of packages to maintain.

Why Atomic?● Maintaining these systems should be

relatively less painful.● Updating the system should be easy to deploy

and manage.● More secure than the traditional OS

What Atomic Hosts Won't Provide

● YUM install will not work inside Atomic host● Official images would have minimal package

set.

Atomic hosts comprises of

● Rpm-ostree● Cockpit● Kubernets● /usr/bin/atomic● Docker● SPC

rpm-ostree

OSTree“OSTree was born to help implement a continuous

delivery model for operating systems. One can be a lot

more confident in updating systems if one knows that a

reliable rollback system is always available.”

COLIN WALTERS

Senior Software Engineer, Inventor of OSTree

Red Hat

rpm-ostree● Git for operating systems.● Update methods of containers and applied

them to operating system.● No more half way upgraded systems

# yum updatebash: yum: command not found

# atomic host upgradeUpgrade prepared for next boot

# atomic host rollbackSuccessfully reset deployment

Why rpm-ostree?● Atomic host would only run containers.● Atomic update makes more sense for an

immutable system.● Allows reuse of RPMs.● No need to re-invent wheel on packaging.● Option to rollback to previous state (old good

state).

How rpm-ostree works?

● Fiilesystem is read-only except /var and /etc● All data (e.g. containers) are unchanged on

upgrade.● /etc gets updated through a 3-way merge.

Docker● Built-in Docker run time in Atomic host.● Docker run would just work.

– $docker run -t -i fedora /bin/bash

Kubernetes● An open source system for managing

containerized applications across multiple

hosts● It gives basic mechanisms for deployment,

maintenance, and scaling of applications.

Nulecule● Provide a simple, flexible way to describe a

multi-container application, including all

dependencies.

https://github.com/projectatomic/nulecule

● Nulecule: The mother of all atomic particles● Refer: http://simpsons.wikia.com/wiki/Made-

up_words

Cockpit● Server manager for administrating Linux

servers via web browser.● Designed to be multi-server● Support for managing containers, Kubernetes.● http://cockpit-project.org/

/usr/bin/atomic● Coherent entry point : manage host and

containers with the atomic command.● Fill gaps in Linux container implementations.

– e.g. “atomic install foo” can install a container with

its k8s configuration and/or systemd unit file.

– “atomic run” grabs the LABEL “run” with its all

command line details.

– It can serve as metadata for containers for different

use cases

SPC● SPC = Super Privileged Containers● Tools container● Allows applications inside of containers to

interact with or control the host, very useful

for system and monitoring tools

Special interest groups (SIGs)

● For building specialized variants of CentOS that fulfill

specific sets of requirements.

● Freedom to modify and enhance CentOS in various

ways, including adding more cutting-edge software,

rebuilding existing packages.

● To get the best of both worlds – the overall stability of

CentOS and newer technology from various open

source projects.

CentOS Atomic SIG● To deliver CentOS based Atomic host.● Also building a downstream of RHEL Atomic

host.● http://wiki.centos.org/SpecialInterestGroup/Atomic● Centos-devel Mailing list and irc channel.

References● Introduction to Atomic - Joe Brockmeier -

https://www.youtube.com/watch?v=cPltG4Yd

KVE● https://github.com/GoogleCloudPlatform/kube

rnetes● https://github.com/projectatomic

Get involved ● Website: projectatomic.io● Github: github.com/projectatomic● #atomic on Freenode● centos-devel, atomic-devel, atomic ML● Facebook.com/projectatomic● Twitter @projectatomic

Thank you :-)

Any questions please?