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
110
0
Share
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
82
Kubernetes - The Universal Control Plane
palnabarun
0
170
Learnings from Sustainably Steering the Kubernetes Project
palnabarun
0
120
The Eight Fallacies of Distributed Cloud Native Communities
palnabarun
0
140
State of Kubernetes and CNCF: A path to a sustainable and secure future
palnabarun
0
81
Wildfires, Firefighters and Sustainability Learnings from Mitigating Kubernetes Fires in the Community
palnabarun
0
100
What does the Kubernetes Steering Committee Steer?
palnabarun
0
170
State of Kubernetes in 2022
palnabarun
0
130
Leadership Learnings from Kubernetes Releases
palnabarun
0
88
Other Decks in Technology
See All in Technology
終盤で崩壊させないAI駆動開発
j5ik2o
0
450
2026年度新卒技術研修 サイバーエージェントのデータベース 活用事例とパフォーマンス調査入門
cyberagentdevelopers
PRO
6
7.4k
AI前提とはどういうことか
daisuketakeda
0
170
解剖"React Native"
hacusk
0
120
Discordでリモートポケカしてたら、なぜかDOを25分間動かせるようになった話
umireon
0
120
3つのボトルネックを解消し、リリースエンジニアリングを再定義した話
nealle
0
360
Hooks, Filters & Now Context: Why MCPs Are the “Hooks” of the AI Era
miriamschwab
0
130
BIツール「Omni」の紹介 @Snowflake中部UG
sagara
0
260
プロダクトを育てるように生成AIによる開発プロセスを育てよう
kakehashi
PRO
1
930
Proxmox超入門
devops_vtj
0
160
GitHub Copilotを極める会 - 開発者のための活用術
findy_eventslides
6
3.9k
ストライクウィッチーズ2期6話のエイラの行動が許せないのでPjMの観点から何をすべきだったのかを考える
ichimichi
1
320
Featured
See All Featured
Tell your own story through comics
letsgokoyo
1
890
Paper Plane (Part 1)
katiecoart
PRO
0
6.5k
Thoughts on Productivity
jonyablonski
76
5.1k
Fireside Chat
paigeccino
42
3.9k
A designer walks into a library…
pauljervisheath
211
24k
How To Speak Unicorn (iThemes Webinar)
marktimemedia
1
430
Tips & Tricks on How to Get Your First Job In Tech
honzajavorek
1
480
Applied NLP in the Age of Generative AI
inesmontani
PRO
4
2.2k
Navigating the Design Leadership Dip - Product Design Week Design Leaders+ Conference 2024
apolaine
0
260
Introduction to Domain-Driven Design and Collaborative software design
baasie
1
720
Designing for humans not robots
tammielis
254
26k
Scaling GitHub
holman
464
140k
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