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
130
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Understanding API Internals
Nabarun Pal
June 26, 2021
More Decks by Nabarun Pal
See All by Nabarun Pal
Keeping Social Engineering Attacks Away from OSS Communities
palnabarun
0
110
Kubernetes - The Universal Control Plane
palnabarun
0
200
Learnings from Sustainably Steering the Kubernetes Project
palnabarun
0
140
The Eight Fallacies of Distributed Cloud Native Communities
palnabarun
0
170
State of Kubernetes and CNCF: A path to a sustainable and secure future
palnabarun
0
110
Wildfires, Firefighters and Sustainability Learnings from Mitigating Kubernetes Fires in the Community
palnabarun
0
130
What does the Kubernetes Steering Committee Steer?
palnabarun
0
200
State of Kubernetes in 2022
palnabarun
0
150
Leadership Learnings from Kubernetes Releases
palnabarun
0
110
Other Decks in Technology
See All in Technology
カーネルまで探検して理解するふたつの自動計装
sumiyae
0
310
Windows の互換機能 - 古いプログラムはなぜ動作できるのか
murachiakira
PRO
0
100
Contract One Engineering Unit 紹介資料
sansan33
PRO
0
20k
Introduction to Sansan Meishi Maker Development Engineer
sansan33
PRO
0
460
内製AIチャットボット開発で学んだ Datadog Agent Observability活用術
mkdev10
0
140
VLMで2.3万枚のPyCon JP写真を検索!
terapyon
1
500
トークンマネジメントでAIにとって働きやすい環境を実現する
hikaruegashira
0
160
研究開発部の紹介 / Sansan R&D Profile
sansan33
PRO
4
24k
あなたの知らないバージョン命名規則
sat
PRO
2
690
顧客の要望は2次情報である 〜アンテナを張るFDEの構造論〜
noriakioji
1
260
internal/testlog で遊ぼう
rokuosan
0
210
長期運営で肥大化したExcelマスターデータの解消に向けた移行事例
gree_tech
PRO
0
490
Featured
See All Featured
What Being in a Rock Band Can Teach Us About Real World SEO
427marketing
0
1.1k
What's in a price? How to price your products and services
michaelherold
247
13k
How to audit for AI Accessibility on your Front & Back End
davetheseo
0
510
Optimizing for Happiness
mojombo
378
71k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4.5k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
254
22k
16th Malabo Montpellier Forum Presentation
akademiya2063
PRO
0
360
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
Highjacked: Video Game Concept Design
rkendrick25
PRO
1
440
Evolving SEO for Evolving Search Engines
ryanjones
0
260
BBQ
matthewcrist
89
10k
How To Speak Unicorn (iThemes Webinar)
marktimemedia
1
560
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