Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Kubernetes scalability: VPA, Federation & Clust...
Search
Katie Gamanji
September 04, 2019
Technology
0
100
Kubernetes scalability: VPA, Federation & Cluster API
Kubernetes scalability: VPA, Federation & Cluster API for Cloud Native Prague meetup
Katie Gamanji
September 04, 2019
Tweet
Share
More Decks by Katie Gamanji
See All by Katie Gamanji
Level Unlocked: GitOps to the Edge and Infrastructure Provisioning
k_gamanji
1
110
Kubernetes Scalability: Federation and ClusterAPI
k_gamanji
0
56
ClusterAPI: A Guide to Get Started
k_gamanji
0
31
Kubernetes scalability: Federation & Cluster API
k_gamanji
0
160
Pixel - Fintech Hackathon
k_gamanji
0
26
Other Decks in Technology
See All in Technology
ソフトウェアエンジニアとAIエンジニアの役割分担についてのある事例
kworkdev
PRO
1
350
Autonomous Database - Dedicated 技術詳細 / adb-d_technical_detail_jp
oracle4engineer
PRO
5
12k
Master Dataグループ紹介資料
sansan33
PRO
1
4.2k
2025年 山梨の技術コミュニティを振り返る
yuukis
0
140
アラフォーおじさん、はじめてre:Inventに行く / A 40-Something Guy’s First re:Invent Adventure
kaminashi
0
210
「駆動」って言葉、なんかカッコイイ_Mitz
comucal
PRO
0
130
M&Aで拡大し続けるGENDAのデータ活用を促すためのDatabricks権限管理 / AEON TECH HUB #22
genda
0
310
AIと融ける人間の冒険
pujisi
0
110
松尾研LLM講座2025 応用編Day3「軽量化」 講義資料
aratako
15
4.8k
Claude Skillsの テスト業務での活用事例
moritamasami
1
130
コールドスタンバイ構成でCDは可能か
hiramax
0
130
Cloud WAN MCP Serverから考える新しいネットワーク運用 / 20251228 Masaki Okuda
shift_evolve
PRO
0
130
Featured
See All Featured
How to optimise 3,500 product descriptions for ecommerce in one day using ChatGPT
katarinadahlin
PRO
0
3.4k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
132
19k
A designer walks into a library…
pauljervisheath
210
24k
Darren the Foodie - Storyboard
khoart
PRO
0
2k
What's in a price? How to price your products and services
michaelherold
246
13k
We Analyzed 250 Million AI Search Results: Here's What I Found
joshbly
0
380
Hiding What from Whom? A Critical Review of the History of Programming languages for Music
tomoyanonymous
1
330
AI Search: Where Are We & What Can We Do About It?
aleyda
0
6.8k
Why Our Code Smells
bkeepers
PRO
340
58k
Exploring the relationship between traditional SERPs and Gen AI search
raygrieselhuber
PRO
2
3.5k
First, design no harm
axbom
PRO
1
1.1k
Statistics for Hackers
jakevdp
799
230k
Transcript
None
Katie Gamanji Cloud Platform Engineer Condé Nast International @k_gamanji katie-gamanji
Kubernetes scalability: VPA, Federation & Cluster API @k_gamanji katie-gamanji
Condé Nast International has set the benchmark for print and
digital publishing with a heritage of more than 110 years.
None
Markets 11 Websites 62 Unique users 200m Digital readership 1.1bn
July 2019
None
None
Vertical Pod Autoscaler Federation v2 Cluster API
Vertical Pod Autoscaler Federation v2 Cluster API
Vertical Pod Autoscaler Federation v2 Cluster API
Vertical Pod Autoscaler Federation v2 Cluster API
Vertical Pod Autoscaler
apiVersion: apps/v1beta1 kind: Deployment metadata: name: nginx labels: app: nginx
spec: template: [...] spec: containers: - resources: requests: memory: "16Mi" cpu: "25m" limits: memory: "16Mi" cpu: "50m"
apiVersion: apps/v1beta1 kind: Deployment metadata: name: nginx labels: app: nginx
spec: template: [...] spec: containers: - resources: requests: memory: "16Mi" cpu: "25m" limits: memory: "16Mi" cpu: "50m"
VPA Reduce the maintenance cost, by automating configuration of resource
requirements. Improving utilization of cluster resources, while minimizing the risk of containers running out of memory or getting CPU starved.
VPA • Vertical Pod Autoscaler ◦ CRD v0.5.0 (v1beta2) ◦
requires v1.11 • 3 components: ◦ admission controller ◦ recommender ◦ updater
None
apiVersion: autoscaling.k8s.io/v1beta2 kind: VerticalPodAutoscaler metadata: name: nginx-vpa spec: targetRef: apiVersion:
"apps/v1" kind: Deployment name: nginx updatePolicy: updateMode: "Auto"
VPA VPA update policy: • Auto - assign/update resource requests
by updating existing pods (restart-free) • Recreate - assign/update resource requests by evicting pods (restart required) • Initial - assign resource requests on creation only • Off - no automatic change, however resources are calculated
VPA Demo https://asciinema.org/a/wyRWC7Gy6nZW7D4J xd4AROfQS
Pod disruption budget HPA & VPA Limit/request ratio Takeaways
Federation v2
Federation v2 Mechanism for managing applications and services in multiple
Kubernetes clusters tracked by the Kubernetes cluster registry.
Federation v2 SIG multicluster: • Federation ◦ v1 - deprecated
◦ v2 (alpha) - requires v1.13 • Cluster registry ◦ maintain list of clusters and associated metadata
1 / 4
Host cluster Member clusters 2 / 4
Host cluster Member clusters Cluster registry Federation APIs 3 /
4
Host cluster Member clusters Control plane 4 / 4 Applications
& services
Federation v2 Cluster placement • targeted clusters by the federation
Configuration overrides • patches to federated resources
Federation v2 Cluster Placement • clusters spec: placement: clusters: -
name: cluster2 - name: cluster1 • clusterSelector spec: clusterSelector: matchLabels: region: eu-central-1
Federation v2 Configuration overrides • Replace (default), add or remove
spec: overrides: - clusterName: cluster1 clusterOverrides: - path: "/spec/replicas" value: 5
apiVersion: types.kubefed.io/v1beta1 kind: FederatedDeployment metadata: name: nginx-deployment spec: template: spec:
replicas: 3 [...] placement: clusters: - cluster2 - cluster1 overrides: - clusterName: cluster2 clusterOverrides: - path: "/spec/replicas" value: 7
Federation v2 DEMO https://asciinema.org/a/caUpnqVCUz2PP1Fui wPiDQfkj
Resource management Namespace scoped control plane Conditional scalability Takeaways Higher
level behaviour
Cluster API
Unique users Unique users Total digital readership 9m 62m 360m
Russia China
Cluster API Provision of declarative APIs for cluster creation, configuration,
and management.
Cluster API SIG-cluster-lifecycle: • Initial release: April 2019 • API:
v1alpha2
1 / 3
Bootstrap cluster Clusters 2 / 3 • CRDs • controllers
• actuators
Bootstrap cluster Clusters 3 / 3 • CRDs • controllers
• actuators
Bootstrap cluster Clusters 3 / 3 pivot • CRDs •
controllers • actuators
Cluster API • Cluster - CIDRs for pods and services
+ DNS suffix • Machine - kubelet and control plane verisons • MachineSet • MachineDeployment • MachineClass - consolidate provider specific details
Cluster API Controllers vs actuators: Controllers: - e.g. MachineSet -
watch resources for changes - invoke actuators Actuators: - e.g. Cluster, Machine - provider-specific logic to match the declared state
Cluster API DEMO
Building blocks Cloud agnostic Experimental Takeaways
Vertical Pod Autoscaler Federation v2 Cluster API
References VPA • https://github.com/kubernetes/autoscaler/ tree/master/vertical-pod-autoscaler Federation v2 • https://github.com/kubernetes-sigs/federati on-v2
ClusterAPI • https://github.com/kubernetes-sigs/cluster- api-provider-aws
https://www.condenastinternational.com/careers @k_gamanji katie-gamanji
None