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
55
ClusterAPI: A Guide to Get Started
k_gamanji
0
30
Kubernetes scalability: Federation & Cluster API
k_gamanji
0
150
Pixel - Fintech Hackathon
k_gamanji
0
25
Other Decks in Technology
See All in Technology
AWS 잘하는 개발자 되기 - AWS 시작하기: 클라우드 개념부터 IAM까지
kimjaewook
0
130
AI駆動開発を推進するためにサービス開発チームで 取り組んでいること
noayaoshiro
0
260
そのWAFのブロック、どう活かす? サービスを守るための実践的多層防御と思考法 / WAF blocks defense decision
kaminashi
0
180
Geospatialの世界最前線を探る [2025年版]
dayjournal
1
220
Git in Team
kawaguti
PRO
3
350
ACA でMAGI システムを社内で展開しようとした話
mappie_kochi
1
310
Adminaで実現するISMS/SOC2運用の効率化 〜 アカウント管理編 〜
shonansurvivors
4
440
ComposeではないコードをCompose化する case ビズリーチ / DroidKaigi 2025 koyasai
visional_engineering_and_design
0
110
業務効率化をさらに加速させる、ノーコードツールとStep Functionsのハイブリッド化
smt7174
2
130
ユーザーの声とAI検証で進める、プロダクトディスカバリー
sansantech
PRO
1
130
【Kaigi on Rails 事後勉強会LT】MeはどうしてGirlsに? 私とRubyを繋いだRail(s)
joyfrommasara
0
230
社内報はAIにやらせよう / Let AI handle the company newsletter
saka2jp
8
1.4k
Featured
See All Featured
Practical Orchestrator
shlominoach
190
11k
Become a Pro
speakerdeck
PRO
29
5.5k
Visualization
eitanlees
149
16k
The Power of CSS Pseudo Elements
geoffreycrofte
79
6k
The Art of Programming - Codeland 2020
erikaheidi
56
14k
Testing 201, or: Great Expectations
jmmastey
45
7.7k
Building Adaptive Systems
keathley
43
2.8k
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
9
870
Learning to Love Humans: Emotional Interface Design
aarron
274
41k
Navigating Team Friction
lara
190
15k
Balancing Empowerment & Direction
lara
4
690
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