PlovDev 2016: Оркестрация на контейнери с Kubernetes - Мартин...
-
Upload
plovdev-conference -
Category
Technology
-
view
47 -
download
11
Transcript of PlovDev 2016: Оркестрация на контейнери с Kubernetes - Мартин...
![Page 1: PlovDev 2016: Оркестрация на контейнери с Kubernetes - Мартин Владев](https://reader035.fdocuments.ec/reader035/viewer/2022062905/5871bdbc1a28ab55058b5fd5/html5/thumbnails/1.jpg)
Оркестрация на контейнери с kubernetes
Martin Vladev @ SAP
![Page 2: PlovDev 2016: Оркестрация на контейнери с Kubernetes - Мартин Владев](https://reader035.fdocuments.ec/reader035/viewer/2022062905/5871bdbc1a28ab55058b5fd5/html5/thumbnails/2.jpg)
За SAP
82 400SAP служители
130държави
320 000клиента в 190 страни
#1компания за бизнес софтуер в света
€10.8 млрдгодишни приходи за 2015
€2.85 млрдинвестиции в R&D за 2015
![Page 3: PlovDev 2016: Оркестрация на контейнери с Kubernetes - Мартин Владев](https://reader035.fdocuments.ec/reader035/viewer/2022062905/5871bdbc1a28ab55058b5fd5/html5/thumbnails/3.jpg)
Cloud Computing
![Page 4: PlovDev 2016: Оркестрация на контейнери с Kubernetes - Мартин Владев](https://reader035.fdocuments.ec/reader035/viewer/2022062905/5871bdbc1a28ab55058b5fd5/html5/thumbnails/4.jpg)
Docker
• An implementation of the Container idea• A Package format• Resource Isolation• an ecosystem – Docker Hub, Swarm,
Compose etc
![Page 5: PlovDev 2016: Оркестрация на контейнери с Kubernetes - Мартин Владев](https://reader035.fdocuments.ec/reader035/viewer/2022062905/5871bdbc1a28ab55058b5fd5/html5/thumbnails/5.jpg)
VM
![Page 6: PlovDev 2016: Оркестрация на контейнери с Kubernetes - Мартин Владев](https://reader035.fdocuments.ec/reader035/viewer/2022062905/5871bdbc1a28ab55058b5fd5/html5/thumbnails/6.jpg)
Docker
![Page 7: PlovDev 2016: Оркестрация на контейнери с Kubernetes - Мартин Владев](https://reader035.fdocuments.ec/reader035/viewer/2022062905/5871bdbc1a28ab55058b5fd5/html5/thumbnails/7.jpg)
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 - Мартин Владев](https://reader035.fdocuments.ec/reader035/viewer/2022062905/5871bdbc1a28ab55058b5fd5/html5/thumbnails/8.jpg)
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 - Мартин Владев](https://reader035.fdocuments.ec/reader035/viewer/2022062905/5871bdbc1a28ab55058b5fd5/html5/thumbnails/9.jpg)
kubernetes is an open-source system for automating deployment, scaling, and management of containerized applications.
![Page 10: PlovDev 2016: Оркестрация на контейнери с Kubernetes - Мартин Владев](https://reader035.fdocuments.ec/reader035/viewer/2022062905/5871bdbc1a28ab55058b5fd5/html5/thumbnails/10.jpg)
Key Features• Horizontal scaling• Automated rollouts and rollbacks• Storage orchestration• Self-healing• Service discovery and load balancing• Secret and configuration management• Batch execution• Automatic binpacking
![Page 11: PlovDev 2016: Оркестрация на контейнери с Kubernetes - Мартин Владев](https://reader035.fdocuments.ec/reader035/viewer/2022062905/5871bdbc1a28ab55058b5fd5/html5/thumbnails/11.jpg)
Kubernetes in SAP
http://kubernetes.io/case-studies/
SAP subsidiary company
![Page 12: PlovDev 2016: Оркестрация на контейнери с Kubernetes - Мартин Владев](https://reader035.fdocuments.ec/reader035/viewer/2022062905/5871bdbc1a28ab55058b5fd5/html5/thumbnails/12.jpg)
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 - Мартин Владев](https://reader035.fdocuments.ec/reader035/viewer/2022062905/5871bdbc1a28ab55058b5fd5/html5/thumbnails/13.jpg)
Architecture
API Server
Scheduler
Control Manager
etcdKube Proxy
Kubelet
kubectl, REST, etc
internet
![Page 14: PlovDev 2016: Оркестрация на контейнери с Kubernetes - Мартин Владев](https://reader035.fdocuments.ec/reader035/viewer/2022062905/5871bdbc1a28ab55058b5fd5/html5/thumbnails/14.jpg)
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 - Мартин Владев](https://reader035.fdocuments.ec/reader035/viewer/2022062905/5871bdbc1a28ab55058b5fd5/html5/thumbnails/15.jpg)
![Page 16: PlovDev 2016: Оркестрация на контейнери с Kubernetes - Мартин Владев](https://reader035.fdocuments.ec/reader035/viewer/2022062905/5871bdbc1a28ab55058b5fd5/html5/thumbnails/16.jpg)
![Page 17: PlovDev 2016: Оркестрация на контейнери с Kubernetes - Мартин Владев](https://reader035.fdocuments.ec/reader035/viewer/2022062905/5871bdbc1a28ab55058b5fd5/html5/thumbnails/17.jpg)
![Page 18: PlovDev 2016: Оркестрация на контейнери с Kubernetes - Мартин Владев](https://reader035.fdocuments.ec/reader035/viewer/2022062905/5871bdbc1a28ab55058b5fd5/html5/thumbnails/18.jpg)
Services
![Page 19: PlovDev 2016: Оркестрация на контейнери с Kubernetes - Мартин Владев](https://reader035.fdocuments.ec/reader035/viewer/2022062905/5871bdbc1a28ab55058b5fd5/html5/thumbnails/19.jpg)
Labels
![Page 20: PlovDev 2016: Оркестрация на контейнери с Kubernetes - Мартин Владев](https://reader035.fdocuments.ec/reader035/viewer/2022062905/5871bdbc1a28ab55058b5fd5/html5/thumbnails/20.jpg)
DEMO
![Page 21: PlovDev 2016: Оркестрация на контейнери с Kubernetes - Мартин Владев](https://reader035.fdocuments.ec/reader035/viewer/2022062905/5871bdbc1a28ab55058b5fd5/html5/thumbnails/21.jpg)
Q&A