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
Understanding API Internals
Search
Nabarun Pal
June 26, 2021
Technology
0
110
Understanding API Internals
Nabarun Pal
June 26, 2021
Tweet
Share
More Decks by Nabarun Pal
See All by Nabarun Pal
Keeping Social Engineering Attacks Away from OSS Communities
palnabarun
0
72
Kubernetes - The Universal Control Plane
palnabarun
0
140
Learnings from Sustainably Steering the Kubernetes Project
palnabarun
0
110
The Eight Fallacies of Distributed Cloud Native Communities
palnabarun
0
120
State of Kubernetes and CNCF: A path to a sustainable and secure future
palnabarun
0
76
Wildfires, Firefighters and Sustainability Learnings from Mitigating Kubernetes Fires in the Community
palnabarun
0
87
What does the Kubernetes Steering Committee Steer?
palnabarun
0
150
State of Kubernetes in 2022
palnabarun
0
110
Leadership Learnings from Kubernetes Releases
palnabarun
0
82
Other Decks in Technology
See All in Technology
善意の活動は、なぜ続かなくなるのか ーふりかえりが"構造を変える判断"になった半年間ー
matsukurou
0
470
次世代AIコーディング:OpenAI Codex の最新動向 進行スライド/nikkei-tech-talk-40
nikkei_engineer_recruiting
0
140
歴史から学ぶ、Goのメモリ管理基礎
logica0419
14
2.7k
[PR] はじめてのデジタルアイデンティティという本を書きました
ritou
1
800
手軽に作れる電卓を作って イベントソーシングに親しもう CQRS+ESカンファレンス2026
akinoriakatsuka
0
220
困ったCSVファイルの話
mottyzzz
0
210
AI駆動開発ライフサイクル(AI-DLC)の始め方
ryansbcho79
0
330
サラリーマンソフトウェアエンジニアのキャリア
yuheinakasaka
38
18k
AIエージェントを5分で一気におさらい!AIエージェント「構築」元年に備えよう
yakumo
1
150
たかがボタン、されどボタン ~button要素から深ぼるボタンUIの定義について~ / BuriKaigi 2026
yamanoku
1
260
フルカイテン株式会社 エンジニア向け採用資料
fullkaiten
0
10k
自己管理型チームと個人のセルフマネジメント 〜モチベーション編〜
kakehashi
PRO
5
2.8k
Featured
See All Featured
From Legacy to Launchpad: Building Startup-Ready Communities
dugsong
0
120
What's in a price? How to price your products and services
michaelherold
246
13k
The innovator’s Mindset - Leading Through an Era of Exponential Change - McGill University 2025
jdejongh
PRO
1
78
How GitHub (no longer) Works
holman
316
140k
Faster Mobile Websites
deanohume
310
31k
Gemini Prompt Engineering: Practical Techniques for Tangible AI Outcomes
mfonobong
2
250
Typedesign – Prime Four
hannesfritz
42
2.9k
Being A Developer After 40
akosma
91
590k
Lessons Learnt from Crawling 1000+ Websites
charlesmeaden
PRO
0
1k
Prompt Engineering for Job Search
mfonobong
0
140
The Anti-SEO Checklist Checklist. Pubcon Cyber Week
ryanjones
0
39
RailsConf 2023
tenderlove
30
1.3k
Transcript
Understanding the Kubernetes API Internals By Nabarun Pal and Nikhita
Raghunath
2 Source: https://kubernetes.io/docs/concepts/overview/components/
3 Group git.k8s.io/kubernetes/staging/src/k8s.io/api
4 Version
5 Kind
6 Group-Version-Kind (GVK) apps.v1/Deployment Group Version Kind
7 Group-Version-Resource (GVR) /apis/apps/v1/namespaces/{namespace}/deployments Group Version Resource /api/v1/namespaces/{namespace}/pods
Relation between GVK and GVR 8
9 External Types v/s Internal Types
1 0 Codebase walkthrough To import the codebase walkthrough in
VS Code, please see this gist.
11 Conversion v1 Storage Version
12 Conversion v1 v1beta1 Storage Version Input Version
13 Conversion v1 v1beta2 Storage Version Input Version
14 Conversion v1 v1beta3 Storage Version Input Version
15 Conversion v1 v1beta1 Storage Version Input Version
16 Conversion v1 internal v1beta1 Storage Version “Hub” Version Input
Version
17 Conversion v1 internal v1beta2 Storage Version “Hub” Version Input
Version
18 Conversion v1 internal v1beta3 Storage Version “Hub” Version Input
Version
19 Conversion v1 internal v1beta1 Storage Version “Hub” Version Input
Version
20 Conversion and Defaulting v1 internal v1beta1 Storage Version “Hub”
Version Input Version
21 Decoding v1beta1 Input Version internal “Hub” Version Serialization, Defaulting
and Conversion
22 Admission v1 internal “Hub” Version Admission Mutating Validating
23 Registry v1 internal “Hub” Version Admission Mutating Validating Registry
BeforeCreate Validation
24 Encoding v1 internal “Hub” Version Admission Mutating Validating Registry
BeforeCreate Validation Encoding Conversion Defaulting Deserialization
2 5 Codebase walkthrough To import the codebase walkthrough in
VS Code, please see this gist.
26 CRDs and Aggregated Apiservers They follow the same pattern
• CRDs - staging/src/k8s.io/apiextensions-apiserver • Aggregated Apiservers - staging/src/k8s.io/kube-aggregator (We won’t be covering them in detail in this talk)
Thank you! 2 7 Feedback Link