SlideShare une entreprise Scribd logo
1  sur  60
Google Cloud Platform 1
Kubernetes
Container orchestration and beyond
Craig Box, Google Cloud Platform
@craigbox
Google Cloud Platform 2
Google Cloud Platform 3
The Anatomy of a Large-Scale Hypertextual Web Search Engine
1996, Sergey Brin and Lawrence Page
Computer Science Department, Stanford University, Stanford,
CA 94305
Google Cloud Platform 4
Google Cloud Platform 5
Serve web pages
Google Cloud Platform 6
Build an index
Google Cloud Platform 7
Babysitter
Google Cloud Platform 8
Global Work Queue
Google Cloud Platform 9
"Borg"
Google Cloud Platform 10
A datacenter is not a collection of computers,
a datacenter is a computer.
Google Cloud Platform 11
Containers
Google Cloud Platform 12
Containers
Google Cloud Platform 13
Hypervisor
Guest environment
app code
libraries
guest kernel
This is vanilla virtualization
Google Cloud Platform 14
machine image
locked into a
platform
It has downsides:
Not portable, and opaque
Hypervisor
Guest environment
app code
libraries
guest kernel
Google Cloud Platform 15
It has downsides:
No Isolation
Hypervisor
Guest environment
app code
libraries
guest kernel
dependency???
app code
Google Cloud Platform 16
It has downsides:
Little Reuse
Hypervisor
Guest environment
app code
libraries
guest kernel
Guest environment
app code
libraries
guest kernel
Guest environment
app code
libraries
guest kernelredundant
Google Cloud Platform 17
Containers create
a better abstraction layer
Hypervisor
Guest environment
app code
libraries
guest kernel
cut here
Google Cloud Platform 18
Node environment
Much better: Portable, isolated, static
app environments
Hypervisor
node kernel
app code
libraries
app code
libraries
app code
libraries
container 1 container 2 container 3
Google Cloud Platform 19
• Lightweight Linux environment
• Hermetically sealed,
deployable application
• Introspectable, runnable artifact
• Recently popularized by Docker
Containers
Google Cloud Platform 20
Resource
isolation
Predictability
Quality of Service
Batch vs.
interactive
Containers
at Google
Resource
accounting
Efficient overcommit
Google Cloud Platform 21
Containers at Google
We launch over
2 Billion
containers per week.
Google Cloud Platform 21
Google Cloud Platform 22
Repeatable, runnable
artifact
Loosely coupled
Static application
environment
Images by Connie Zhou
● Portability
● Develop here, run
there
● Pick your cloud
solely on its merits
● Easier to build and
manage
● Compose
applications from
micro-services
● Mix in and extend
third party services
● Reliable
deployments
● No stress
deployment and
update
Why do developers care?
Google Cloud Platform 23
Highly automatable = path to active management
● Efficiency: optimized packing, better scaling
● Performance: active environment tuning
● Continuous integration: easy and reliable
● Robustness: active monitoring, self healing
Why do developers care?
Google Cloud Platform 24
Containers have taken the world by
storm!
• 2013: LXC is a niche technology
• 2016: “Container” wins buzzword bingo
It’s a huge paradigm shift
• VMs are out, containers are in
It’s happening way faster than
anyone could have predicted
• Adoption is up 5x in 12 months1
The right tech at the right time
1: https://www.datadoghq.com/docker-adoption/
Distributed systems toolkit
Making reliable, scalable, agile distributed systems a CS101 exercise.
Google Cloud Platform 27
Greek for “Helmsman”:
the root of the word “governor” and “cybernetic”
● Container orchestrator
● Builds on Docker containers
○ also supporting other container technologies
● Multiple cloud and bare-metal environments
● Supports existing OSS apps
○ cannot require apps becoming cloud-native
● Inspired and informed by Google’s
● experiences and internal systems
● 100% Open source, written in Go
Let users manage applications, not machines
κυβερνήτης
Google Cloud Platform 28
machine-1
machine-2
machine-3
“Physical” Infrastructure
frontend middleware backend
Google Cloud Platform 29
frontend
middleware
backend
Kubernetes API: Unified Compute Substrate
Logical Infrastructure
Google Cloud Platform 30
Cluster Federation
Google Cloud Platform 31
kubelet
UI
kubeletCLI
API
users master nodes
Single Kubernetes Cluster
etcd
kubelet
scheduler
controllers
apiserver
Google Cloud Platform 32
UI
All you really care about
API
Container
Cluster
Google Cloud Platform 33
Pods
Small group of containers & volumes
Tightly coupled
same node
The atom of cluster scheduling &
placement
Each pod has its own IP address
shared namespace: share IP address &
localhost
Ephemeral
can die and be replaced
Example: data puller & web server
Pod
File Puller Web Server
Volume
Consumers
Content
Manager
Google Cloud Platform 34
Volumes
Pod-scoped storage
Support many types of volume plugins
Empty dir (and tmpfs)
Host path
Git repository
GCE Persistent Disk
AWS Elastic Block Store
Azure File Storage
iSCSI
Flocker
NFS
vSphere
GlusterFS
Ceph File and RBD
Cinder
FibreChannel
Secret, ConfigMap,
DownwardAPI
Flex (exec a binary)
...
Google Cloud Platform 35
ReplicaSets*
A simple control loop
Runs out-of-process wrt API server
One job: ensure N copies of a pod
grouped by a selector
too few? start some
too many? kill some
Layered on top of the public Pod API
Replicated pods are fungible
No implied order or identity
* The evolution of ReplicationControllers
ReplicaSet
- name = “my-rc”
- selector = {“App”: “MyApp”}
- template = { ... }
- replicas = 4
API Server
How
many?
3
Start 1
more
OK
How
many?
4
Google Cloud Platform 36
Services
A group of pods that act as one == Service
group == selector
Defines access policy
only “load balanced” for now
Gets a stable virtual IP and port
called the service portal
also a DNS name
VIP is captured by kube-proxy
watches the service constituency
updates when backends change
Hide complexity - ideal for non-native apps
Portal (VIP)
Client
Google Cloud Platform 37
Customer pain points
High Availability
mitigate zone/provider outages
Geographic scaling
low latency local serving
Application Migration
Vendor lock-in
Automating migrations & rollbacks
Capacity Overflow
Utilization / Cost
Performance
Policy Enforcement
Data must be stored and processed within
specified political jurisdictions
Cross-cluster
Load Balancer
Your
paying
customer
Cluster 1
Cluster 2
Cluster 3
Google Cloud Platform 38
UI
CLI
API
Control Plane Clusters
Federation
API
Users
Kubernetes on
Kubernetes on
Kubernetes on
Premise
Federation
Google Cloud Platform 39
Create the Kubernetes Clusters
Cluster 1
us-east1-b
Cluster 2
us-central1-b
Cluster 3
europe-west1-b
Cluster 4
asia-east1-b
API API API API
API CLI
UI
Google Cloud Platform 40
Deploy the Federated Control Plane on an existing Kubernetes cluster
● Federation:
○ Namespace
○ API Server Service with public VIP
○ API Server Deployment Pod with 2 replicas
○ Controller Manager Pod with 1 replica
○ Database key/value store
Cluster 1
us-east1-b
Cluster 2
us-central1-b
Cluster 3
europe-west1-b
Cluster 4
asia-east1-b
--context=federation-cluster
Google Cloud Platform 41
Add Cluster(s) to Federation
Cluster 1
us-east1-b
Cluster 2
us-central1-b
Cluster 3
europe-west1-b
Cluster 4
asia-east1-b
API API API API
Federation Control Plane
kubectl --context=federation-cluster create -f clusters/gce-asia-east1.yaml
apiVersion: federation/v1beta1
kind: Cluster
metadata:
name: gce-asia-east1
spec:
serverAddressByClientCIDRs:
- clientCIDR: "0.0.0.0/0"
serverAddress: "https://xxx.xxx.194.68"
secretRef:
name: gce-asia-east1CLI
Google Cloud Platform 42
Deploying a Federated Service
Cluster 1
us-east1-b
Cluster 2
us-central1-b
Cluster 3
europe-west1-b
Cluster 4
asia-east1-b
API API API API
Federation Control Plane
API CLI
kubectl --context=federation-cluster create -f
services/nginx.yaml
NGINX NGINX NGINX NGINX
Google Cloud Platform 43
Each Service Shard is exposed via External Load Balancer
Cluster 1
us-east1-b
Cluster 2
us-central1-b
Cluster 3
europe-west1-b
Cluster 4
asia-east1-b
Federation Control Plane
API CLI
NGINX NGINX NGINX NGINX
Google Cloud Platform 44
Deploy Federated Service Backends
Cluster 1
us-east1-b
Cluster 2
us-central1-b
Cluster 3
europe-west1-b
Cluster 4
asia-east1-b
DNS
NGINX NGINX NGINX NGINX
DNS DNS DNS
Google Cloud Platform 45
Cross Cluster Service Discovery (External Request)
Cluster 1
us-east1-b
Cluster 2
us-central1-b
Cluster 3
europe-west1-b
Cluster 4
asia-east1-b
DNS
NGINX NGINX NGINX NGINX
DNS DNS DNS
External DNS
nginx.default.federation.svc.federation.com
C3 C4
C3 C4
1
2
3
4
Google Cloud Platform 46
Cross Cluster Service Discovery (External Request)
Cluster 1
us-east1-b
Cluster 2
us-central1-b
Cluster 3
europe-west1-b
Cluster 4
asia-east1-b
DNS
NGINX NGINX NGINX NGINX
DNS DNS DNS
C3 C4
X
External DNS
Google Cloud Platform 47
Q2 2016 Q3 2016 Q4 2016 (**) 2017 and beyond (**)
Federation Control plane (beta1)
- Public facing Multi
Region/Could - Cross
Cluster Service Discovery
(internal/external DNS)
- Service object API
support
Federation Control plane (beta2)
- Multi Region Ingress(L7)
Load Balancing across
clusters for GCP only
Federation Control plane (beta3)
- Cross provider Multi
Region Ingress(L7) Load
Balancing
- GKE IAM Integration
Federation Control plane (GA)
- Non Public Facing Cross
Cluster Service Discovery
- Full support for Kubernetes
API objects
- UI support for Federated
Clusters
- Federated IAM
- GKE Hosted Control Plane
Updated 2016-08-03 (Dataproc HA schedule update), douglasdollars@
(**) - this is a proposed roadmap. Items listed here are subject to change.
Cluster Federation roadmap
Google Cloud Platform 48
● Kubernetes Cluster Federation Sneak Peak (link)
● Kubernetes Cluster Federation using GKE (link)
● Cluster Federation Admin Guide (link)
● Cross Cluster Service Discovery Deployment Guide (link)
● Cross Cluster Services - Achieving Higher Availability for your Kubernetes Applications (link)
Also,
● Participate with us on the Kubernetes #sig-federation
● Post issues or feature requests on GitHub
● Join us in the #federation channel on Slack
Want to learn more?
Google Cloud Platform 49
Stateful services
Google Cloud Platform 50
Stateful services (1.2)
- ReplicaSets ensure N replicas of a pod
template exist
- Only attribute that differs between pods is the
name
- Pods have no stable network identity other
than an assigned pod IP
- e.g. no fixed and predictable hostname
- Best for ‘shared-nothing, zero-coordination
systems’
Photo credit: http://delectabledeliciousness.blogspot.co.uk
Google Cloud Platform 51
Persistent Volume Framework
Administrator
Developer
Developer
owned
PV PV PV
Pool of Persistent Volumes
Registers PVs in the pool
claim
claim
Claims a PV from the pool
References claim in pod
Pod
PV
Administrator
owned
Google Cloud Platform 52
Init Containers
● Alpha feature
● Run container(s) before the long-running main pod
container(s) are launched
● Executed in sequential order
● Only if init containers succeed do the main container(s)
start
● Use cases:
○ download files / clone repos
○ write out config files
○ etc
init-1 init-2
main-container
53
● New Alpha resource (apps/v1alpha1)
○ Not available on GKE
● Stable and unique identity associated with that
instance of the storage
● Consistent network identity
● Predictable number of instances to ensure that
systems can form a quorum
● Ability to migrate from node to node with stable
network identity (DNS name)
● Scale up/down in a controlled fashion
PetSet
Google Cloud Platform 54
PetSet
PetSet
pet-0.
pet.default...
PetSet
Controller
PV-0 PVC-0
API Server
Watches
Creates claim from template
BindsMounts
Creates
and waits
until ready
Service
1:1 mapping
Google Cloud Platform 55
PetSet
PetSet
pet-0.
pet.default...
PetSet
Controller
PV-0 PVC-0
API Server
Service
pet-1.
pet.default... PV-1 PVC-1
pet-2.
pet.default... PV-2 PVC-2
Google Cloud Platform 56
In closing
Google Cloud Platform 57
Top 0.01% of all
Github projects
1200+ external
projects based on
Kubernetes
800+
unique contributors
Community
30,000+ commits
Broad industry support
Google Cloud Platform 58
Kubernetes Adoption
Startup to Enterprise Adoption
● 2,000+ external projects based on Kubernetes
● Usage spans all platforms, from on-prem to all public clouds
● Google Container Engine (GKE) usage is doubling every 90 days
Google Cloud Platform 59
Kubernetes & Container Engine
Containers are powering a revolution
For Developers:
Easy dev-test environments
Easy to compose micro-services
Update your cluster with one command
For Ops/IT:
Kubernetes is managed for you
Deploying becomes file-copy
Highly portable
Google Cloud Platform 59
Google Cloud Platform 60
Thank you
#kubernetes @craigbox
Thanks to Matt Bates from jetstack.io
and Steve Watt from Red Hat

Contenu connexe

Tendances

Tendances (20)

Managing Container Clusters in OpenStack Native Way
Managing Container Clusters in OpenStack Native WayManaging Container Clusters in OpenStack Native Way
Managing Container Clusters in OpenStack Native Way
 
Rex gke-clustree
Rex gke-clustreeRex gke-clustree
Rex gke-clustree
 
Kafka on Kubernetes: Keeping It Simple (Nikki Thean, Etsy) Kafka Summit SF 2019
Kafka on Kubernetes: Keeping It Simple (Nikki Thean, Etsy) Kafka Summit SF 2019Kafka on Kubernetes: Keeping It Simple (Nikki Thean, Etsy) Kafka Summit SF 2019
Kafka on Kubernetes: Keeping It Simple (Nikki Thean, Etsy) Kafka Summit SF 2019
 
Kubernetes and OpenStack at Scale
Kubernetes and OpenStack at ScaleKubernetes and OpenStack at Scale
Kubernetes and OpenStack at Scale
 
Building Clustered Applications with Kubernetes and Docker
Building Clustered Applications with Kubernetes and DockerBuilding Clustered Applications with Kubernetes and Docker
Building Clustered Applications with Kubernetes and Docker
 
Terraforming your Infrastructure on GCP
Terraforming your Infrastructure on GCPTerraforming your Infrastructure on GCP
Terraforming your Infrastructure on GCP
 
Kubernetes Application Deployment with Helm - A beginner Guide!
Kubernetes Application Deployment with Helm - A beginner Guide!Kubernetes Application Deployment with Helm - A beginner Guide!
Kubernetes Application Deployment with Helm - A beginner Guide!
 
Docker for Multi-Cloud Apps
Docker for Multi-Cloud AppsDocker for Multi-Cloud Apps
Docker for Multi-Cloud Apps
 
Learn kubernetes in 90 minutes
Learn kubernetes in 90 minutesLearn kubernetes in 90 minutes
Learn kubernetes in 90 minutes
 
Kubernetes and Hybrid Deployments
Kubernetes and Hybrid DeploymentsKubernetes and Hybrid Deployments
Kubernetes and Hybrid Deployments
 
Kubernetes Basis: Pods, Deployments, and Services
Kubernetes Basis: Pods, Deployments, and ServicesKubernetes Basis: Pods, Deployments, and Services
Kubernetes Basis: Pods, Deployments, and Services
 
Kubernetes training
Kubernetes trainingKubernetes training
Kubernetes training
 
PuppetConf 2017: Kubernetes in the Cloud w/ Puppet + Google Container Engine-...
PuppetConf 2017: Kubernetes in the Cloud w/ Puppet + Google Container Engine-...PuppetConf 2017: Kubernetes in the Cloud w/ Puppet + Google Container Engine-...
PuppetConf 2017: Kubernetes in the Cloud w/ Puppet + Google Container Engine-...
 
Kubernetes Requests and Limits
Kubernetes Requests and LimitsKubernetes Requests and Limits
Kubernetes Requests and Limits
 
Kubermatic How to Migrate 100 Clusters from On-Prem to Google Cloud Without D...
Kubermatic How to Migrate 100 Clusters from On-Prem to Google Cloud Without D...Kubermatic How to Migrate 100 Clusters from On-Prem to Google Cloud Without D...
Kubermatic How to Migrate 100 Clusters from On-Prem to Google Cloud Without D...
 
Kubernetes automation in production
Kubernetes automation in productionKubernetes automation in production
Kubernetes automation in production
 
Kubernetes Boulder - Kit Merker - Cloud Native Deployment
Kubernetes Boulder - Kit Merker - Cloud Native DeploymentKubernetes Boulder - Kit Merker - Cloud Native Deployment
Kubernetes Boulder - Kit Merker - Cloud Native Deployment
 
Istio canaries and kubernetes
Istio  canaries and kubernetesIstio  canaries and kubernetes
Istio canaries and kubernetes
 
John Spray - Ceph in Kubernetes
John Spray - Ceph in KubernetesJohn Spray - Ceph in Kubernetes
John Spray - Ceph in Kubernetes
 
Spark day 2017 - Spark on Kubernetes
Spark day 2017 - Spark on KubernetesSpark day 2017 - Spark on Kubernetes
Spark day 2017 - Spark on Kubernetes
 

En vedette

BALPARMAK CORPORATE PRESENTATION
BALPARMAK CORPORATE PRESENTATIONBALPARMAK CORPORATE PRESENTATION
BALPARMAK CORPORATE PRESENTATION
Dorukan Tarman
 
Beiersdorf interim report_jan-sept_2010
Beiersdorf interim report_jan-sept_2010Beiersdorf interim report_jan-sept_2010
Beiersdorf interim report_jan-sept_2010
farouk123
 
Carta Bodega El Capricho 2016
Carta Bodega El Capricho 2016Carta Bodega El Capricho 2016
Carta Bodega El Capricho 2016
Merkasi Soluciones Multimedia
 
Gp0012 sampledescription
Gp0012 sampledescriptionGp0012 sampledescription
Gp0012 sampledescription
Ivan Leyzan
 
Bachelor Project Degree-Processing and mechanical analysis of electro-spun an...
Bachelor Project Degree-Processing and mechanical analysis of electro-spun an...Bachelor Project Degree-Processing and mechanical analysis of electro-spun an...
Bachelor Project Degree-Processing and mechanical analysis of electro-spun an...
Alvaro Diaz Mendoza
 

En vedette (20)

Kubernetes kubecon-roundup
Kubernetes kubecon-roundupKubernetes kubecon-roundup
Kubernetes kubecon-roundup
 
Scaling Jenkins with Kubernetes by Ami Mahloof
Scaling Jenkins with Kubernetes by Ami MahloofScaling Jenkins with Kubernetes by Ami Mahloof
Scaling Jenkins with Kubernetes by Ami Mahloof
 
Running Production-Grade Kubernetes on AWS
Running Production-Grade Kubernetes on AWSRunning Production-Grade Kubernetes on AWS
Running Production-Grade Kubernetes on AWS
 
Informe políticas fiscales
Informe políticas fiscalesInforme políticas fiscales
Informe políticas fiscales
 
BALPARMAK CORPORATE PRESENTATION
BALPARMAK CORPORATE PRESENTATIONBALPARMAK CORPORATE PRESENTATION
BALPARMAK CORPORATE PRESENTATION
 
Is Your Phone Turning You into an Adrenaline Junkie?
Is Your Phone Turning You into an Adrenaline Junkie?Is Your Phone Turning You into an Adrenaline Junkie?
Is Your Phone Turning You into an Adrenaline Junkie?
 
Beiersdorf interim report_jan-sept_2010
Beiersdorf interim report_jan-sept_2010Beiersdorf interim report_jan-sept_2010
Beiersdorf interim report_jan-sept_2010
 
Carta Bodega El Capricho 2016
Carta Bodega El Capricho 2016Carta Bodega El Capricho 2016
Carta Bodega El Capricho 2016
 
Netschools (2)
Netschools (2)Netschools (2)
Netschools (2)
 
Forjando Compromiso Cie Automotive Galfor
Forjando Compromiso Cie Automotive GalforForjando Compromiso Cie Automotive Galfor
Forjando Compromiso Cie Automotive Galfor
 
Como progresar en las redes sociales
Como progresar en las redes socialesComo progresar en las redes sociales
Como progresar en las redes sociales
 
Presentazione telesurvey italia
Presentazione telesurvey italiaPresentazione telesurvey italia
Presentazione telesurvey italia
 
Santa Bertilla
Santa BertillaSanta Bertilla
Santa Bertilla
 
Oracion nochebuena
Oracion nochebuenaOracion nochebuena
Oracion nochebuena
 
Revista de Hosteleria - 4º trimestre 2012
Revista de Hosteleria - 4º trimestre 2012Revista de Hosteleria - 4º trimestre 2012
Revista de Hosteleria - 4º trimestre 2012
 
Training Games - und schon macht es mehr Spass!
Training Games - und schon macht es mehr Spass!Training Games - und schon macht es mehr Spass!
Training Games - und schon macht es mehr Spass!
 
Gp0012 sampledescription
Gp0012 sampledescriptionGp0012 sampledescription
Gp0012 sampledescription
 
Clase 2 Diseño de Hormigón Armado -
Clase 2 Diseño de Hormigón Armado -Clase 2 Diseño de Hormigón Armado -
Clase 2 Diseño de Hormigón Armado -
 
deSymfony 2013: Anotaciones, no es parte de mi aplicación, pero es mi aplicación
deSymfony 2013: Anotaciones, no es parte de mi aplicación, pero es mi aplicacióndeSymfony 2013: Anotaciones, no es parte de mi aplicación, pero es mi aplicación
deSymfony 2013: Anotaciones, no es parte de mi aplicación, pero es mi aplicación
 
Bachelor Project Degree-Processing and mechanical analysis of electro-spun an...
Bachelor Project Degree-Processing and mechanical analysis of electro-spun an...Bachelor Project Degree-Processing and mechanical analysis of electro-spun an...
Bachelor Project Degree-Processing and mechanical analysis of electro-spun an...
 

Similaire à 2016 08-30 Kubernetes talk for Waterloo DevOps

Kubernetes One-Click Deployment: Hands-on Workshop (Mainz)
Kubernetes One-Click Deployment: Hands-on Workshop (Mainz)Kubernetes One-Click Deployment: Hands-on Workshop (Mainz)
Kubernetes One-Click Deployment: Hands-on Workshop (Mainz)
QAware GmbH
 

Similaire à 2016 08-30 Kubernetes talk for Waterloo DevOps (20)

Openstack days sv building highly available services using kubernetes (preso)
Openstack days sv   building highly available services using kubernetes (preso)Openstack days sv   building highly available services using kubernetes (preso)
Openstack days sv building highly available services using kubernetes (preso)
 
OW2con'16 Keynote address: Kubernetes, the rising tide of systems administrat...
OW2con'16 Keynote address: Kubernetes, the rising tide of systems administrat...OW2con'16 Keynote address: Kubernetes, the rising tide of systems administrat...
OW2con'16 Keynote address: Kubernetes, the rising tide of systems administrat...
 
OW2con'16 Keynote address: Kubernetes, the rising tide of systems administrat...
OW2con'16 Keynote address: Kubernetes, the rising tide of systems administrat...OW2con'16 Keynote address: Kubernetes, the rising tide of systems administrat...
OW2con'16 Keynote address: Kubernetes, the rising tide of systems administrat...
 
What's New in Docker - February 2017
What's New in Docker - February 2017What's New in Docker - February 2017
What's New in Docker - February 2017
 
Webinar- Tea for the Tillerman
Webinar- Tea for the TillermanWebinar- Tea for the Tillerman
Webinar- Tea for the Tillerman
 
Mattia Gandolfi - Improving utilization and portability with Containers and C...
Mattia Gandolfi - Improving utilization and portability with Containers and C...Mattia Gandolfi - Improving utilization and portability with Containers and C...
Mattia Gandolfi - Improving utilization and portability with Containers and C...
 
Kubernetes One-Click Deployment: Hands-on Workshop (Mainz)
Kubernetes One-Click Deployment: Hands-on Workshop (Mainz)Kubernetes One-Click Deployment: Hands-on Workshop (Mainz)
Kubernetes One-Click Deployment: Hands-on Workshop (Mainz)
 
Top 10 present and future innovations in the NoSQL Cassandra ecosystem (2022)
Top 10 present and future innovations in the NoSQL Cassandra ecosystem (2022)Top 10 present and future innovations in the NoSQL Cassandra ecosystem (2022)
Top 10 present and future innovations in the NoSQL Cassandra ecosystem (2022)
 
Red Hat multi-cluster management & what's new in OpenShift
Red Hat multi-cluster management & what's new in OpenShiftRed Hat multi-cluster management & what's new in OpenShift
Red Hat multi-cluster management & what's new in OpenShift
 
OSDC 2018 | Highly Available Cloud Foundry on Kubernetes by Cornelius Schumacher
OSDC 2018 | Highly Available Cloud Foundry on Kubernetes by Cornelius SchumacherOSDC 2018 | Highly Available Cloud Foundry on Kubernetes by Cornelius Schumacher
OSDC 2018 | Highly Available Cloud Foundry on Kubernetes by Cornelius Schumacher
 
Oscon 2017: Build your own container-based system with the Moby project
Oscon 2017: Build your own container-based system with the Moby projectOscon 2017: Build your own container-based system with the Moby project
Oscon 2017: Build your own container-based system with the Moby project
 
8 - OpenShift - A look at a container platform: what's in the box
8 - OpenShift - A look at a container platform: what's in the box8 - OpenShift - A look at a container platform: what's in the box
8 - OpenShift - A look at a container platform: what's in the box
 
Docker & aPaaS: Enterprise Innovation and Trends for 2015
Docker & aPaaS: Enterprise Innovation and Trends for 2015Docker & aPaaS: Enterprise Innovation and Trends for 2015
Docker & aPaaS: Enterprise Innovation and Trends for 2015
 
Docker Orchestration: Welcome to the Jungle! Devoxx & Docker Meetup Tour Nov ...
Docker Orchestration: Welcome to the Jungle! Devoxx & Docker Meetup Tour Nov ...Docker Orchestration: Welcome to the Jungle! Devoxx & Docker Meetup Tour Nov ...
Docker Orchestration: Welcome to the Jungle! Devoxx & Docker Meetup Tour Nov ...
 
Cloud computing: highlights
Cloud computing: highlightsCloud computing: highlights
Cloud computing: highlights
 
IAU workshop 2018 day one
IAU workshop 2018 day oneIAU workshop 2018 day one
IAU workshop 2018 day one
 
Cluster management with Kubernetes
Cluster management with KubernetesCluster management with Kubernetes
Cluster management with Kubernetes
 
Best Practices for Building Hybrid-Cloud Architectures | Hans Jespersen
Best Practices for Building Hybrid-Cloud Architectures | Hans JespersenBest Practices for Building Hybrid-Cloud Architectures | Hans Jespersen
Best Practices for Building Hybrid-Cloud Architectures | Hans Jespersen
 
Running and Managing Kubernetes on OpenStack
Running and Managing Kubernetes on OpenStackRunning and Managing Kubernetes on OpenStack
Running and Managing Kubernetes on OpenStack
 
Kubernetes Navigation Stories – DevOpsStage 2019, Kyiv
Kubernetes Navigation Stories – DevOpsStage 2019, KyivKubernetes Navigation Stories – DevOpsStage 2019, Kyiv
Kubernetes Navigation Stories – DevOpsStage 2019, Kyiv
 

Dernier

AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
VictorSzoltysek
 
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfintroduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
VishalKumarJha10
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
mohitmore19
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
9953056974 Low Rate Call Girls In Saket, Delhi NCR
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
Health
 

Dernier (20)

AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
 
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfintroduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation Template
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 
Exploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdfExploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdf
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS LiveVip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
 
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
 

2016 08-30 Kubernetes talk for Waterloo DevOps

  • 1. Google Cloud Platform 1 Kubernetes Container orchestration and beyond Craig Box, Google Cloud Platform @craigbox
  • 3. Google Cloud Platform 3 The Anatomy of a Large-Scale Hypertextual Web Search Engine 1996, Sergey Brin and Lawrence Page Computer Science Department, Stanford University, Stanford, CA 94305
  • 5. Google Cloud Platform 5 Serve web pages
  • 6. Google Cloud Platform 6 Build an index
  • 7. Google Cloud Platform 7 Babysitter
  • 8. Google Cloud Platform 8 Global Work Queue
  • 10. Google Cloud Platform 10 A datacenter is not a collection of computers, a datacenter is a computer.
  • 11. Google Cloud Platform 11 Containers
  • 12. Google Cloud Platform 12 Containers
  • 13. Google Cloud Platform 13 Hypervisor Guest environment app code libraries guest kernel This is vanilla virtualization
  • 14. Google Cloud Platform 14 machine image locked into a platform It has downsides: Not portable, and opaque Hypervisor Guest environment app code libraries guest kernel
  • 15. Google Cloud Platform 15 It has downsides: No Isolation Hypervisor Guest environment app code libraries guest kernel dependency??? app code
  • 16. Google Cloud Platform 16 It has downsides: Little Reuse Hypervisor Guest environment app code libraries guest kernel Guest environment app code libraries guest kernel Guest environment app code libraries guest kernelredundant
  • 17. Google Cloud Platform 17 Containers create a better abstraction layer Hypervisor Guest environment app code libraries guest kernel cut here
  • 18. Google Cloud Platform 18 Node environment Much better: Portable, isolated, static app environments Hypervisor node kernel app code libraries app code libraries app code libraries container 1 container 2 container 3
  • 19. Google Cloud Platform 19 • Lightweight Linux environment • Hermetically sealed, deployable application • Introspectable, runnable artifact • Recently popularized by Docker Containers
  • 20. Google Cloud Platform 20 Resource isolation Predictability Quality of Service Batch vs. interactive Containers at Google Resource accounting Efficient overcommit
  • 21. Google Cloud Platform 21 Containers at Google We launch over 2 Billion containers per week. Google Cloud Platform 21
  • 22. Google Cloud Platform 22 Repeatable, runnable artifact Loosely coupled Static application environment Images by Connie Zhou ● Portability ● Develop here, run there ● Pick your cloud solely on its merits ● Easier to build and manage ● Compose applications from micro-services ● Mix in and extend third party services ● Reliable deployments ● No stress deployment and update Why do developers care?
  • 23. Google Cloud Platform 23 Highly automatable = path to active management ● Efficiency: optimized packing, better scaling ● Performance: active environment tuning ● Continuous integration: easy and reliable ● Robustness: active monitoring, self healing Why do developers care?
  • 24. Google Cloud Platform 24 Containers have taken the world by storm! • 2013: LXC is a niche technology • 2016: “Container” wins buzzword bingo It’s a huge paradigm shift • VMs are out, containers are in It’s happening way faster than anyone could have predicted • Adoption is up 5x in 12 months1 The right tech at the right time 1: https://www.datadoghq.com/docker-adoption/
  • 25.
  • 26. Distributed systems toolkit Making reliable, scalable, agile distributed systems a CS101 exercise.
  • 27. Google Cloud Platform 27 Greek for “Helmsman”: the root of the word “governor” and “cybernetic” ● Container orchestrator ● Builds on Docker containers ○ also supporting other container technologies ● Multiple cloud and bare-metal environments ● Supports existing OSS apps ○ cannot require apps becoming cloud-native ● Inspired and informed by Google’s ● experiences and internal systems ● 100% Open source, written in Go Let users manage applications, not machines κυβερνήτης
  • 28. Google Cloud Platform 28 machine-1 machine-2 machine-3 “Physical” Infrastructure frontend middleware backend
  • 29. Google Cloud Platform 29 frontend middleware backend Kubernetes API: Unified Compute Substrate Logical Infrastructure
  • 30. Google Cloud Platform 30 Cluster Federation
  • 31. Google Cloud Platform 31 kubelet UI kubeletCLI API users master nodes Single Kubernetes Cluster etcd kubelet scheduler controllers apiserver
  • 32. Google Cloud Platform 32 UI All you really care about API Container Cluster
  • 33. Google Cloud Platform 33 Pods Small group of containers & volumes Tightly coupled same node The atom of cluster scheduling & placement Each pod has its own IP address shared namespace: share IP address & localhost Ephemeral can die and be replaced Example: data puller & web server Pod File Puller Web Server Volume Consumers Content Manager
  • 34. Google Cloud Platform 34 Volumes Pod-scoped storage Support many types of volume plugins Empty dir (and tmpfs) Host path Git repository GCE Persistent Disk AWS Elastic Block Store Azure File Storage iSCSI Flocker NFS vSphere GlusterFS Ceph File and RBD Cinder FibreChannel Secret, ConfigMap, DownwardAPI Flex (exec a binary) ...
  • 35. Google Cloud Platform 35 ReplicaSets* A simple control loop Runs out-of-process wrt API server One job: ensure N copies of a pod grouped by a selector too few? start some too many? kill some Layered on top of the public Pod API Replicated pods are fungible No implied order or identity * The evolution of ReplicationControllers ReplicaSet - name = “my-rc” - selector = {“App”: “MyApp”} - template = { ... } - replicas = 4 API Server How many? 3 Start 1 more OK How many? 4
  • 36. Google Cloud Platform 36 Services A group of pods that act as one == Service group == selector Defines access policy only “load balanced” for now Gets a stable virtual IP and port called the service portal also a DNS name VIP is captured by kube-proxy watches the service constituency updates when backends change Hide complexity - ideal for non-native apps Portal (VIP) Client
  • 37. Google Cloud Platform 37 Customer pain points High Availability mitigate zone/provider outages Geographic scaling low latency local serving Application Migration Vendor lock-in Automating migrations & rollbacks Capacity Overflow Utilization / Cost Performance Policy Enforcement Data must be stored and processed within specified political jurisdictions Cross-cluster Load Balancer Your paying customer Cluster 1 Cluster 2 Cluster 3
  • 38. Google Cloud Platform 38 UI CLI API Control Plane Clusters Federation API Users Kubernetes on Kubernetes on Kubernetes on Premise Federation
  • 39. Google Cloud Platform 39 Create the Kubernetes Clusters Cluster 1 us-east1-b Cluster 2 us-central1-b Cluster 3 europe-west1-b Cluster 4 asia-east1-b API API API API API CLI UI
  • 40. Google Cloud Platform 40 Deploy the Federated Control Plane on an existing Kubernetes cluster ● Federation: ○ Namespace ○ API Server Service with public VIP ○ API Server Deployment Pod with 2 replicas ○ Controller Manager Pod with 1 replica ○ Database key/value store Cluster 1 us-east1-b Cluster 2 us-central1-b Cluster 3 europe-west1-b Cluster 4 asia-east1-b --context=federation-cluster
  • 41. Google Cloud Platform 41 Add Cluster(s) to Federation Cluster 1 us-east1-b Cluster 2 us-central1-b Cluster 3 europe-west1-b Cluster 4 asia-east1-b API API API API Federation Control Plane kubectl --context=federation-cluster create -f clusters/gce-asia-east1.yaml apiVersion: federation/v1beta1 kind: Cluster metadata: name: gce-asia-east1 spec: serverAddressByClientCIDRs: - clientCIDR: "0.0.0.0/0" serverAddress: "https://xxx.xxx.194.68" secretRef: name: gce-asia-east1CLI
  • 42. Google Cloud Platform 42 Deploying a Federated Service Cluster 1 us-east1-b Cluster 2 us-central1-b Cluster 3 europe-west1-b Cluster 4 asia-east1-b API API API API Federation Control Plane API CLI kubectl --context=federation-cluster create -f services/nginx.yaml NGINX NGINX NGINX NGINX
  • 43. Google Cloud Platform 43 Each Service Shard is exposed via External Load Balancer Cluster 1 us-east1-b Cluster 2 us-central1-b Cluster 3 europe-west1-b Cluster 4 asia-east1-b Federation Control Plane API CLI NGINX NGINX NGINX NGINX
  • 44. Google Cloud Platform 44 Deploy Federated Service Backends Cluster 1 us-east1-b Cluster 2 us-central1-b Cluster 3 europe-west1-b Cluster 4 asia-east1-b DNS NGINX NGINX NGINX NGINX DNS DNS DNS
  • 45. Google Cloud Platform 45 Cross Cluster Service Discovery (External Request) Cluster 1 us-east1-b Cluster 2 us-central1-b Cluster 3 europe-west1-b Cluster 4 asia-east1-b DNS NGINX NGINX NGINX NGINX DNS DNS DNS External DNS nginx.default.federation.svc.federation.com C3 C4 C3 C4 1 2 3 4
  • 46. Google Cloud Platform 46 Cross Cluster Service Discovery (External Request) Cluster 1 us-east1-b Cluster 2 us-central1-b Cluster 3 europe-west1-b Cluster 4 asia-east1-b DNS NGINX NGINX NGINX NGINX DNS DNS DNS C3 C4 X External DNS
  • 47. Google Cloud Platform 47 Q2 2016 Q3 2016 Q4 2016 (**) 2017 and beyond (**) Federation Control plane (beta1) - Public facing Multi Region/Could - Cross Cluster Service Discovery (internal/external DNS) - Service object API support Federation Control plane (beta2) - Multi Region Ingress(L7) Load Balancing across clusters for GCP only Federation Control plane (beta3) - Cross provider Multi Region Ingress(L7) Load Balancing - GKE IAM Integration Federation Control plane (GA) - Non Public Facing Cross Cluster Service Discovery - Full support for Kubernetes API objects - UI support for Federated Clusters - Federated IAM - GKE Hosted Control Plane Updated 2016-08-03 (Dataproc HA schedule update), douglasdollars@ (**) - this is a proposed roadmap. Items listed here are subject to change. Cluster Federation roadmap
  • 48. Google Cloud Platform 48 ● Kubernetes Cluster Federation Sneak Peak (link) ● Kubernetes Cluster Federation using GKE (link) ● Cluster Federation Admin Guide (link) ● Cross Cluster Service Discovery Deployment Guide (link) ● Cross Cluster Services - Achieving Higher Availability for your Kubernetes Applications (link) Also, ● Participate with us on the Kubernetes #sig-federation ● Post issues or feature requests on GitHub ● Join us in the #federation channel on Slack Want to learn more?
  • 49. Google Cloud Platform 49 Stateful services
  • 50. Google Cloud Platform 50 Stateful services (1.2) - ReplicaSets ensure N replicas of a pod template exist - Only attribute that differs between pods is the name - Pods have no stable network identity other than an assigned pod IP - e.g. no fixed and predictable hostname - Best for ‘shared-nothing, zero-coordination systems’ Photo credit: http://delectabledeliciousness.blogspot.co.uk
  • 51. Google Cloud Platform 51 Persistent Volume Framework Administrator Developer Developer owned PV PV PV Pool of Persistent Volumes Registers PVs in the pool claim claim Claims a PV from the pool References claim in pod Pod PV Administrator owned
  • 52. Google Cloud Platform 52 Init Containers ● Alpha feature ● Run container(s) before the long-running main pod container(s) are launched ● Executed in sequential order ● Only if init containers succeed do the main container(s) start ● Use cases: ○ download files / clone repos ○ write out config files ○ etc init-1 init-2 main-container
  • 53. 53 ● New Alpha resource (apps/v1alpha1) ○ Not available on GKE ● Stable and unique identity associated with that instance of the storage ● Consistent network identity ● Predictable number of instances to ensure that systems can form a quorum ● Ability to migrate from node to node with stable network identity (DNS name) ● Scale up/down in a controlled fashion PetSet
  • 54. Google Cloud Platform 54 PetSet PetSet pet-0. pet.default... PetSet Controller PV-0 PVC-0 API Server Watches Creates claim from template BindsMounts Creates and waits until ready Service 1:1 mapping
  • 55. Google Cloud Platform 55 PetSet PetSet pet-0. pet.default... PetSet Controller PV-0 PVC-0 API Server Service pet-1. pet.default... PV-1 PVC-1 pet-2. pet.default... PV-2 PVC-2
  • 56. Google Cloud Platform 56 In closing
  • 57. Google Cloud Platform 57 Top 0.01% of all Github projects 1200+ external projects based on Kubernetes 800+ unique contributors Community 30,000+ commits Broad industry support
  • 58. Google Cloud Platform 58 Kubernetes Adoption Startup to Enterprise Adoption ● 2,000+ external projects based on Kubernetes ● Usage spans all platforms, from on-prem to all public clouds ● Google Container Engine (GKE) usage is doubling every 90 days
  • 59. Google Cloud Platform 59 Kubernetes & Container Engine Containers are powering a revolution For Developers: Easy dev-test environments Easy to compose micro-services Update your cluster with one command For Ops/IT: Kubernetes is managed for you Deploying becomes file-copy Highly portable Google Cloud Platform 59
  • 60. Google Cloud Platform 60 Thank you #kubernetes @craigbox Thanks to Matt Bates from jetstack.io and Steve Watt from Red Hat