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
100
0
Share
Kubernetes scalability: VPA, Federation & Cluster API
Kubernetes scalability: VPA, Federation & Cluster API for Cloud Native Prague meetup
Katie Gamanji
September 04, 2019
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
58
ClusterAPI: A Guide to Get Started
k_gamanji
0
33
Kubernetes scalability: Federation & Cluster API
k_gamanji
0
160
Pixel - Fintech Hackathon
k_gamanji
0
27
Other Decks in Technology
See All in Technology
目的ファーストのハーネス設計 ~ハーネスの変更容易性を高めるための優先順位~
gotalab555
8
2.5k
AWS Transform CustomでIaCコードを自由自在に変換しよう
duelist2020jp
0
160
Choose your own adventure in agentic design patterns
glaforge
0
160
データを"持てない"環境でのアノテーション基盤設計
sansantech
PRO
1
150
弁護士ドットコム株式会社 エンジニア職向け 会社紹介資料
bengo4com
1
190
PicoRuby as a Multi-VM Operating System
kishima
1
220
スクラムの中で AI-DLC workflow を 使い始めて3ヶ月の振り返り
kaminashi
0
140
これからの「データマネジメント」の話をしよう
sansantech
PRO
0
150
Percolatorを廃止し、マルチ検索サービスへ刷新した話 / Search Engineering Tech Talk 2026 Spring
visional_engineering_and_design
0
170
AgentCore Managed Harness を使ってみよう
yakumo
2
240
Arcana: Production-Ready RAG in Elixir @ ElixirConf EU 2026
georgeguimaraes
0
120
260422_Sansan_Tech_Talk__関西_vol.3_データ活用のリアル__矢田__.pdf
sansantech
PRO
0
120
Featured
See All Featured
Leveraging LLMs for student feedback in introductory data science courses - posit::conf(2025)
minecr
1
240
Chasing Engaging Ingredients in Design
codingconduct
0
170
Automating Front-end Workflow
addyosmani
1370
200k
Lessons Learnt from Crawling 1000+ Websites
charlesmeaden
PRO
1
1.2k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
133
19k
GraphQLとの向き合い方2022年版
quramy
50
15k
The Power of CSS Pseudo Elements
geoffreycrofte
82
6.2k
We Are The Robots
honzajavorek
0
220
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
Marketing Yourself as an Engineer | Alaka | Gurzu
gurzu
0
180
The untapped power of vector embeddings
frankvandijk
2
1.7k
The Language of Interfaces
destraynor
162
26k
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