hands on docker - coreos, docker, kubernetes - deployment ... · hands on - docker coreos - docker...

14
Hands On - Docker CoreOS - Docker - Kubernetes Deployment with Foreman Johannes Maximilian Scheuermann Karlsruhe, 18.12.2014

Upload: phamcong

Post on 10-Sep-2018

319 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Hands on docker - CoreOS, Docker, Kubernetes - Deployment ... · Hands On - Docker CoreOS - Docker - Kubernetes Deployment with Foreman Johannes Maximilian Scheuermann Karlsruhe,

Hands On - Docker

CoreOS - Docker - KubernetesDeployment with Foreman

Johannes Maximilian ScheuermannKarlsruhe, 18.12.2014

Page 2: Hands on docker - CoreOS, Docker, Kubernetes - Deployment ... · Hands On - Docker CoreOS - Docker - Kubernetes Deployment with Foreman Johannes Maximilian Scheuermann Karlsruhe,

„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

Page 3: Hands on docker - CoreOS, Docker, Kubernetes - Deployment ... · Hands On - Docker CoreOS - Docker - Kubernetes Deployment with Foreman Johannes Maximilian Scheuermann Karlsruhe,

Orchestrator

images: Docker Press kit, CoreOS Press kit and https://github.com/GoogleCloudPlatform/kubernetes/blob/master/logo.png

ArchitectureAbstract View

Container

etcd ClusterWorker Cluster

Page 4: Hands on docker - CoreOS, Docker, Kubernetes - Deployment ... · Hands On - Docker CoreOS - Docker - Kubernetes Deployment with Foreman Johannes Maximilian Scheuermann Karlsruhe,

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

Page 5: Hands on docker - CoreOS, Docker, Kubernetes - Deployment ... · Hands On - Docker CoreOS - Docker - Kubernetes Deployment with Foreman Johannes Maximilian Scheuermann Karlsruhe,

A Deeper look

Page 6: Hands on docker - CoreOS, Docker, Kubernetes - Deployment ... · Hands On - Docker CoreOS - Docker - Kubernetes Deployment with Foreman Johannes Maximilian Scheuermann Karlsruhe,

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

Page 7: Hands on docker - CoreOS, Docker, Kubernetes - Deployment ... · Hands On - Docker CoreOS - Docker - Kubernetes Deployment with Foreman Johannes Maximilian Scheuermann Karlsruhe,

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

Page 8: Hands on docker - CoreOS, Docker, Kubernetes - Deployment ... · Hands On - Docker CoreOS - Docker - Kubernetes Deployment with Foreman Johannes Maximilian Scheuermann Karlsruhe,

image: https://github.com/GoogleCloudPlatform/kubernetes/blob/master/docs/architecture.png

KubernetesArchitecture

Page 9: Hands on docker - CoreOS, Docker, Kubernetes - Deployment ... · Hands On - Docker CoreOS - Docker - Kubernetes Deployment with Foreman Johannes Maximilian Scheuermann Karlsruhe,

Containerception

Page 10: Hands on docker - CoreOS, Docker, Kubernetes - Deployment ... · Hands On - Docker CoreOS - Docker - Kubernetes Deployment with Foreman Johannes Maximilian Scheuermann Karlsruhe,

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

Page 11: Hands on docker - CoreOS, Docker, Kubernetes - Deployment ... · Hands On - Docker CoreOS - Docker - Kubernetes Deployment with Foreman Johannes Maximilian Scheuermann Karlsruhe,

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

Page 12: Hands on docker - CoreOS, Docker, Kubernetes - Deployment ... · Hands On - Docker CoreOS - Docker - Kubernetes Deployment with Foreman Johannes Maximilian Scheuermann Karlsruhe,

Let’s Deploy some

Page 13: Hands on docker - CoreOS, Docker, Kubernetes - Deployment ... · Hands On - Docker CoreOS - Docker - Kubernetes Deployment with Foreman Johannes Maximilian Scheuermann Karlsruhe,

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

Page 14: Hands on docker - CoreOS, Docker, Kubernetes - Deployment ... · Hands On - Docker CoreOS - Docker - Kubernetes Deployment with Foreman Johannes Maximilian Scheuermann Karlsruhe,

Kontakt

Johannes Maximilian Scheuermann

[email protected]

inovex GmbHOffice KarlsruheLudwig-Erhard-Allee 676131 Karlsruhe

Thank you for listening!