Post on 26-Jul-2015
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?