SlideShare a Scribd company logo
1 of 76
Download to read offline
Kubernetes
the Very Hard Way
Laurent Bernaille
Staff Engineer, Infrastructure
@lbernail
lbernail
Datadog
Over 350 integrations
Over 1,200 employees
Over 8,000 customers
Runs on millions of hosts
Trillions of data points per day
10000s hosts in our infra
10s of k8s clusters with 50-2500 nodes
Multi-cloud
Very fast growth
lbernail
Why Kubernetes?
Dogfooding
Improve k8s integrations
Immutable
Move from Chef
Multi Cloud
Common API
Community
Large and Dynamic
The very hard way?
It was much harder
lbernail
This talk is about the fine print
“Of course, you will need a HA master setup”
“Oh, and yes, you will have to manage your certificates”
“By the way, networking is slightly more complicated, look
into CNI / ingress controllers”
lbernail
What happens after “Kube 101”
1. Resilient and Scalable Control Plane
2. Securing the Control Plane
a. Kubernetes and Certificates
b. Exceptions?
c. Impact of Certificate Rotation
3. Efficient networking
a. Giving pod IPs and routing them
b. Ingresses: Getting data in the cluster
lbernail
What happens after “Kube 101”
1. Resilient and Scalable Control Plane
2. Securing the Control Plane
a. Kubernetes and Certificates
b. Exceptions?
c. Impact of Certificate Rotation
3. Efficient networking
a. Giving pod IPs and routing them
b. Ingresses: Getting data in the cluster
Resilient and Scalable
Control Plane
lbernail
Kube 101 Control Plane
kubelet kubectl
etcd
apiserver
controllersscheduler
Master
in-cluster
apps
Service
lbernail
Making it resilient
etcd
apiserver
controllersscheduler
kubelet kubectl
Master
etcd
apiserver
controllersscheduler
Master
etcd
apiserver
controllersscheduler
Master
LoadBalancer
in-cluster
apps
Service
lbernail
Kube 101 Control Plane
kubelet kubectl
etcd
apiserver
controllersscheduler
Master
in-cluster
apps
Service
lbernail
apiserver
controllersscheduler
kubelet kubectl
Master
apiserver
controllersscheduler
Master
apiserver
controllersscheduler
Master
LoadBalancer
in-cluster
apps
Service
Separate etcd nodes
etcd
etcd
lbernail
apiserver
controllersscheduler
kubelet kubectl
Master
apiserver
controllersscheduler
Master
apiserver
controllersscheduler
Master
LoadBalancer
in-cluster
apps
Service
Single active Controller/scheduler
etcd
etcd
lbernail
apiserver
controllers
kubelet kubectl
apiserver apiserver
LoadBalancer
in-cluster
apps
Service
Split scheduler/controllers
controllers
schedulers
schedulers
etcd
lbernail
apiserver
controllers
kubelet kubectl
apiserver apiserver
LoadBalancer
in-cluster
apps
Service
Split etcd
controllers
schedulers
schedulers
etcd
etcd
events
lbernail
apiserver
controllers
kubelet kubectl
apiserver apiserver
LoadBalancer
in-cluster
apps
Service
Sizing the control plane
controllers
schedulers
schedulers
2x (3 or 5 nodes)
disk + net ios
X nodes
RAM + net ios
2 nodes
CPU
2 nodes
CPU
etcd
etcd
events
lbernail
1. Resilient and Scalable Control Plane
2. Securing the Control Plane
a. Kubernetes and Certificates
b. Exceptions?
c. Impact of Certificate Rotation
3. Efficient networking
a. Giving pod IPs and routing them
b. Ingresses: Getting data in the cluster
What happens after “Kube 101”
Kubernetes and
Certificates
lbernail
From “the hard way”
lbernail
“Our cluster broke after ~1y”
lbernail
Certificates in Kubernetes
● Kubernetes uses certificates everywhere
● Very common source of incidents
● Our Strategy: Rotate all certificates daily
lbernail
Certificate management
etcd
apiserver
Vault
etcd PKIPeer/Server cert
Etcd Client cert
lbernail
Certificate management
etcd
apiserver
controllers
scheduler
Vault
etcd PKIPeer/Server cert
Etcd Client cert
kube PKI
Apiserver/kubelet client cert
Controller client cert
Scheduler client cert
kubelet Kubelet client/server cert
lbernail
Certificate management
etcd
apiserver
controllers
scheduler
Vault
etcd PKIPeer/Server cert
Etcd Client cert
kube PKI
Apiserver/kubelet client cert
kube kv
SA public key
SA private key
Controller client cert
Scheduler client cert
In-cluster
app
SA
token
kubelet Kubelet client/server cert
lbernail
Certificate management
etcd
apiserver
controllers
scheduler
apiservice
webhook...
Vault
etcd PKIPeer/Server cert
Etcd Client cert
apiservice PKI
Apiservice cert (proxy/webhooks)
kube PKI
Apiserver/kubelet client cert
kube kv
SA public key
SA private key
Controller client cert
Scheduler client cert
In-cluster
app
SA
token
kubelet Kubelet client/server cert
lbernail
Certificate management
etcd
apiserver
controllers
scheduler
apiservice
webhook...
Vault
etcd PKIPeer/Server cert
Etcd Client cert
apiservice PKI
Apiservice cert (proxy/webhooks)
kube PKI
Apiserver/kubelet client cert
kube kv
SA public key
SA private key
Controller client cert
Scheduler client cert
OIDC
provider
kubectl
OIDC auth
In-cluster
app
SA
token
kubelet Kubelet client/server cert
Exception ?
Incident...
lbernail
Kubelet: TLS Bootstrap
apiserver
controllers
Vault
kube PKI
kube kv3- Get signing key
admin
1- Create Bootstrap token
2- Add Bootstrap token to vault
lbernail
Kubelet: TLS Bootstrap
apiserver
controllers
Vault
kube PKI
kube kv
kubelet
5- Verify RBAC for CSR creator
6- Sign certificate
1- Get Bootstrap token
2- Authenticate with token
4- Create CSR
7- Download certificate
8- Authenticate with cert
9- Register node
3- Verify Token and map groups
lbernail
Kubelet certificate issue
1. One day, some Kubelets were failing to start or took 10s of minutes
2. Nothing in logs
3. Everything looked good but they could not get a cert
4. Turns out we had a lot of CSRs in flight
5. Signing controller was having a hard time evaluating them all
CSR resources in the cluster
Lower is better!
lbernail
Why?
Kubelet Authentication
● Initial creation: bootstrap token, mapped to group “system:bootstrappers”
● Renewal: use current node certificate, mapped to group “system:nodes“
Required RBAC permissions
● CSR creation
● CSR auto-approval
CSR creation CSR auto-approval
system:bootstrappers OK OK
system:nodes OK
Exception 2?
Incident 2...
lbernail
Temporary solution
apiserver
webhook
Vault
kube kv
Get cert and key
admin
Create webhook with
self-signed cert as CA
Add self-signed cert + key to Vault
One day, after ~1 year
● Creation of resources started failing (luckily only a Custom Resource)
● Cert had expired...
lbernail
Take-away
● Rotate server/client certificates
● Not easy
But, “If it’s hard, do it often”
> no expiration issues anymore
Impact of
Certificate rotation
Apiserver
certificate rotation
lbernail
Impact on etcdapiserver restarts
etcd slow queries
etcd traffic
We have multiple apiservers
We restart each daily
Significant etcd network impact
(caches are repopulated)
Significant impact on etcd performances
Impact on Load-balancers
apiserver restarts
ELB surge queue Significant impact on LB as connections are reestablished
Mitigation: increase queues on apiservers
net.ipv4.tcp_max_syn_backlog
net.core.somaxconn
lbernail
Impact on apiserver clients
apiserver restarts
coredns memory usage
● Apiserver restarts
● clients reconnect and refresh their cache
> Memory spike for impacted apps
No real mitigation today
lbernail
Impact on traffic balance
Number of connections / traffic very unbalanced
Because connections are very long-lived
More clients => Bigger impact clusterwide
15MB/s
2.5MB/s
2300 connections
300 connections
lbernail
Why? Simple simulation
Simulation for 48h
● 5 apiservers
● 10000 connections (4 x 2500 nodes)
● Every 4h, one apiserver restarts
● Reconnections evenly dispatched
Cause
● Cloud TCP load-balancers use round-robin
● Long-lived connections
● No rebalancing
Kubelet certificate
rotation
Pod graceful termination
apiserver
kubelet containerd
admin or
controller Delete pod
Stop Container
with timeout
“terminationGracePeriodSeconds”
container
Send SIGTERM
After timeout, send SIGKILL
Restarts impact graceful termination
apiserver
containerd
admin or
controller Delete pod
container
Send SIGTERM
After timeout, or Context Cancelled
send SIGKILL
Kubelet restarts end graceful termination
Fixed upstream
“Do not SIGKILL container if container stop is cancelled”
https://github.com/containerd/cri/pull/1099
kubelet
Impact on pod readiness
Issue upstream
“pod with readinessProbe will be not ready when kubelet restart”
https://github.com/kubernetes/kubernetes/issues/78733
kubelet restarts on “system” nodes (coredns + other services)
coredns endpoints NotReady
On kubelet restart
● Readiness probes marked as failed
● Pods removed from service endpoints
● Requires readiness to succeed again
lbernail
Take-away
Restarting components is not transparent
It would be great if
○ Components could transparently reload certs (server & client)
○ Clients could wait 0-Xs to reconnect to avoid thundering herd
○ Reconnections did not trigger memory spikes
○ Cloud TCP load-balancers supported least-conn algorithm
○ Connections were rebalanced (kill them after a while?)
lbernail
What happens after “Kube 101”
1. Resilient and Scalable Control Plane
2. Securing the Control Plane
a. Kubernetes and Certificates
b. Exceptions?
c. Impact of Certificate Rotation
3. Efficient networking
a. Giving pod IPs and routing them
b. Ingresses: Getting data in the cluster
Efficient
networking
lbernail
Throughput
Trillions of data points daily
Scale
1000-2000 nodes clusters
Network challenges
Latency
End-to-end pipeline
Topology
Multiple clusters
Access from standard VMs
Giving pods IPs &
Routing them
lbernail
From “the Hard Way”
node IP
Pod CIDR for this node
lbernail
Small cluster? Static routes
Node 1
IP: 192.168.0.1
Pod CIDR: 10.0.1.0/24
Routes (local or cloud provider)
10.0.1.0/24 => 192.168.0.1
10.0.2.0/24 => 192.168.0.2
Node 2
IP: 192.168.0.2
Pod CIDR: 10.0.2.0/24
Limits
local: nodes must be in the same subnet
cloud provider: number of routes
lbernail
Mid-size cluster? Overlay
Limits
Overhead of the overlay
Scaling route distribution (control plane)
Node 1
IP: 192.168.0.1
Pod CIDR: 10.0.1.0/24
Node 2
IP: 192.168.0.2
Pod CIDR: 10.0.2.0/24
VXLAN VXLAN
Tunnel traffic between hosts
Examples: Calico, Flannel
lbernail
Large cluster with a lot of traffic?
Native pod routing
Performance
Datapath: no overhead
Control plane: simpler
Addressing
Pod IPs are accessible from
● Other clusters
● VMs
lbernail
In practice
On premise
BGP
Calico
Kube-router
Macvlan
AWS
Additional IPs on ENIs
AWS EKS CNI plugin
Lyft CNI plugin
Cilium ENI IPAM
GCP
IP aliases
lbernail
How it works on AWS
eth1
agent Pod 1 Pod 2
kubelet
cni
containerd
CRI
CNI
eth0
Attach ENI
Allocate IPs
Create
veth
ip 1
ip 2
ip 3
Routing rule
“From IP1, use eth1”
Routing
eth0
ip 1
lbernail
Address space planning
Pod Cidr: /24
● /24 leads to inefficient address usage
● sig-network: remove contiguous range requirement for CIDR allocation
● But also
○ Address space for node IPs (another /20 per cluster for 4096 nodes)
○ Service IP range (/20 would make sense for such a cluster)
● Total: 1 /15 for pods, 2 /20 for nodes and service!
pod cidr 8bitsnode prefix: 12bits10. (8bits) 4bits
Up to 255 pods per node
Simple addressing
Up to 4096 nodes
4 bits available
Up to 16 clusters
lbernail
Take-away
● Native pod routing has worked very well at scale
● A bit more complex to debug
● Much more efficient datapath
● Topic is still dynamic (Cilium introduced ENI recently)
● Great relationship with Lyft / Cilium
● Plan your address space early
Ingresses
lbernail
Ingress: cross-clusters, VM to clusters
A A
A
B B
B
C
C
D
D
Cluster 1
Cluster 2Classic (VM)
C?
C? B?
lbernail
Master
Kubernetes default: LB service
External
Client
Load-Balancer
pod
pod
pod
kube-proxy
kube-proxy
kube-proxy
NP
NP
NP
Healthchecker
data path
health checks
configuration (from watching ingresses on apiservers)
service-controller
lbernail
Master
Inefficient Datapath & cross-application impacts
Web traffic Load-Balancer
web-1
web-2
web-3
kube-proxy
kube-proxy
kube-proxy
NP
NP
NP
Healthchecker
data path
health checks
configuration (from watching ingresses on apiservers)
service-controller
kafka
lbernail
Master
ExternalTrafficPolicy: Local?
Web traffic Load-Balancer
web-1
web-2
web-3
kube-proxy
kube-proxy
kube-proxy
NP
NP
NP
Healthchecker
data path
health checks
configuration (from watching ingresses on apiservers)
service-controller
kafka
lbernail
L7-proxy ingress controller
data path
health checks
configuration
from watching ingresses/endpoints on apiservers (ingress-controller)
from watching LoadBalancer services (service-controller)
External
Client
Load-Balancer
l7proxy
l7proxy
kube-proxy
kube-proxy
kube-proxy
NP
NP
NP
Heathchecker
ingress-controller
pod
pod
pod
pod
Create l7proxy deployments
Update backends using service endpoints
Master
service-controller
lbernail
Limits
All nodes as backends (1000+)
Inefficient datapath
Cross-application impacts
Alternatives?
ExternalTrafficPolicy: Local?
> Number of nodes remains the same
> Issues with some CNI plugins
K8s ingress
> Still load-balancer based
> Need to scale ingress pods
> Still inefficient datapath
Challenges
lbernail
Our target: native routing
External
Client
ALB
pod
pod
pod
Healthchecker
data path
health checks
alb-ingress-controller
configuration (from watching ingresses/endpoints on apiservers)
lbernail
Limited to HTTP ingresses
No support for TCP/UDP
Ingress v2 should address this
Remaining challenges
Registration delay
Slow registration with LB
Pod rolling-updates much faster
Mitigations
- MinReadySeconds
- Pod ReadinessGates
lbernail
Workaround
External
Client
Load-Balancer
l7proxy
l7proxy
Heathchecker
pod
pod
pod
pod
Not managed by k8s Dedicated nodes
Pods in host network
TCP / Registration delay not manageable
> Dedicated gateways
lbernail
Take-away
● Ingress solutions are not great at scale yet
● May require workarounds
● Definitely a very important topic for us
● The community is working on v2 Ingresses
Conclusion
lbernail
A lot of other topics
● Accessing services (kube-proxy)
● DNS (it’s always DNS!)
● Challenges with Stateful applications
● How to DDOS <insert ~anything> with Daemonsets
● Node Lifecycle / Cluster Lifecycle
● Deploying applications
● ...
lbernail
Getting started?
“Deep Dive into Kubernetes Internals for Builders and Operators”
Jérôme Petazzoni, Lisa 2019
https://lisa-2019-10.container.training/talk.yml.html
Minimal cluster, showing interactions between main components
“Kubernetes the Hard Way”
Kelsey Hightower
https://github.com/kelseyhightower/kubernetes-the-hard-way
HA control plane with encryption
lbernail
You like horror stories?
“Kubernetes the very hard way at Datadog”
https://www.youtube.com/watch?v=2dsCwp_j0yQ
“10 ways to shoot yourself in the foot with Kubernetes”
https://www.youtube.com/watch?v=QKI-JRs2RIE
“Kubernetes Failure Stories”
https://k8s.af
lbernail
Key lessons
Self-managed Kubernetes is hard
> If you can, use a managed service
Networking is not easy (especially at scale)
The main challenge is not technical
> Build a team
> Transforming practices and training users is very important
Thank you
We’re hiring!
https://www.datadoghq.com/careers/
laurent@datadoghq.com
@lbernail

More Related Content

What's hot

Packet Walk(s) In Kubernetes
Packet Walk(s) In KubernetesPacket Walk(s) In Kubernetes
Packet Walk(s) In KubernetesDon Jayakody
 
Kubernetes: Beyond Baby Steps
Kubernetes: Beyond Baby StepsKubernetes: Beyond Baby Steps
Kubernetes: Beyond Baby StepsDigitalOcean
 
[오픈소스컨설팅] Linux Network Troubleshooting
[오픈소스컨설팅] Linux Network Troubleshooting[오픈소스컨설팅] Linux Network Troubleshooting
[오픈소스컨설팅] Linux Network TroubleshootingOpen Source Consulting
 
Deeper dive in Docker Overlay Networks
Deeper dive in Docker Overlay NetworksDeeper dive in Docker Overlay Networks
Deeper dive in Docker Overlay NetworksLaurent Bernaille
 
Kubernetes internals (Kubernetes 해부하기)
Kubernetes internals (Kubernetes 해부하기)Kubernetes internals (Kubernetes 해부하기)
Kubernetes internals (Kubernetes 해부하기)DongHyeon Kim
 
Deep dive in Docker Overlay Networks
Deep dive in Docker Overlay NetworksDeep dive in Docker Overlay Networks
Deep dive in Docker Overlay NetworksLaurent Bernaille
 
Networking in Kubernetes
Networking in KubernetesNetworking in Kubernetes
Networking in KubernetesMinhan Xia
 
DCUS17 : Docker networking deep dive
DCUS17 : Docker networking deep diveDCUS17 : Docker networking deep dive
DCUS17 : Docker networking deep diveMadhu Venugopal
 
IP Virtual Server(IPVS) 101
IP Virtual Server(IPVS) 101IP Virtual Server(IPVS) 101
IP Virtual Server(IPVS) 101HungWei Chiu
 
DevOps Guide to Container Networking
DevOps Guide to Container NetworkingDevOps Guide to Container Networking
DevOps Guide to Container NetworkingDirk Wallerstorfer
 
Web scale infrastructures with kubernetes and flannel
Web scale infrastructures with kubernetes and flannelWeb scale infrastructures with kubernetes and flannel
Web scale infrastructures with kubernetes and flannelpurpleocean
 
Kubernetes Networking
Kubernetes NetworkingKubernetes Networking
Kubernetes NetworkingCJ Cullen
 
Docker storage designing a platform for persistent data
Docker storage designing a platform for persistent dataDocker storage designing a platform for persistent data
Docker storage designing a platform for persistent dataDocker, Inc.
 
[OpenInfra Days Korea 2018] Day 2 - E6 - OpenInfra monitoring with Prometheus
[OpenInfra Days Korea 2018] Day 2 - E6 - OpenInfra monitoring with Prometheus[OpenInfra Days Korea 2018] Day 2 - E6 - OpenInfra monitoring with Prometheus
[OpenInfra Days Korea 2018] Day 2 - E6 - OpenInfra monitoring with PrometheusOpenStack Korea Community
 
AWS re:Invent 2016: Amazon ECR Deep Dive on Image Optimization (CON401)
AWS re:Invent 2016: Amazon ECR Deep Dive on Image Optimization (CON401)AWS re:Invent 2016: Amazon ECR Deep Dive on Image Optimization (CON401)
AWS re:Invent 2016: Amazon ECR Deep Dive on Image Optimization (CON401)Amazon Web Services
 
Load Balancing 101
Load Balancing 101Load Balancing 101
Load Balancing 101HungWei Chiu
 
KubeCon EU 2016: Creating an Advanced Load Balancing Solution for Kubernetes ...
KubeCon EU 2016: Creating an Advanced Load Balancing Solution for Kubernetes ...KubeCon EU 2016: Creating an Advanced Load Balancing Solution for Kubernetes ...
KubeCon EU 2016: Creating an Advanced Load Balancing Solution for Kubernetes ...KubeAcademy
 
Kernel load-balancing for Docker containers using IPVS
Kernel load-balancing for Docker containers using IPVSKernel load-balancing for Docker containers using IPVS
Kernel load-balancing for Docker containers using IPVSDocker, Inc.
 
Clocker - The Docker Cloud Maker
Clocker - The Docker Cloud MakerClocker - The Docker Cloud Maker
Clocker - The Docker Cloud MakerAndrew Kennedy
 

What's hot (20)

Packet Walk(s) In Kubernetes
Packet Walk(s) In KubernetesPacket Walk(s) In Kubernetes
Packet Walk(s) In Kubernetes
 
Kubernetes: Beyond Baby Steps
Kubernetes: Beyond Baby StepsKubernetes: Beyond Baby Steps
Kubernetes: Beyond Baby Steps
 
[오픈소스컨설팅] Linux Network Troubleshooting
[오픈소스컨설팅] Linux Network Troubleshooting[오픈소스컨설팅] Linux Network Troubleshooting
[오픈소스컨설팅] Linux Network Troubleshooting
 
Deeper dive in Docker Overlay Networks
Deeper dive in Docker Overlay NetworksDeeper dive in Docker Overlay Networks
Deeper dive in Docker Overlay Networks
 
Kubernetes internals (Kubernetes 해부하기)
Kubernetes internals (Kubernetes 해부하기)Kubernetes internals (Kubernetes 해부하기)
Kubernetes internals (Kubernetes 해부하기)
 
Kubernetes Networking
Kubernetes NetworkingKubernetes Networking
Kubernetes Networking
 
Deep dive in Docker Overlay Networks
Deep dive in Docker Overlay NetworksDeep dive in Docker Overlay Networks
Deep dive in Docker Overlay Networks
 
Networking in Kubernetes
Networking in KubernetesNetworking in Kubernetes
Networking in Kubernetes
 
DCUS17 : Docker networking deep dive
DCUS17 : Docker networking deep diveDCUS17 : Docker networking deep dive
DCUS17 : Docker networking deep dive
 
IP Virtual Server(IPVS) 101
IP Virtual Server(IPVS) 101IP Virtual Server(IPVS) 101
IP Virtual Server(IPVS) 101
 
DevOps Guide to Container Networking
DevOps Guide to Container NetworkingDevOps Guide to Container Networking
DevOps Guide to Container Networking
 
Web scale infrastructures with kubernetes and flannel
Web scale infrastructures with kubernetes and flannelWeb scale infrastructures with kubernetes and flannel
Web scale infrastructures with kubernetes and flannel
 
Kubernetes Networking
Kubernetes NetworkingKubernetes Networking
Kubernetes Networking
 
Docker storage designing a platform for persistent data
Docker storage designing a platform for persistent dataDocker storage designing a platform for persistent data
Docker storage designing a platform for persistent data
 
[OpenInfra Days Korea 2018] Day 2 - E6 - OpenInfra monitoring with Prometheus
[OpenInfra Days Korea 2018] Day 2 - E6 - OpenInfra monitoring with Prometheus[OpenInfra Days Korea 2018] Day 2 - E6 - OpenInfra monitoring with Prometheus
[OpenInfra Days Korea 2018] Day 2 - E6 - OpenInfra monitoring with Prometheus
 
AWS re:Invent 2016: Amazon ECR Deep Dive on Image Optimization (CON401)
AWS re:Invent 2016: Amazon ECR Deep Dive on Image Optimization (CON401)AWS re:Invent 2016: Amazon ECR Deep Dive on Image Optimization (CON401)
AWS re:Invent 2016: Amazon ECR Deep Dive on Image Optimization (CON401)
 
Load Balancing 101
Load Balancing 101Load Balancing 101
Load Balancing 101
 
KubeCon EU 2016: Creating an Advanced Load Balancing Solution for Kubernetes ...
KubeCon EU 2016: Creating an Advanced Load Balancing Solution for Kubernetes ...KubeCon EU 2016: Creating an Advanced Load Balancing Solution for Kubernetes ...
KubeCon EU 2016: Creating an Advanced Load Balancing Solution for Kubernetes ...
 
Kernel load-balancing for Docker containers using IPVS
Kernel load-balancing for Docker containers using IPVSKernel load-balancing for Docker containers using IPVS
Kernel load-balancing for Docker containers using IPVS
 
Clocker - The Docker Cloud Maker
Clocker - The Docker Cloud MakerClocker - The Docker Cloud Maker
Clocker - The Docker Cloud Maker
 

Similar to Kubernetes the Very Hard Way. Velocity Berlin 2019

All the troubles you get into when setting up a production ready Kubernetes c...
All the troubles you get into when setting up a production ready Kubernetes c...All the troubles you get into when setting up a production ready Kubernetes c...
All the troubles you get into when setting up a production ready Kubernetes c...Jimmy Lu
 
AgileTW Feat. DevOpsTW: 維運 Kubernetes 的兩三事
AgileTW Feat. DevOpsTW: 維運 Kubernetes 的兩三事AgileTW Feat. DevOpsTW: 維運 Kubernetes 的兩三事
AgileTW Feat. DevOpsTW: 維運 Kubernetes 的兩三事smalltown
 
Kubernetes Architecture | Understanding Kubernetes Components | Kubernetes Tu...
Kubernetes Architecture | Understanding Kubernetes Components | Kubernetes Tu...Kubernetes Architecture | Understanding Kubernetes Components | Kubernetes Tu...
Kubernetes Architecture | Understanding Kubernetes Components | Kubernetes Tu...Edureka!
 
Kubernetes - Sailing a Sea of Containers
Kubernetes - Sailing a Sea of ContainersKubernetes - Sailing a Sea of Containers
Kubernetes - Sailing a Sea of ContainersKel Cecil
 
Running Kubernetes in Production: A Million Ways to Crash Your Cluster - DevO...
Running Kubernetes in Production: A Million Ways to Crash Your Cluster - DevO...Running Kubernetes in Production: A Million Ways to Crash Your Cluster - DevO...
Running Kubernetes in Production: A Million Ways to Crash Your Cluster - DevO...Henning Jacobs
 
Run the elastic stack on kubernetes with eck
Run the elastic stack on kubernetes with eck   Run the elastic stack on kubernetes with eck
Run the elastic stack on kubernetes with eck Daliya Spasova
 
Lessons learned and challenges faced while running Kubernetes at Scale
Lessons learned and challenges faced while running Kubernetes at ScaleLessons learned and challenges faced while running Kubernetes at Scale
Lessons learned and challenges faced while running Kubernetes at ScaleSidhartha Mani
 
kubeadm Cluster Creation Internals_ From Self-Hosting to Upgradability and HA...
kubeadm Cluster Creation Internals_ From Self-Hosting to Upgradability and HA...kubeadm Cluster Creation Internals_ From Self-Hosting to Upgradability and HA...
kubeadm Cluster Creation Internals_ From Self-Hosting to Upgradability and HA...ssuser92b4be
 
DevOpsDaysRiga 2018: Andrew Martin - Continuous Kubernetes Security
DevOpsDaysRiga 2018: Andrew Martin - Continuous Kubernetes Security DevOpsDaysRiga 2018: Andrew Martin - Continuous Kubernetes Security
DevOpsDaysRiga 2018: Andrew Martin - Continuous Kubernetes Security DevOpsDays Riga
 
Production Ready Kafka on Kubernetes (Devandra Tagare, Lyft) Kafka Summit SF ...
Production Ready Kafka on Kubernetes (Devandra Tagare, Lyft) Kafka Summit SF ...Production Ready Kafka on Kubernetes (Devandra Tagare, Lyft) Kafka Summit SF ...
Production Ready Kafka on Kubernetes (Devandra Tagare, Lyft) Kafka Summit SF ...confluent
 
OSS Japan 2019 service mesh bridging Kubernetes and legacy
OSS Japan 2019 service mesh bridging Kubernetes and legacyOSS Japan 2019 service mesh bridging Kubernetes and legacy
OSS Japan 2019 service mesh bridging Kubernetes and legacySteve Wong
 
Communication Amongst Microservices: Kubernetes, Istio, and Spring Cloud with...
Communication Amongst Microservices: Kubernetes, Istio, and Spring Cloud with...Communication Amongst Microservices: Kubernetes, Istio, and Spring Cloud with...
Communication Amongst Microservices: Kubernetes, Istio, and Spring Cloud with...VMware Tanzu
 
Introduction kubernetes 2017_12_24
Introduction kubernetes 2017_12_24Introduction kubernetes 2017_12_24
Introduction kubernetes 2017_12_24Sam Zheng
 
Container orchestration and microservices world
Container orchestration and microservices worldContainer orchestration and microservices world
Container orchestration and microservices worldKarol Chrapek
 
K8s in 3h - Kubernetes Fundamentals Training
K8s in 3h - Kubernetes Fundamentals TrainingK8s in 3h - Kubernetes Fundamentals Training
K8s in 3h - Kubernetes Fundamentals TrainingPiotr Perzyna
 
kubernetesssssssssssssssssssssssssss.pdf
kubernetesssssssssssssssssssssssssss.pdfkubernetesssssssssssssssssssssssssss.pdf
kubernetesssssssssssssssssssssssssss.pdfbchiriamina2
 
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...Tobias Schneck
 

Similar to Kubernetes the Very Hard Way. Velocity Berlin 2019 (20)

All the troubles you get into when setting up a production ready Kubernetes c...
All the troubles you get into when setting up a production ready Kubernetes c...All the troubles you get into when setting up a production ready Kubernetes c...
All the troubles you get into when setting up a production ready Kubernetes c...
 
AgileTW Feat. DevOpsTW: 維運 Kubernetes 的兩三事
AgileTW Feat. DevOpsTW: 維運 Kubernetes 的兩三事AgileTW Feat. DevOpsTW: 維運 Kubernetes 的兩三事
AgileTW Feat. DevOpsTW: 維運 Kubernetes 的兩三事
 
Kubernetes Architecture | Understanding Kubernetes Components | Kubernetes Tu...
Kubernetes Architecture | Understanding Kubernetes Components | Kubernetes Tu...Kubernetes Architecture | Understanding Kubernetes Components | Kubernetes Tu...
Kubernetes Architecture | Understanding Kubernetes Components | Kubernetes Tu...
 
Kubernetes - Sailing a Sea of Containers
Kubernetes - Sailing a Sea of ContainersKubernetes - Sailing a Sea of Containers
Kubernetes - Sailing a Sea of Containers
 
Running Kubernetes in Production: A Million Ways to Crash Your Cluster - DevO...
Running Kubernetes in Production: A Million Ways to Crash Your Cluster - DevO...Running Kubernetes in Production: A Million Ways to Crash Your Cluster - DevO...
Running Kubernetes in Production: A Million Ways to Crash Your Cluster - DevO...
 
Run the elastic stack on kubernetes with eck
Run the elastic stack on kubernetes with eck   Run the elastic stack on kubernetes with eck
Run the elastic stack on kubernetes with eck
 
Lessons learned and challenges faced while running Kubernetes at Scale
Lessons learned and challenges faced while running Kubernetes at ScaleLessons learned and challenges faced while running Kubernetes at Scale
Lessons learned and challenges faced while running Kubernetes at Scale
 
kubeadm Cluster Creation Internals_ From Self-Hosting to Upgradability and HA...
kubeadm Cluster Creation Internals_ From Self-Hosting to Upgradability and HA...kubeadm Cluster Creation Internals_ From Self-Hosting to Upgradability and HA...
kubeadm Cluster Creation Internals_ From Self-Hosting to Upgradability and HA...
 
AKS
AKSAKS
AKS
 
Kubernetes security with AWS
Kubernetes security with AWSKubernetes security with AWS
Kubernetes security with AWS
 
DevOpsDaysRiga 2018: Andrew Martin - Continuous Kubernetes Security
DevOpsDaysRiga 2018: Andrew Martin - Continuous Kubernetes Security DevOpsDaysRiga 2018: Andrew Martin - Continuous Kubernetes Security
DevOpsDaysRiga 2018: Andrew Martin - Continuous Kubernetes Security
 
Kubernetes 101
Kubernetes 101Kubernetes 101
Kubernetes 101
 
Production Ready Kafka on Kubernetes (Devandra Tagare, Lyft) Kafka Summit SF ...
Production Ready Kafka on Kubernetes (Devandra Tagare, Lyft) Kafka Summit SF ...Production Ready Kafka on Kubernetes (Devandra Tagare, Lyft) Kafka Summit SF ...
Production Ready Kafka on Kubernetes (Devandra Tagare, Lyft) Kafka Summit SF ...
 
OSS Japan 2019 service mesh bridging Kubernetes and legacy
OSS Japan 2019 service mesh bridging Kubernetes and legacyOSS Japan 2019 service mesh bridging Kubernetes and legacy
OSS Japan 2019 service mesh bridging Kubernetes and legacy
 
Communication Amongst Microservices: Kubernetes, Istio, and Spring Cloud with...
Communication Amongst Microservices: Kubernetes, Istio, and Spring Cloud with...Communication Amongst Microservices: Kubernetes, Istio, and Spring Cloud with...
Communication Amongst Microservices: Kubernetes, Istio, and Spring Cloud with...
 
Introduction kubernetes 2017_12_24
Introduction kubernetes 2017_12_24Introduction kubernetes 2017_12_24
Introduction kubernetes 2017_12_24
 
Container orchestration and microservices world
Container orchestration and microservices worldContainer orchestration and microservices world
Container orchestration and microservices world
 
K8s in 3h - Kubernetes Fundamentals Training
K8s in 3h - Kubernetes Fundamentals TrainingK8s in 3h - Kubernetes Fundamentals Training
K8s in 3h - Kubernetes Fundamentals Training
 
kubernetesssssssssssssssssssssssssss.pdf
kubernetesssssssssssssssssssssssssss.pdfkubernetesssssssssssssssssssssssssss.pdf
kubernetesssssssssssssssssssssssssss.pdf
 
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...
 

More from Laurent Bernaille

Kubernetes DNS Horror Stories
Kubernetes DNS Horror StoriesKubernetes DNS Horror Stories
Kubernetes DNS Horror StoriesLaurent Bernaille
 
10 ways to shoot yourself in the foot with kubernetes, #9 will surprise you!
10 ways to shoot yourself in the foot with kubernetes, #9 will surprise you!10 ways to shoot yourself in the foot with kubernetes, #9 will surprise you!
10 ways to shoot yourself in the foot with kubernetes, #9 will surprise you!Laurent Bernaille
 
Operational challenges behind Serverless architectures
Operational challenges behind Serverless architecturesOperational challenges behind Serverless architectures
Operational challenges behind Serverless architecturesLaurent Bernaille
 
Feedback on AWS re:invent 2016
Feedback on AWS re:invent 2016Feedback on AWS re:invent 2016
Feedback on AWS re:invent 2016Laurent Bernaille
 
Early recognition of encryted applications
Early recognition of encryted applicationsEarly recognition of encryted applications
Early recognition of encryted applicationsLaurent Bernaille
 
Early application identification. CONEXT 2006
Early application identification. CONEXT 2006Early application identification. CONEXT 2006
Early application identification. CONEXT 2006Laurent Bernaille
 

More from Laurent Bernaille (7)

Kubernetes DNS Horror Stories
Kubernetes DNS Horror StoriesKubernetes DNS Horror Stories
Kubernetes DNS Horror Stories
 
10 ways to shoot yourself in the foot with kubernetes, #9 will surprise you!
10 ways to shoot yourself in the foot with kubernetes, #9 will surprise you!10 ways to shoot yourself in the foot with kubernetes, #9 will surprise you!
10 ways to shoot yourself in the foot with kubernetes, #9 will surprise you!
 
Discovering OpenBSD on AWS
Discovering OpenBSD on AWSDiscovering OpenBSD on AWS
Discovering OpenBSD on AWS
 
Operational challenges behind Serverless architectures
Operational challenges behind Serverless architecturesOperational challenges behind Serverless architectures
Operational challenges behind Serverless architectures
 
Feedback on AWS re:invent 2016
Feedback on AWS re:invent 2016Feedback on AWS re:invent 2016
Feedback on AWS re:invent 2016
 
Early recognition of encryted applications
Early recognition of encryted applicationsEarly recognition of encryted applications
Early recognition of encryted applications
 
Early application identification. CONEXT 2006
Early application identification. CONEXT 2006Early application identification. CONEXT 2006
Early application identification. CONEXT 2006
 

Recently uploaded

WSO2 Micro Integrator for Enterprise Integration in a Decentralized, Microser...
WSO2 Micro Integrator for Enterprise Integration in a Decentralized, Microser...WSO2 Micro Integrator for Enterprise Integration in a Decentralized, Microser...
WSO2 Micro Integrator for Enterprise Integration in a Decentralized, Microser...WSO2
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Bhuvaneswari Subramani
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAndrey Devyatkin
 
JohnPollard-hybrid-app-RailsConf2024.pptx
JohnPollard-hybrid-app-RailsConf2024.pptxJohnPollard-hybrid-app-RailsConf2024.pptx
JohnPollard-hybrid-app-RailsConf2024.pptxJohnPollard37
 
TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...
TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...
TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...TrustArc
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistandanishmna97
 
ChatGPT and Beyond - Elevating DevOps Productivity
ChatGPT and Beyond - Elevating DevOps ProductivityChatGPT and Beyond - Elevating DevOps Productivity
ChatGPT and Beyond - Elevating DevOps ProductivityVictorSzoltysek
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodJuan lago vázquez
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdfSandro Moreira
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Jeffrey Haguewood
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfOrbitshub
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 
API Governance and Monetization - The evolution of API governance
API Governance and Monetization -  The evolution of API governanceAPI Governance and Monetization -  The evolution of API governance
API Governance and Monetization - The evolution of API governanceWSO2
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingEdi Saputra
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Orbitshub
 
How to Check CNIC Information Online with Pakdata cf
How to Check CNIC Information Online with Pakdata cfHow to Check CNIC Information Online with Pakdata cf
How to Check CNIC Information Online with Pakdata cfdanishmna97
 
Quantum Leap in Next-Generation Computing
Quantum Leap in Next-Generation ComputingQuantum Leap in Next-Generation Computing
Quantum Leap in Next-Generation ComputingWSO2
 
The Zero-ETL Approach: Enhancing Data Agility and Insight
The Zero-ETL Approach: Enhancing Data Agility and InsightThe Zero-ETL Approach: Enhancing Data Agility and Insight
The Zero-ETL Approach: Enhancing Data Agility and InsightSafe Software
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDropbox
 

Recently uploaded (20)

WSO2 Micro Integrator for Enterprise Integration in a Decentralized, Microser...
WSO2 Micro Integrator for Enterprise Integration in a Decentralized, Microser...WSO2 Micro Integrator for Enterprise Integration in a Decentralized, Microser...
WSO2 Micro Integrator for Enterprise Integration in a Decentralized, Microser...
 
Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
JohnPollard-hybrid-app-RailsConf2024.pptx
JohnPollard-hybrid-app-RailsConf2024.pptxJohnPollard-hybrid-app-RailsConf2024.pptx
JohnPollard-hybrid-app-RailsConf2024.pptx
 
TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...
TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...
TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
ChatGPT and Beyond - Elevating DevOps Productivity
ChatGPT and Beyond - Elevating DevOps ProductivityChatGPT and Beyond - Elevating DevOps Productivity
ChatGPT and Beyond - Elevating DevOps Productivity
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
API Governance and Monetization - The evolution of API governance
API Governance and Monetization -  The evolution of API governanceAPI Governance and Monetization -  The evolution of API governance
API Governance and Monetization - The evolution of API governance
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 
How to Check CNIC Information Online with Pakdata cf
How to Check CNIC Information Online with Pakdata cfHow to Check CNIC Information Online with Pakdata cf
How to Check CNIC Information Online with Pakdata cf
 
Quantum Leap in Next-Generation Computing
Quantum Leap in Next-Generation ComputingQuantum Leap in Next-Generation Computing
Quantum Leap in Next-Generation Computing
 
The Zero-ETL Approach: Enhancing Data Agility and Insight
The Zero-ETL Approach: Enhancing Data Agility and InsightThe Zero-ETL Approach: Enhancing Data Agility and Insight
The Zero-ETL Approach: Enhancing Data Agility and Insight
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 

Kubernetes the Very Hard Way. Velocity Berlin 2019