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
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
75
Kubernetes - The Universal Control Plane
palnabarun
0
150
Learnings from Sustainably Steering the Kubernetes Project
palnabarun
0
120
The Eight Fallacies of Distributed Cloud Native Communities
palnabarun
0
130
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
93
What does the Kubernetes Steering Committee Steer?
palnabarun
0
150
State of Kubernetes in 2022
palnabarun
0
120
Leadership Learnings from Kubernetes Releases
palnabarun
0
83
Other Decks in Technology
See All in Technology
Introduction to Bill One Development Engineer
sansan33
PRO
0
360
顧客の言葉を、そのまま信じない勇気
yamatai1212
1
350
MCPでつなぐElasticsearchとLLM - 深夜の障害対応を楽にしたい / Bridging Elasticsearch and LLMs with MCP
sashimimochi
0
160
データの整合性を保ちたいだけなんだ
shoheimitani
8
3.1k
Ruby版 JSXのRuxが気になる
sansantech
PRO
0
150
レガシー共有バッチ基盤への挑戦 - SREドリブンなリアーキテクチャリングの取り組み
tatsukoni
0
210
Webhook best practices for rock solid and resilient deployments
glaforge
1
280
AWS Network Firewall Proxyを触ってみた
nagisa53
1
220
AIエージェントを開発しよう!-AgentCore活用の勘所-
yukiogawa
0
150
ClickHouseはどのように大規模データを活用したAIエージェントを全社展開しているのか
mikimatsumoto
0
220
AI駆動PjMの理想像 と現在地 -実践例を添えて-
masahiro_okamura
1
110
Bill One 開発エンジニア 紹介資料
sansan33
PRO
4
17k
Featured
See All Featured
Art, The Web, and Tiny UX
lynnandtonic
304
21k
The agentic SEO stack - context over prompts
schlessera
0
630
Are puppies a ranking factor?
jonoalderson
1
2.7k
Claude Code どこまでも/ Claude Code Everywhere
nwiizo
61
52k
Primal Persuasion: How to Engage the Brain for Learning That Lasts
tmiket
0
250
The Illustrated Children's Guide to Kubernetes
chrisshort
51
51k
Pawsitive SEO: Lessons from My Dog (and Many Mistakes) on Thriving as a Consultant in the Age of AI
davidcarrasco
0
64
New Earth Scene 8
popppiees
1
1.5k
Scaling GitHub
holman
464
140k
Joys of Absence: A Defence of Solitary Play
codingconduct
1
290
How to Talk to Developers About Accessibility
jct
2
130
Chasing Engaging Ingredients in Design
codingconduct
0
110
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