12
Running your containers in a sane environment, Project Atomic Aditya Patawari Contributor to Fedora Admin team Lead Engineer (Infrastructure) at BrowserStack.com [email protected] adimania on freenode irc http://blog.adityapatawari.com April 21, 2015 Aditya Patawari Running your containers in a sane environment, Project Atomic

Project Atomic [rootconf2015]

Embed Size (px)

Citation preview

Page 1: Project Atomic [rootconf2015]

Running your containers in a sane environment,Project Atomic

Aditya Patawari

Contributor to Fedora Admin team

Lead Engineer (Infrastructure) at BrowserStack.com

[email protected]

adimania on freenode irc

http://blog.adityapatawari.com

April 21, 2015

Aditya Patawari Running your containers in a sane environment, Project Atomic

Page 2: Project Atomic [rootconf2015]

Topics

What is the problem?

Project Atomic is here!

.. Along with some components

Starting our Atomic Host

Demo

Aditya Patawari Running your containers in a sane environment, Project Atomic

Page 3: Project Atomic [rootconf2015]

What is the problem?

We need a stable environment to run containers

We need to support automation

Managing hosts should involve minimal efforts

Aditya Patawari Running your containers in a sane environment, Project Atomic

Page 4: Project Atomic [rootconf2015]

Project Atomic is here!

Minimal operating system

Benefits of our favorite Enterprise Linux

Robust atomic upgrades and systemd

Ready to take on cloud, virtualized or bare metal

Aditya Patawari Running your containers in a sane environment, Project Atomic

Page 5: Project Atomic [rootconf2015]

.. including rpm-ostree ..

Bootable, immutable, versioned filesystem trees

Composed from standard rpms

Atomic upgrade and rollbacks

Only /etc and /var are writable

Aditya Patawari Running your containers in a sane environment, Project Atomic

Page 6: Project Atomic [rootconf2015]

.. and Systemd ..

System and service manager for Linux

Replacing the init in Centos 7

Highly modular and much more powerful than sysV

Check out http://0pointer.de/blog/projects/why.html

Aditya Patawari Running your containers in a sane environment, Project Atomic

Page 7: Project Atomic [rootconf2015]

.. also Introducing Cockpit..

Aditya Patawari Running your containers in a sane environment, Project Atomic

Page 8: Project Atomic [rootconf2015]

.. and lastly Kubernetes ..

Master-slave arch

Boot new containers

Scalable and fault tolerant

Lots of examples and setup instructions athttps://github.com/GoogleCloudPlatform/kubernetes

Aditya Patawari Running your containers in a sane environment, Project Atomic

Page 9: Project Atomic [rootconf2015]

Starting Atomic Host

Atomic host needs cloud-init data

Info about the host, i.e. meta-data

Info about the user, i.e. user-data

Aditya Patawari Running your containers in a sane environment, Project Atomic

Page 10: Project Atomic [rootconf2015]

cloud-init data

$ cat meta-data

instance-id: iid-local01;

local-hostname: myhost;

$ cat user-data

#cloud-config

password: mypassword

ssh_pwauth: True

chpasswd: { expire: False }

ssh_authorized_keys:

- ssh-rsa ... [email protected]

$ genisoimage -output init.iso -volid cidata -joliet \

-rock user-data meta-data

Aditya Patawari Running your containers in a sane environment, Project Atomic

Page 11: Project Atomic [rootconf2015]

Demo!

Start a container.

Verify that it works.

Kill the container.

OOOOO... Magic!

Aditya Patawari Running your containers in a sane environment, Project Atomic

Page 12: Project Atomic [rootconf2015]

Questions?

Now is your chance :)

Aditya Patawari Running your containers in a sane environment, Project Atomic