BM: Baca dalam Bahasa Melayu
World K9: Cluster Admin
Static pods and the manifests folder
You will learn: how the office runs from files, and how to bring a missing part back.
Checked with Kubernetes 1.37 on 1 Nov 2026
The problem
kind-dev namespace defaultA new tray waits in Pending, with no events at all. The scheduler’s pod is gone too. Who hires the office staff back?
Try it
The office can’t hire itself. So the kubelet on its stall starts them from files: static pod: A tray the stall's supervisor starts by itself, from a file in /etc/kubernetes/manifests, without asking the office.. Type ssh dev-control-plane, then ls /etc/kubernetes/manifests.
kind-dev namespace defaultdev-control-planeOpenManagerNo trays here.
dev-workerOpenNo trays here.
dev-worker2OpenNo trays here.
Hint
The kubelet watches this one folder. Its setting is called staticPodPath.Try it
The office shows each static pod as a mirror pod: The office's read-only photo of a static pod. Deleting the photo does not stop the real pod.: a read-only photo. Tap two lines: “from a file”, and its owner.
Tap the 2 lines that prove it is a static pod.
0 of 2 found
Hint
One line has the word file. One line starts with Controlled By.Predict
You delete that mirror pod with kubectl. What happens?
Pick one answer.
Watch
kind-dev namespace defaultGone, then back with a new age. The photo changed. The job card did not.
Try it
Someone moved the scheduler’s job card to /root. Put it back. Careful: this folder runs the office. Change only what you mean.
kind-dev namespace defaultdev-control-planeOpenManagerNo trays here.
dev-workerOpenNo trays here.
dev-worker2OpenNo trays here.
- trayPending
Hint
ls /etc/kubernetes/manifests shows only three files. Which one is missing?Check
Good habit in the manifests folder? Swipe right for good.
Swipe right for good, left for needs work. Or use the buttons.
Copy the file to /root before you change it
Check
Static pod or normal pod? Look at the names.
Drag a card into a box. Or tap the card, then tap the box.
Hint
Static pod names end with the node’s name.You did it!
You can now find static pods and bring a lost one back.
Go deeper (optional)
The folder comes from the kubelet’s settings: staticPodPath in /var/lib/kubelet/config.yaml. Workers have the folder too, only empty. Files starting with a dot are skipped. Keep backups outside, for example in /etc/kubernetes/backup/.
Real mission
kubectl config current-contextdocker exec dev-worker sh -c 'printf "apiVersion: v1\nkind: Pod\nmetadata:\n name: static-web\nspec:\n containers:\n - name: web\n image: nginx:1.29-alpine\n" > /etc/kubernetes/manifests/static-web.yaml'kubectl get pods -o widekubectl delete pod static-web-dev-workerdocker exec dev-worker rm /etc/kubernetes/manifests/static-web.yaml
0 of 5 steps done · Your ticks are saved.
Bahasa Melayu
Dulang baharu menunggu dalam Pending, tanpa sebarang event. Pod scheduler pun hilang. Siapa ambil semula staf pejabat?
Pejabat tak boleh ambil pekerja untuk dirinya. Jadi kubelet di gerainya hidupkan mereka daripada fail: static pod. Taip ssh dev-control-plane, kemudian ls /etc/kubernetes/manifests.
Pejabat tunjuk setiap static pod sebagai mirror pod: gambar baca-sahaja. Tekan dua baris: “daripada fail”, dan pemiliknya.
Anda padam mirror pod itu dengan kubectl. Apa jadi?
Hilang, kemudian kembali dengan umur baharu. Gambarnya berubah. Kad tugasnya tidak.
Seseorang pindahkan kad tugas scheduler ke /root. Letak semula. Hati-hati: folder ini jalankan pejabat. Ubah apa yang perlu sahaja.
Tabiat baik dalam folder manifests? Leret ke kanan untuk baik.
Static pod atau pod biasa? Lihat namanya.
Kini anda boleh cari static pod dan pulihkan yang hilang.
You finished this before. Practice is always welcome!
Official docs: Create static Pods · Static Pods (concept) · kubeadm init: static Pod manifests
You've learned for 25 minutes. A short break helps your brain.
Sprint done! Great focus. Stretch for a minute?