plovdev 2016: Оркестрация на контейнери с kubernetes - Мартин...

21
Оркестрация на контейнери с kubernetes Martin Vladev @ SAP

Upload: plovdev-conference

Post on 16-Apr-2017

50 views

Category:

Technology


11 download

TRANSCRIPT

Page 1: PlovDev 2016: Оркестрация на контейнери с Kubernetes - Мартин Владев

Оркестрация на контейнери с kubernetes

Martin Vladev @ SAP

Page 2: PlovDev 2016: Оркестрация на контейнери с Kubernetes - Мартин Владев

За SAP

82 400SAP служители

130държави

320 000клиента в 190 страни

#1компания за бизнес софтуер в света

€10.8 млрдгодишни приходи за 2015

€2.85 млрдинвестиции в R&D за 2015

Page 3: PlovDev 2016: Оркестрация на контейнери с Kubernetes - Мартин Владев

Cloud Computing

Page 4: PlovDev 2016: Оркестрация на контейнери с Kubernetes - Мартин Владев

Docker

• An implementation of the Container idea• A Package format• Resource Isolation• an ecosystem – Docker Hub, Swarm,

Compose etc

Page 5: PlovDev 2016: Оркестрация на контейнери с Kubernetes - Мартин Владев

VM

Page 6: PlovDev 2016: Оркестрация на контейнери с Kubernetes - Мартин Владев

Docker

Page 7: PlovDev 2016: Оркестрация на контейнери с Kubernetes - Мартин Владев

Resource IsolationImplemented by a number of Linux APIs:• cgroups: Restrict resources a process can consume• CPU, memory, disk IO, ...

• namespaces: Change a process’s view of the system• Network interfaces, PIDs, users, mounts, ...

• capabilities: Limits what a user can do• mount, kill, chown, ...

• chroots: Determines what parts of the filesystem a user can see

Page 8: PlovDev 2016: Оркестрация на контейнери с Kubernetes - Мартин Владев

What we need?• Scheduling: Where should my containers run?• Lifecycle and health: Keep my containers running despite

failures• Discovery: Where are my containers now?•Monitoring: What’s happening with my containers?• Auth{n,z}: Control who can do things to my containers• Aggregates: Compose sets of containers into jobs• Scaling: Making jobs bigger or smaller

Page 9: PlovDev 2016: Оркестрация на контейнери с Kubernetes - Мартин Владев

kubernetes is an open-source system for automating deployment, scaling, and management of containerized applications.

Page 11: PlovDev 2016: Оркестрация на контейнери с Kubernetes - Мартин Владев

Kubernetes in SAP

http://kubernetes.io/case-studies/

SAP subsidiary company

Page 12: PlovDev 2016: Оркестрация на контейнери с Kubernetes - Мартин Владев

Concepts• Container: A sealed application package (Docker or

equivalent)• Pod: A small group of tightly coupled Containers• Labels: Identifying metadata attached to objects• Selector: A query against labels, producing a set result• Controller: A reconciliation loop that drives current state

towards desired state• Service: A set of pods that work together

Page 13: PlovDev 2016: Оркестрация на контейнери с Kubernetes - Мартин Владев

Architecture

API Server

Scheduler

Control Manager

etcdKube Proxy

Kubelet

kubectl, REST, etc

internet

Page 14: PlovDev 2016: Оркестрация на контейнери с Kubernetes - Мартин Владев

Control loops

Drive current state => desired stateAct independentlyAPIs - no shortcuts or back doorsObserved state is truthRecurring pattern in the system

Example: ReplicationController

Page 15: PlovDev 2016: Оркестрация на контейнери с Kubernetes - Мартин Владев
Page 16: PlovDev 2016: Оркестрация на контейнери с Kubernetes - Мартин Владев
Page 17: PlovDev 2016: Оркестрация на контейнери с Kubernetes - Мартин Владев
Page 18: PlovDev 2016: Оркестрация на контейнери с Kubernetes - Мартин Владев

Services

Page 19: PlovDev 2016: Оркестрация на контейнери с Kubernetes - Мартин Владев

Labels

Page 20: PlovDev 2016: Оркестрация на контейнери с Kubernetes - Мартин Владев

DEMO

Page 21: PlovDev 2016: Оркестрация на контейнери с Kubernetes - Мартин Владев

Q&A