container orchestration
TRANSCRIPT
![Page 1: Container Orchestration](https://reader035.vdocuments.us/reader035/viewer/2022081502/58f1d7631a28abcc638b4619/html5/thumbnails/1.jpg)
The only constant is changeThe only constant is change
Container Orchestration
Kubernetes, Swarm, and beyond
![Page 2: Container Orchestration](https://reader035.vdocuments.us/reader035/viewer/2022081502/58f1d7631a28abcc638b4619/html5/thumbnails/2.jpg)
The only constant is change
Introduction
• Open source advocate for the past 10 years.
• Actively involved with Cloud and OpenStack since its inception..
• CTO & Founder GigaSpaces
• Cloudify and GigaSpaces tech specialist
• Solution Architect & Evangelist
• CTO Group Architect @ GigaSpaces
![Page 3: Container Orchestration](https://reader035.vdocuments.us/reader035/viewer/2022081502/58f1d7631a28abcc638b4619/html5/thumbnails/3.jpg)
The only constant is change
About Cloudify
• Open source orchestration tool• Extremely
unopinionated• TOSCA model based• Can manage containers
directly or indirectly• Plugin oriented design
![Page 4: Container Orchestration](https://reader035.vdocuments.us/reader035/viewer/2022081502/58f1d7631a28abcc638b4619/html5/thumbnails/4.jpg)
The only constant is change
Orchestration
• Overloaded term• For our purposes:
– Automation– Perhaps the final frontier
of devops– Usually refers to high
level automation of distributed systems
![Page 5: Container Orchestration](https://reader035.vdocuments.us/reader035/viewer/2022081502/58f1d7631a28abcc638b4619/html5/thumbnails/5.jpg)
The only constant is change
Container Orchestration (CME)• Multiple hosts• Placement control• Networking• Placement• Affinity/anti-affinity• High availability• Scaling• Load balancing• Rolling upgrades
![Page 6: Container Orchestration](https://reader035.vdocuments.us/reader035/viewer/2022081502/58f1d7631a28abcc638b4619/html5/thumbnails/6.jpg)
The only constant is change
Focus• Kubernetes• Docker Swarm• Related Infrastructure
Automation • Cloudify/TOSCA
Approach• Demo
![Page 7: Container Orchestration](https://reader035.vdocuments.us/reader035/viewer/2022081502/58f1d7631a28abcc638b4619/html5/thumbnails/7.jpg)
The only constant is change
Kubernetes Overview• Open sourced by Google• Master/worker• Pod unit of deployment/scale• Replication Controller (autoheal/scale)• Service support with LB external IP• Overlay networks (IP per pod) + DNS• No supported master HA• Container agnostic• Placement, affinity + anti-affinity• YAML deployment model
![Page 8: Container Orchestration](https://reader035.vdocuments.us/reader035/viewer/2022081502/58f1d7631a28abcc638b4619/html5/thumbnails/8.jpg)
The only constant is change
Kubernetes Overview
![Page 9: Container Orchestration](https://reader035.vdocuments.us/reader035/viewer/2022081502/58f1d7631a28abcc638b4619/html5/thumbnails/9.jpg)
The only constant is change
Swarm (Docker 1.12) Overview
![Page 10: Container Orchestration](https://reader035.vdocuments.us/reader035/viewer/2022081502/58f1d7631a28abcc638b4619/html5/thumbnails/10.jpg)
The only constant is change
Swarm (Docker 1.12) Overview• Integrated into Docker engine• Manager/worker• Auto heal, manual scale• Service support with LB fixed IP• Overlay networks & DNS• Highly available manager• Network security (TLS) with CA• Node placement + Affinity/anti-affinity• Deployment modeling via Compose
![Page 11: Container Orchestration](https://reader035.vdocuments.us/reader035/viewer/2022081502/58f1d7631a28abcc638b4619/html5/thumbnails/11.jpg)
The only constant is change
Kubernetes/Swarm Contrasts• Swarm Setup Super Simple• Lack of Pod in Swarm a –• Lack of HA in Kubernetes a –• Swarm tie to Docker may be a –• Swarm lack of autoscale may be a –• Swarm built in security a +• Declarative vs imperative?• Swarm playing catchup (service/replicas) but
also some cool features
![Page 12: Container Orchestration](https://reader035.vdocuments.us/reader035/viewer/2022081502/58f1d7631a28abcc638b4619/html5/thumbnails/12.jpg)
The only constant is change
Related Services• Google Container Engine (GKE)
– Hosted Kubernetes in Google Compute Engine– Dynamic infrastructure
• AWS Containers– Docker + autoscaled infrastructure
• Azure– Hosted Swarm (heal,scale)
• IBM– Docker + autoscaled/healed infrastructure
• Many others , and…..
![Page 13: Container Orchestration](https://reader035.vdocuments.us/reader035/viewer/2022081502/58f1d7631a28abcc638b4619/html5/thumbnails/13.jpg)
The only constant is change
![Page 14: Container Orchestration](https://reader035.vdocuments.us/reader035/viewer/2022081502/58f1d7631a28abcc638b4619/html5/thumbnails/14.jpg)
The only constant is change
![Page 15: Container Orchestration](https://reader035.vdocuments.us/reader035/viewer/2022081502/58f1d7631a28abcc638b4619/html5/thumbnails/15.jpg)
The only constant is change
Openstack Magnum• Container clusters as a service
– K8S– Swarm– Mesos
• Infrastructure automation– Uses Heat– Bays– Healing– Scaling– LBAAS integration– Security (TLS)
• But naturally limited to Openstack
![Page 16: Container Orchestration](https://reader035.vdocuments.us/reader035/viewer/2022081502/58f1d7631a28abcc638b4619/html5/thumbnails/16.jpg)
The only constant is change
Openstack Magnum• Kubernetes first and most mature
– Adds TLS config• Cert generation + CA
– Adds HA to master• Bays provide multi-tenant
isolation• Support VMs and bare metal
(ironic)• Very active project
![Page 17: Container Orchestration](https://reader035.vdocuments.us/reader035/viewer/2022081502/58f1d7631a28abcc638b4619/html5/thumbnails/17.jpg)
The only constant is change
Cloudify And TOSCA• Consider Magnum style capabilities
but cloud agnostic– Standards based model (TOSCA)– Hybrid management (containers, non-
containers intermixed).– High availability and autoscaling for
container orchestrators.– Target any cloud, virtualization or bare
metal.
![Page 18: Container Orchestration](https://reader035.vdocuments.us/reader035/viewer/2022081502/58f1d7631a28abcc638b4619/html5/thumbnails/18.jpg)
The only constant is change
TOSCA• Oasis Spec• Defines modeling language:
• Describe components and relationships• Veeerrry generic• Components can be hardware, software,
or just abstract.• Each component can have code
associated• Each relationship can have code
associated
![Page 19: Container Orchestration](https://reader035.vdocuments.us/reader035/viewer/2022081502/58f1d7631a28abcc638b4619/html5/thumbnails/19.jpg)
The only constant is change
Sample Blueprint
![Page 20: Container Orchestration](https://reader035.vdocuments.us/reader035/viewer/2022081502/58f1d7631a28abcc638b4619/html5/thumbnails/20.jpg)
The only constant is change
Cloudify Manager Overview
![Page 21: Container Orchestration](https://reader035.vdocuments.us/reader035/viewer/2022081502/58f1d7631a28abcc638b4619/html5/thumbnails/21.jpg)
The only constant is change
Cloudify Manager Event Processing
![Page 22: Container Orchestration](https://reader035.vdocuments.us/reader035/viewer/2022081502/58f1d7631a28abcc638b4619/html5/thumbnails/22.jpg)
The only constant is change
Simple Swarm Demo• Swarm Cluster on Openstack• Simple start: 1 manager, 1 worker• Sufficient to show infrastructure
level– Autohealing– Auto-scale up: based on CPU sliding
window (Riemann driven)– Auto-scale down: same window, after
cooldown.
![Page 23: Container Orchestration](https://reader035.vdocuments.us/reader035/viewer/2022081502/58f1d7631a28abcc638b4619/html5/thumbnails/23.jpg)
The only constant is change
Hybrid Possibilities• Consider architecture with mixed
container/non-container components– E.g. database on VM, web on K8s
• Unopinionated orchestration to the rescue
• All components modeled in blueprints• Configuration overlayed on native
Kubernetes descriptors (YAML)• Example walkthrough ……
![Page 24: Container Orchestration](https://reader035.vdocuments.us/reader035/viewer/2022081502/58f1d7631a28abcc638b4619/html5/thumbnails/24.jpg)
The only constant is change
Thanks for being hereQuestions? Email [email protected]: http://getcloudify.org/blog/Github: https://github.com/cloudify-examples/docker-swarm-blueprint, https://github.com/cloudify-examples/kubernetes-cluster-blueprint, https://github.com/cloudify-examples/cloudify-kubernetes-plugin-blueprint