BM: Baca dalam Bahasa Melayu
World K4: Notes, Lockers & Packages
API deprecations and kyaml
You will learn: to fix YAML that uses a retired API, and to read KYAML.
Checked with Kubernetes 1.37 on 31 Oct 2026
The problem
kind-dev namespace defaultYou copied a Deployment from an old blog. kubectl says no matches for kind "Deployment" in version "extensions/v1beta1". Plain words: nobody takes that form anymore.
Watch
Tap each point on the timeline.
An API deprecation: An old form the office will stop taking. Move to the new apiVersion before it goes. is an old form the office will stop taking. First comes a warning. A few releases later, the form is gone.
Try it
Bring the old Deployment up to date.
Fix the manifest, then press Apply.
Predict
A file uses an API that is deprecated, but still served. What happens on kubectl apply?
Pick one answer.
Watch
kubectl 1.37 can print KYAML: Strict YAML from kubectl: every string in quotes, braces around maps. Any YAML reader still reads it.: YAML written strictly. Every string sits in double quotes. Braces wrap each map, so spaces never change the meaning.
Predict
Plain YAML. A ConfigMap says SPICY: yes. What does the API server get?
Pick one answer.
Check
True or not? Swipe each one.
Swipe right for good, left for needs work. Or use the buttons.
An old tutorial says extensions/v1beta1. Switch the Deployment to apps/v1.
You did it!
You can now update retired APIs and read KYAML.
Go deeper (optional)
The kubectl convert plugin rewrites old files, but check its defaults. Where the story breaks: kind’s lockers sit on one stall. If that stall’s disk dies, the locker dies too. And notes on the wall are readable by anyone allowed to read ConfigMaps.
Real rep (optional), on a practice cluster:
Real mission
kubectl api-resourceskubectl explain deploymentkubectl create deployment x --image=nginx:1.29-alpine --dry-run=client -o kyaml
0 of 3 steps done · Your ticks are saved.
Bahasa Melayu
Anda salin Deployment dari blog lama. kubectl kata no matches for kind "Deployment" in version "extensions/v1beta1". Maksudnya: borang itu sudah tak diterima lagi.
API deprecation (API lapuk) ialah borang lama yang pejabat akan berhenti terima. Mula-mula ada amaran. Beberapa release kemudian, borang itu hilang.
Kemas kini Deployment lama ini.
Satu fail guna API yang lapuk, tetapi masih dilayan. Apa jadi semasa kubectl apply?
kubectl 1.37 boleh cetak KYAML: YAML yang ditulis dengan ketat. Setiap teks dalam petikan berganda. Kurungan kerinting membalut setiap map, jadi jarak tak ubah maksud.
YAML biasa. Satu ConfigMap tulis SPICY: yes. Apa yang API server terima?
Betul atau tidak? Leret setiap satu.
Kini anda boleh kemas kini API yang bersara dan baca KYAML.
You finished this before. Practice is always welcome!
Official docs: Deprecated API Migration Guide · Kubernetes Deprecation Policy · KYAML
You've learned for 25 minutes. A short break helps your brain.
Sprint done! Great focus. Stretch for a minute?