38
Kubernetes An open platform for container orchestration Johannes M. Scheuermann Karlsruhe, 30.08.2017

Kubernetes - inovex GmbH · Kubernetes An open platform for container orchestration Johannes M. Scheuermann Karlsruhe, 30.08.2017

  • Upload
    vulien

  • View
    229

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Kubernetes - inovex GmbH · Kubernetes An open platform for container orchestration Johannes M. Scheuermann Karlsruhe, 30.08.2017

KubernetesAn open platform for container orchestration

Johannes M. Scheuermann

Karlsruhe, 30.08.2017

Page 2: Kubernetes - inovex GmbH · Kubernetes An open platform for container orchestration Johannes M. Scheuermann Karlsruhe, 30.08.2017

Johannes M. ScheuermannCloud Platform Engineer @ inovex

〉 Software-Defined Datacenters

〉 Infrastructure as Code

〉 Cloud technologies

〉 High Availability & Scalability

〉 @johscheuer

2

Page 3: Kubernetes - inovex GmbH · Kubernetes An open platform for container orchestration Johannes M. Scheuermann Karlsruhe, 30.08.2017

How to manage millions of containers/machines?

Page 4: Kubernetes - inovex GmbH · Kubernetes An open platform for container orchestration Johannes M. Scheuermann Karlsruhe, 30.08.2017

• cgroups and namespaces

• Application package management

• (nearly) Platform independent

• Resource separation

• Resource monitoring

“Containers”

Page 5: Kubernetes - inovex GmbH · Kubernetes An open platform for container orchestration Johannes M. Scheuermann Karlsruhe, 30.08.2017
Page 6: Kubernetes - inovex GmbH · Kubernetes An open platform for container orchestration Johannes M. Scheuermann Karlsruhe, 30.08.2017

• Unified container-management Borg• Before: Babysitter + Global Work Queue

• Autopilot • predicting resource requirements

• Omega• Splitting parts of the control plane

• Multiple Schedulers

“History”

Page 7: Kubernetes - inovex GmbH · Kubernetes An open platform for container orchestration Johannes M. Scheuermann Karlsruhe, 30.08.2017

Architecture

Page 8: Kubernetes - inovex GmbH · Kubernetes An open platform for container orchestration Johannes M. Scheuermann Karlsruhe, 30.08.2017

Store

Architecture

Master

API Controller-Manager Scheduler etcd

Node

Kubelet

Kube-proxy

Node

Kubelet

Kube-proxy

Node

Kubelet

Kube-proxy

Page 9: Kubernetes - inovex GmbH · Kubernetes An open platform for container orchestration Johannes M. Scheuermann Karlsruhe, 30.08.2017

• Portable

• General-Purpose

• Flexible

• Extensible

• Automatable

Design Goals

Page 10: Kubernetes - inovex GmbH · Kubernetes An open platform for container orchestration Johannes M. Scheuermann Karlsruhe, 30.08.2017

Principals

Page 11: Kubernetes - inovex GmbH · Kubernetes An open platform for container orchestration Johannes M. Scheuermann Karlsruhe, 30.08.2017

Pods

Shared Resources

Container Container Container

Process

Resources

Ports

Process

Resources

Ports

Process

Resources

Ports

Page 12: Kubernetes - inovex GmbH · Kubernetes An open platform for container orchestration Johannes M. Scheuermann Karlsruhe, 30.08.2017

Deployments

Deployment

ReplicaSetr1

Pod

Pod

Pod

Page 13: Kubernetes - inovex GmbH · Kubernetes An open platform for container orchestration Johannes M. Scheuermann Karlsruhe, 30.08.2017

Deployments

Deployment

ReplicaSetr1

ReplicaSetr2

Pod

Pod

Pod

Page 14: Kubernetes - inovex GmbH · Kubernetes An open platform for container orchestration Johannes M. Scheuermann Karlsruhe, 30.08.2017

Deployments

Deployment

ReplicaSetr1

ReplicaSetr2

Pod

Pod

Pod

Pod

Page 15: Kubernetes - inovex GmbH · Kubernetes An open platform for container orchestration Johannes M. Scheuermann Karlsruhe, 30.08.2017

Deployments

Deployment

ReplicaSetr1

ReplicaSetr2

Pod

Pod

Pod

Pod

Page 16: Kubernetes - inovex GmbH · Kubernetes An open platform for container orchestration Johannes M. Scheuermann Karlsruhe, 30.08.2017

Deployments

Deployment

ReplicaSetr1

ReplicaSetr2

Pod

Pod

Pod

Pod

Page 17: Kubernetes - inovex GmbH · Kubernetes An open platform for container orchestration Johannes M. Scheuermann Karlsruhe, 30.08.2017

Deployments

Deployment

ReplicaSetr1

ReplicaSetr2

Pod

Pod

Pod

Page 18: Kubernetes - inovex GmbH · Kubernetes An open platform for container orchestration Johannes M. Scheuermann Karlsruhe, 30.08.2017

• Simple Key-Value pairs

• Can be attached to anything

• LabelSelectors used for selection

• Can be used for scheduling choices

• Extremely simple and mighty

The magic glue - Labels

Page 19: Kubernetes - inovex GmbH · Kubernetes An open platform for container orchestration Johannes M. Scheuermann Karlsruhe, 30.08.2017

Services

ServiceStudentPod x

Pod 1app:Student,v:1

Pod 2app:Student,v:1

Pod 3app:Student,v:1

Pod 4app:Student,v:2

Page 20: Kubernetes - inovex GmbH · Kubernetes An open platform for container orchestration Johannes M. Scheuermann Karlsruhe, 30.08.2017

Persistent Volumes

Admin

User

Persistent Volumes

31 2 4

PVClaim 2

Pod

StorageClass

Page 21: Kubernetes - inovex GmbH · Kubernetes An open platform for container orchestration Johannes M. Scheuermann Karlsruhe, 30.08.2017

• Namespaces

• StatefulSet

• DaemonSet

• Batch/Scheduled Jobs

• Ingress

• ...

Further principals

Page 22: Kubernetes - inovex GmbH · Kubernetes An open platform for container orchestration Johannes M. Scheuermann Karlsruhe, 30.08.2017

An open platform

Page 23: Kubernetes - inovex GmbH · Kubernetes An open platform for container orchestration Johannes M. Scheuermann Karlsruhe, 30.08.2017

• Complete communication over API’s

• Well defined API’s

• gRPC

• Extensible platform• Custom Resource Definitions

• Custom Schedulers

• API aggregation layer

API driven

Page 24: Kubernetes - inovex GmbH · Kubernetes An open platform for container orchestration Johannes M. Scheuermann Karlsruhe, 30.08.2017

Built on standards (plugins)

Kubernetes

CRI

CNI

CSI

Page 25: Kubernetes - inovex GmbH · Kubernetes An open platform for container orchestration Johannes M. Scheuermann Karlsruhe, 30.08.2017

• Flexible infrastructure as building block

• Cluster add-ons• Logging / DNS / Monitoring

• Spark on Kubernetes

• Everything deployed as containers

• Service Mesh on top• https://istio.io / https://linkerd.io

Core Infrastructure

Page 26: Kubernetes - inovex GmbH · Kubernetes An open platform for container orchestration Johannes M. Scheuermann Karlsruhe, 30.08.2017

Cloud-vendor neutral

Page 27: Kubernetes - inovex GmbH · Kubernetes An open platform for container orchestration Johannes M. Scheuermann Karlsruhe, 30.08.2017

• No dependency to any cloud provider• Doesn’t care if running on bare-metal or in the cloud

• Cloud provider will be moved out-of-tree

• Kubernetes can make use of the underlying

infrastructure

• Basically needs only an OS that runs containers• Linux and Windows support (arm/amd64)

Platform independent

Page 28: Kubernetes - inovex GmbH · Kubernetes An open platform for container orchestration Johannes M. Scheuermann Karlsruhe, 30.08.2017

Outlook

Page 29: Kubernetes - inovex GmbH · Kubernetes An open platform for container orchestration Johannes M. Scheuermann Karlsruhe, 30.08.2017

• Manage multiple Kubernetes clusters

• One federated control plane• On-premise or multi-cloud

• Running global services

• Some known issues

• High Availability

• Challenge -> Storage

Kubernetes Federation

Page 30: Kubernetes - inovex GmbH · Kubernetes An open platform for container orchestration Johannes M. Scheuermann Karlsruhe, 30.08.2017

• Focus on security and stability

• Allowing more customization

• Improve cluster federation

• Kubernetes and Big Data

Kubernetes 1.8+

Page 31: Kubernetes - inovex GmbH · Kubernetes An open platform for container orchestration Johannes M. Scheuermann Karlsruhe, 30.08.2017

Conclusions

Page 32: Kubernetes - inovex GmbH · Kubernetes An open platform for container orchestration Johannes M. Scheuermann Karlsruhe, 30.08.2017

• Open platform (OSS)

• Can be used to run simulations/tests• Is used in some academic fields

• e.g. https://lasp-lang.readme.io

• Can be extended for special needs

• Growing eco-system

Conclusions

Page 33: Kubernetes - inovex GmbH · Kubernetes An open platform for container orchestration Johannes M. Scheuermann Karlsruhe, 30.08.2017

33

We are hiring!

www.inovexperts.com

Page 34: Kubernetes - inovex GmbH · Kubernetes An open platform for container orchestration Johannes M. Scheuermann Karlsruhe, 30.08.2017

Q&A

Page 35: Kubernetes - inovex GmbH · Kubernetes An open platform for container orchestration Johannes M. Scheuermann Karlsruhe, 30.08.2017

https://research.google.com/pubs/pub44843.html

http://queue.acm.org/detail.cfm?id=2898444

https://research.google.com/pubs/pub41684.html

https://speakerdeck.com/thockin/kubernetes-

understanding-pods-vs-containers

https://kubernetes.io/docs/concepts/api-

extension/custom-resources

Further reading

Page 36: Kubernetes - inovex GmbH · Kubernetes An open platform for container orchestration Johannes M. Scheuermann Karlsruhe, 30.08.2017

https://www.opencontainers.org/about

https://containerd.io

https://github.com/kubernetes/community/blob/master/c

ontributors/devel/container-runtime-interface.md

https://docs.microsoft.com/en-us/azure/container-

service/kubernetes/container-service-kubernetes-

windows-walkthrough

Further reading

Page 37: Kubernetes - inovex GmbH · Kubernetes An open platform for container orchestration Johannes M. Scheuermann Karlsruhe, 30.08.2017

https://research.google.com/pubs/pub45499.html

https://github.com/kubernetes/kubernetes/issues/38893

https://docs.google.com/spreadsheets/d/1AFksRDgAt6B

GA3OjRNIiO3IyKmA-GU7CXaxbihy48ns/edit#gid=0

https://github.com/apache-spark-on-k8s

https://github.com/kubernetes-incubator

Further reading

Page 38: Kubernetes - inovex GmbH · Kubernetes An open platform for container orchestration Johannes M. Scheuermann Karlsruhe, 30.08.2017

Johannes M. Scheuermanninovex GmbH

[email protected]

CC BY-NC-ND inovex.de +JohannesScheuermann

github.com/johscheuer

@johscheuer youtube.com/inovexGmbH