EN: Read in English
Dunia K4: Nota, Loker & Pakej
Base dan overlay Kustomize
Anda akan belajar: jalankan satu aplikasi di dua dapur dengan base dan overlay, guna kubectl apply -k.
Teks BM belum disemak oleh penutur asli.
Disemak dengan Kubernetes 1.37 pada 31 Okt 2026
Masalahnya
kind-dev namespace defaultKedai sama, dua dapur. Dev mahu 1 dulang dan log yang banyak cakap. Prod mahu 3 dulang dan log yang senyap. Salin semua YAML dua kali? Nanti setiap pepijat perlu dibaiki dua kali.
Tengok
Ini overlays/prod/kustomization.yaml. Tekan tiga baris yang buat prod berbeza.
0 daripada 3 dijumpai
Kustomize: Satu resepi asas dan satu nota lekat untuk setiap dapur. Terbina dalam kubectl (kubectl apply -k). simpan satu resepi asas (base). Setiap overlay: Nota lekat untuk satu dapur: ia ubah base untuk dev, staging atau prod. ialah nota lekat di atasnya, untuk satu dapur. Base tak pernah berubah.
Cuba
Pratonton prod dahulu. Ini cuma cetak YAML. Tiada apa sampai ke kluster.
kind-dev namespace defaultdev-control-planeBukaPengurusTiada dulang di sini.
dev-workerBukaTiada dulang di sini.
dev-worker2BukaTiada dulang di sini.
Petunjuk
kubectl kustomize <folder> bina overlay dan cetaknya.Teka
Anda baru jalankan kubectl kustomize overlays/prod. Berapa dulang prod sedang berjalan sekarang?
Pilih satu jawapan.
Cuba
Sekarang buka dapur prod betul-betul.
kind-dev namespace defaultdev-control-planeBukaPengurusTiada dulang di sini.
dev-workerBukaTiada dulang di sini.
dev-worker2BukaTiada dulang di sini.
Petunjuk
-k bermaksud: bina folder ini dengan Kustomize, kemudian apply.Semak
kind-dev namespace defaultSatu base, dua dapur. Dev kata debug, prod kata warn. Patch itu cuma ubah satu baris nota.
Semak
Bina arahan yang buka dapur dev.
Ketik kepingan ikut turutan yang betul.
Anda berjaya!
Kini anda boleh jalankan satu aplikasi di banyak dapur dengan Kustomize.
Nak tahu lebih (pilihan)
Overlay boleh buat lebih: images: tukar tag, namePrefix: tukar nama, labels: tambah label. configMapGenerator tambah hash pada nama nota, jadi perubahan akan gulung semula dulang. kubectl diff -k overlays/prod tunjuk perubahan dahulu.
Latihan sebenar (pilihan), pada kluster kind untuk latihan:
Misi sebenar
kubectl kustomize overlays/prodkubectl apply -k overlays/prodkubectl diff -k overlays/prodkubectl delete -k overlays/prod
0 daripada 5 langkah siap · Tanda anda disimpan.
English
Same shop, two kitchens. Dev wants 1 tray and chatty logs. Prod wants 3 trays and quiet logs. Copy all the YAML twice? Then you fix every bug twice.
Kustomize keeps one base recipe. Each overlay is a sticky note on top, for one kitchen. The base never changes.
Preview prod first. This only prints YAML. Nothing reaches the cluster.
kubectl kustomize <folder> builds the overlay and prints it.You just ran kubectl kustomize overlays/prod. How many prod trays are running now?
Now open the prod kitchen for real.
-k means: build this folder with Kustomize, then apply it.One base, two kitchens. Dev says debug, prod says warn. The patch changed one line of the note.
Build the command that opens the dev kitchen.
You can now run one app in many kitchens with Kustomize.
Anda dah siapkan ini. Latihan lagi pun bagus!
Dokumentasi rasmi: Declarative management with Kustomize · kubectl kustomize
Anda dah belajar 25 minit. Rehat sekejap bantu otak anda.
Pecutan selesai! Fokus yang hebat. Regangkan badan seminit?