Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Kubernetes scalability: VPA, Federation & Clust...
Search
Katie Gamanji
September 04, 2019
Technology
110
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
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
120
Kubernetes Scalability: Federation and ClusterAPI
k_gamanji
0
63
ClusterAPI: A Guide to Get Started
k_gamanji
0
39
Kubernetes scalability: Federation & Cluster API
k_gamanji
0
170
Pixel - Fintech Hackathon
k_gamanji
0
29
Other Decks in Technology
See All in Technology
10分で知る最近のOmarchy
komagata
0
230
WAF 運用改善の承認サイクル/SRE_BizReach_MIXI_1
visional_engineering_and_design
2
410
Podは生きているのにGoだけが落ちる:GOGCとGOMEMLIMITで追うInvisible OOM Killの謎
tkc66buzz
1
490
Where Is JetBrains AI Heading- — Central CLI, Air Alpha, and the Agentic Development Stack
x5gtrn
PRO
0
150
なぜSRE・セキュリティは評価されないのか?守りの組織を事業成長エンジンに変えた実践
cscengineer
PRO
3
2.4k
OpenTelemetryのメトリクスをCloudWatchに送ってPromQLで見てみた
ota1022
0
120
AI時代だからこそ、スケールしないことをやろう
yutashigemura
1
130
GoにおけるFFIのこれまでとこれから
goccy
4
2.1k
アリアドネの糸と、20年ごとの建て替え ── 長尾真『電子図書館』を、伊勢で読み直す / Rereading Makoto Nagao’s "Electronic Library" in Ise
ykiyota
0
140
Adaptive Warehouse を今すぐ導入すべき理由と迷ったときの判断基準
__allllllllez__
0
150
「図書館」という名前のままでいいのか -Code4Lib JAPANカンファレンス2026 アンカンファレンス報告- / Code4Lib JAPAN Conference 2026: Unconference Report
ykiyota
0
150
HRC_Frontend_Conference_Fukuoka_2026.pdf
ts020
0
280
Featured
See All Featured
We Have a Design System, Now What?
morganepeng
55
8.3k
Navigating Weather and Climate Data
rabernat
0
510
AI: The stuff that nobody shows you
jnunemaker
PRO
9
980
Faster Mobile Websites
deanohume
310
32k
Building an army of robots
kneath
306
46k
Un-Boring Meetings
codingconduct
0
410
Paper Plane
katiecoart
PRO
2
53k
Into the Great Unknown - MozCon
thekraken
41
2.7k
What Being in a Rock Band Can Teach Us About Real World SEO
427marketing
0
1.1k
Bridging the Design Gap: How Collaborative Modelling removes blockers to flow between stakeholders and teams @FastFlow conf
baasie
0
690
Crafting Experiences
bethany
1
310
Fireside Chat
paigeccino
42
4k
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