EN: Read in English
Dunia K4: Nota, Loker & Pakej
API lapuk dan kyaml
Anda akan belajar: baiki YAML yang guna API yang sudah bersara, dan baca KYAML.
Teks BM belum disemak oleh penutur asli.
Disemak dengan Kubernetes 1.37 pada 31 Okt 2026
Masalahnya
kind-dev namespace defaultAnda salin Deployment dari blog lama. kubectl kata no matches for kind "Deployment" in version "extensions/v1beta1". Maksudnya: borang itu sudah tak diterima lagi.
Tengok
Ketik setiap titik pada garis masa.
API deprecation (API lapuk) (API deprecation): Borang lama yang pejabat akan berhenti terima. Tukar ke apiVersion baharu sebelum ia dibuang. (API lapuk) ialah borang lama yang pejabat akan berhenti terima. Mula-mula ada amaran. Beberapa release kemudian, borang itu hilang.
Cuba
Kemas kini Deployment lama ini.
Baiki manifest ini, kemudian tekan Apply.
Teka
Satu fail guna API yang lapuk, tetapi masih dilayan. Apa jadi semasa kubectl apply?
Pilih satu jawapan.
Tengok
kubectl 1.37 boleh cetak KYAML: YAML yang ketat daripada kubectl: setiap teks dalam petikan, kurungan kerinting untuk map. Ia masih YAML biasa.: YAML yang ditulis dengan ketat. Setiap teks dalam petikan berganda. Kurungan kerinting membalut setiap map, jadi jarak tak ubah maksud.
Teka
YAML biasa. Satu ConfigMap tulis SPICY: yes. Apa yang API server terima?
Pilih satu jawapan.
Semak
Betul atau tidak? Leret setiap satu.
Leret ke kanan untuk bagus, ke kiri untuk perlu baiki. Atau guna butang.
Tutorial lama tulis extensions/v1beta1. Tukar Deployment kepada apps/v1.
Anda berjaya!
Kini anda boleh kemas kini API yang bersara dan baca KYAML.
Nak tahu lebih (pilihan)
Plugin kubectl convert tulis semula fail lama, tetapi semak nilai lalainya. Di mana cerita ini tak tepat: loker kind duduk di satu gerai. Jika cakera gerai itu rosak, lokernya pun hilang. Dan nota di dinding boleh dibaca sesiapa yang boleh baca ConfigMap.
Latihan sebenar (pilihan), pada kluster latihan:
Misi sebenar
kubectl api-resourceskubectl explain deploymentkubectl create deployment x --image=nginx:1.29-alpine --dry-run=client -o kyaml
0 daripada 3 langkah siap ยท Tanda anda disimpan.
English
You 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.
An API deprecation is an old form the office will stop taking. First comes a warning. A few releases later, the form is gone.
Bring the old Deployment up to date.
A file uses an API that is deprecated, but still served. What happens on kubectl apply?
kubectl 1.37 can print KYAML: YAML written strictly. Every string sits in double quotes. Braces wrap each map, so spaces never change the meaning.
Plain YAML. A ConfigMap says SPICY: yes. What does the API server get?
True or not? Swipe each one.
You can now update retired APIs and read KYAML.
Anda dah siapkan ini. Latihan lagi pun bagus!
Dokumentasi rasmi: Deprecated API Migration Guide ยท Kubernetes Deprecation Policy ยท KYAML
Anda dah belajar 25 minit. Rehat sekejap bantu otak anda.
Pecutan selesai! Fokus yang hebat. Regangkan badan seminit?