hands on docker
TRANSCRIPT
Hands On - Docker
CoreOS - Docker - KubernetesDeployment with Foreman
Johannes Maximilian ScheuermannKarlsruhe, 18.12.2014
„Docker (container engine) logo“ von dotCloud, Inc. - http://www.docker.io/static/img/docker-top-logo.png. Lizenziert unter Apache License, Version 2.0 über Wikimedia Commons - http://commons.wikimedia.org/wiki/File:Docker_(container_engine)_logo.png#mediaviewer/File:Docker_(container_engine)_logo.png
Agenda
‣ Architecture‣ CoreOS‣ Kubernetes‣ Panamax‣ Deployment
Orchestrator
images: Docker Press kit, CoreOS Press kit and https://github.com/GoogleCloudPlatform/kubernetes/blob/master/logo.png
ArchitectureAbstract View
Container
etcd ClusterWorker Cluster
Worker Cluster
ArchitectureMiniRZ
etcd Cluster
e1 e2
e3
w2
w3
API Cluster
a1 a2
a3
Overlay network
role=etcd
role=kube-api
role=kube-worker
Kubernetes-Client
w1
Secured communication via token or TLS
A Deeper look
image: https://coreos.com/assets/images/media/Host-Diagram.png
CoreOS
● ChromeOS Fork● Minimal Linux – uses ~40% less RAM● Painless update – update OS as single unit● Docker Container● Clustered By Default● Cluster Management with fleet● Service Discovery with etcd● Systemd as init-system
Linux for Massive Server Deployments
Image: https://github.com/GoogleCloudPlatform/kubernetes/blob/master/logo.png
Kubernetes
● Greek for pilot or helmsman of a ship● Open Source cluster manager from Google● Managing containerized applications across a cluster of nodes● Kubernetes is lean, portable, extensible and self-healing● Works with etcd● Has Master and Minion components● Easy Service deployments, updates and scalability● Can run basically on every Linux platform
Managing Container
image: https://github.com/GoogleCloudPlatform/kubernetes/blob/master/docs/architecture.png
KubernetesArchitecture
Containerception
images: http://panamax.io/
PanamaxDocker Management for Humans
● Open Source Project to deploy complex containerized Applications
● Build on top of Kubernetes or fleet● Web-GUI with drag and drop● Separated in an UI and Remote-Agent
image: https://raw.githubusercontent.com/theforeman/foreman-graphics/master/logo/foreman_medium.png
ForemanProvisioning Tool
“Foreman is an open source project that gives system administrators the power to easily automate repetitive tasks, quickly deploy applications, and
proactively manage servers, on-premises or in the cloud”
● Discover, provision and upgrade your entire bare-metal infrastructure● Create and manage instances across private and public clouds● Group your hosts and manage them in bulk, regardless of location● Review historical changes for auditing or troubleshooting● Extend as needed via a robust plugin architecture● Automatically build images (on each platform) per system definition
to optimize deployment
Let’s Deploy some
Image: https://github.com/docker/swarm/blob/master/logo.png
Docker Tools
● Docker Machine○ Create Docker hosts on local hypervisors and cloud providers
● Swarm
○ A Docker-native clustering system
● Compose:○ Assemble Docker multi-container distributed apps
Kontakt
Johannes Maximilian Scheuermann
inovex GmbHOffice KarlsruheLudwig-Erhard-Allee 676131 Karlsruhe
Thank you for listening!