paris container day 2016 : kubernetes, votre assurance-vie pour le cloud (google cloud platform)

29
@ContainerDay16 Kubernetes Votre assurance vie pour le Cloud Alexis Moussine-Pouchkine Google Cloud Platform @alexismp

Upload: xebia-france

Post on 09-Jan-2017

159 views

Category:

Technology


2 download

TRANSCRIPT

@ContainerDay16

KubernetesVotre assurance vie pour le Cloud

Alexis Moussine-PouchkineGoogle Cloud Platform@alexismp

Virtual Machines

Hypervisor

OS OS

OS

‹#›@kubernetesio

Container Host

OS

Containers

@ContainerDay16

But that's just one machine...

Discovery

ScalingSecurity

Monitoring Configuration

SchedulingHealth

@ContainerDay16

“Manage Applicationsnot Machines”

Kubernetes

● Open source, open API container orchestrator ● Supports multiple cloud and bare-metal● Inspired by Google’s experiences

@ContainerDay16

Launching over 2 billion containers per week

Everything at Google runs in containers

@ContainerDay16

job hello_world = {

runtime = { cell = 'ic' } // Cell (cluster) to run in

binary = '.../hello_world_webserver' // Program to run

args = { port = '%port%' } // Command line parameters

requirements = { // Resource requirements

ram = 100M

disk = 100M

cpu = 0.1

}

replicas = 5000 // Number of tasks

}

Developer View @ Google

@ContainerDay16

web browsers

BorgMaster

link shard

UI shardBorgMaster

link shard

UI shardBorgMaster

link shard

UI shardBorgMaster

link shard

UI shard

Scheduler

borgcfg web browsers

scheduler

Borglet Borglet Borglet Borglet

Config file

BorgMaster

link shard

UI shard

persistent store (Paxos)

Binary

What just happened?

Hello world!

Hello world!

Hello world!

Hello world!Hello

world! Hello world! Hello

world!

Hello world!

Hello world!

Hello world!

Hello world!

Hello world!

Hello world!

Hello world!

Hello world!

Hello world!

Hello world!Hello world!

Hello world!

Hello world!

Hello world!

Hello world!

Hello world! Hello

world!

Hello world!

Hello world!

Hello world!

Image by Connie Zhou

Hello world!

Hello world!

Hello world! Hello

world!

Hello world! Hello

world!

Hello world!

Hello world!

Hello world!

Hello world!

Hello world! Hello

world!

Hello world! Hello

world!

Hello world!

Hello world!

Hello world!

Hello world!

Hello world! Hello

world!

Hello world! Hello

world!

Hello world!

Hello world!

@ContainerDay16

Kubernetes Principles

Cattle vs PetsLabels and selectors

Modular

Control Loops

Network-centricOpen > Closed

Simple > Complex

Legacy compatible

@ContainerDay16

Cattle

• Has a number• One is much like any other• Run as a group• If it gets ill, well ….

Pet

Cattle vs Pets

• Has a name• Is unique or rare• Needs personal attention• If it gets ill, you make it better

@ContainerDay16

kubernetes.io

Open-source system for automating deployment, scaling, and management of containerized applications

● Open Source project on GitHub● Written in Go (from scratch)● Apache 2 licensed

● Contributions from Google, Red Hat, CoreOS, Huawei, Intel, IBM, Hitachi, Deis, Fujitsu, Apprenda/Kismatic, HP, Apcera, ...

@ContainerDay16

Kubernetes features

● Automatic bin-packing

● Self-healing

● Horizontal scaling

● Service discovery and load balancing

● Automated rollouts and rollbacks

● Secret & config management

● Storage orchestration

● Batch execution

● Federated clusters (Ubernetes)

@ContainerDay16

Kubernetes Milestones & Roadmap

Milestones

● 1.0 release in June 2015● 1.1 in Nov. 2015

○ mostly perf, no API change

● 1.2 in March 2016○ auto-scaler, more APIs, more perf

● 1.3 due anytime now ○ Federation, stateful apps, rkt support,

on-prem setup, yet more perf :8000 cpu cores, 1000 nodes, 400TB cluster running w/ Cassandra

Cloud Native Foundation

● Linux Foundation● VMWare, RedHat, Joyent,

Mesosphere, Docker, IBM, CloudFoundry, CoreOS, Cisco, Google, …

● cncf.io

@ContainerDay16

@ContainerDay16

Runs everywhere

Dev/Laptop ...

Kubernetes

μservices Apps

Private CloudVM/Bare-metal/

@ContainerDay16

Google Container Engine (GKE)

● Fully-Managed Kubernetes v1.x● Manages Kubernetes master uptime● Manages updates● Cluster resize with Managed Instance Groups● Centralized logging● Cluster-level monitoring● Google Container Registry● Access to rest of Google Cloud Platform

○ APIs, Big Data products, Machine Learning, etc.

@ContainerDay16

Vibrant Kubernetes Ecosystem

@ContainerDay16

@ContainerDay16

Stackoverflow questions

@ContainerDay16

Google Trends

Kubernetes

Cloud Foundry

Docker Swarm

Apache MesosAmazon ECS

@ContainerDay16

“Kubernetes is absolutely fantastic. The API is a great tool when it comes to automating a deployment pipeline. Deployments are not only more reliable, but also much faster.”

Customers

@ContainerDay16

@ContainerDay16

KubernetesVotre assurance vie pour le Cloud

Alexis Moussine-PouchkineGoogle Cloud Platform@alexismp

@ContainerDay16

Kubernetes Resources● kubernetes.io● @kubernetesio● slack.k8s.io● GKE (Container Engine) https://cloud.google.com/container-engine/

● Link-o-rama: https://github.com/ramitsurana/awesome-kubernetes ● Playground: https://katacoda.com/courses/kubernetes/playground● Kubernetes Cheatsheet : http://k8s.info/cs.html