Peta dunia

 

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

Anda di sini: kluster kind-dev namespace default
kubectl apply gagal: resource mapping not found, no matches for kind Deployment in version extensions/v1beta1. Output terminal: $ kubectl apply -f old-shop.yaml error: resource mapping not found for name: "shop" namespace: "" from "old-shop.yaml": no matches for kind "Deployment" in version "extensions/v1beta1" ensure CRDs are installed first

Anda 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.

shop.yaml18 baris

Teka

Satu fail guna API yang lapuk, tetapi masih dilayan. Apa jadi semasa kubectl apply?

Pilih satu jawapan.

Tengok

bash
kubectl create configmap settings --from-literal=GREETING=Selamat --from-literal=SPICY=3 --dry-run=client -o kyaml
---
{
kind: "ConfigMap",
apiVersion: "v1",
metadata: {
name: "settings",
},
data: {
GREETING: "Selamat",
SPICY: "3",
},
}
kubectl create configmap dengan dry run dan -o kyaml cetak ConfigMap dengan kurungan kerinting, dan setiap teks dalam petikan berganda.

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.

1 / 4

Tutorial lama tulis extensions/v1beta1. Tukar Deployment kepada apps/v1.

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

  1. kubectl api-resources
  2. kubectl explain deployment
  3. kubectl create deployment x --image=nginx:1.29-alpine --dry-run=client -o kyaml

0 daripada 3 langkah siap ยท Tanda anda disimpan.