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
94
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
52
Kubernetes - The Universal Control Plane
palnabarun
0
110
Learnings from Sustainably Steering the Kubernetes Project
palnabarun
0
89
The Eight Fallacies of Distributed Cloud Native Communities
palnabarun
0
83
State of Kubernetes and CNCF: A path to a sustainable and secure future
palnabarun
0
65
Wildfires, Firefighters and Sustainability Learnings from Mitigating Kubernetes Fires in the Community
palnabarun
0
68
What does the Kubernetes Steering Committee Steer?
palnabarun
0
120
State of Kubernetes in 2022
palnabarun
0
90
Leadership Learnings from Kubernetes Releases
palnabarun
0
70
Other Decks in Technology
See All in Technology
人と組織に偏重したEMへのアンチテーゼ──なぜ、EMに設計力が必要なのか/An antithesis to the overemphasis of people and organizations in EM
dskst
5
580
LLM時代の検索とコンテキストエンジニアリング
shibuiwilliam
2
1.1k
Observability for LLM Application lifecycle
ivry_presentationmaterials
1
240
実践データベース設計 ①データベース設計概論
recruitengineers
PRO
2
140
イオン店舗一覧ページのパフォーマンスチューニング事例 / Performance tuning example for AEON store list page
aeonpeople
1
260
Evolution on AI Agent and Beyond - AGI への道のりと、シンギュラリティの3つのシナリオ
masayamoriofficial
0
160
第4回 関東Kaggler会 [Training LLMs with Limited VRAM]
tascj
12
1.7k
実践アプリケーション設計 ①データモデルとドメインモデル
recruitengineers
PRO
2
160
KiroでGameDay開催してみよう(準備編)
yuuuuuuu168
1
120
攻撃と防御で実践するプロダクトセキュリティ演習~導入パート~
recruitengineers
PRO
1
110
Amazon Bedrock AgentCore でプロモーション用動画生成エージェントを開発する
nasuvitz
6
410
浸透しなさいRFC 5322&7208
hinono
0
110
Featured
See All Featured
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
15
1.6k
The Art of Programming - Codeland 2020
erikaheidi
55
13k
Testing 201, or: Great Expectations
jmmastey
45
7.6k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
183
54k
Build your cross-platform service in a week with App Engine
jlugia
231
18k
Large-scale JavaScript Application Architecture
addyosmani
512
110k
The Cost Of JavaScript in 2023
addyosmani
53
8.8k
The World Runs on Bad Software
bkeepers
PRO
70
11k
How to Think Like a Performance Engineer
csswizardry
25
1.8k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
46
7.6k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
667
120k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4k
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