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
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Nabarun Pal
June 26, 2021
Technology
120
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
85
Kubernetes - The Universal Control Plane
palnabarun
0
170
Learnings from Sustainably Steering the Kubernetes Project
palnabarun
0
130
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
83
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
89
Other Decks in Technology
See All in Technology
『生成AI時代のクレデンシャルとパーミッション設計 — Claude Code を起点に』の執筆企画
takuros
2
1.7k
Claude Code を安全に使おう勉強会 / Claude Code Security Basics
masahirokawahara
12
39k
Good Enough Types: Heuristic Type Inference for Ruby
riseshia
1
380
Cortex Codeのコスト見積ヒントご紹介
yokatsuki
0
130
ハーネスエンジニアリングをやりすぎた話 ~そのハーネスは解体された~
gotalab555
5
1.9k
AIコーディング時代における、ソフトウェアサプライチェーン攻撃に対する防衛術(簡易版)
soysoysoyb
0
200
コミュニティ・勉強会を作るのは目的じゃない
ohmori_yusuke
0
280
エージェントスキルを作って自分のインプットに役立てよう
tsubakimoto_s
0
490
基盤を育てる 外部SaaS連携の運用
gamonges_dresscode
1
130
AI バイブコーティングでキーボード不要?!
samakada
0
660
Forget technical debt
ufried
0
130
色を視る
yuzneri
0
290
Featured
See All Featured
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
34
2.7k
Statistics for Hackers
jakevdp
799
230k
Unsuck your backbone
ammeep
672
58k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
254
22k
AI Search: Where Are We & What Can We Do About It?
aleyda
0
7.4k
A designer walks into a library…
pauljervisheath
211
24k
Visual Storytelling: How to be a Superhuman Communicator
reverentgeek
2
520
Sam Torres - BigQuery for SEOs
techseoconnect
PRO
0
250
Prompt Engineering for Job Search
mfonobong
0
280
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
Music & Morning Musume
bryan
47
7.2k
Measuring Dark Social's Impact On Conversion and Attribution
stephenakadiri
2
190
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