EN: Read in English
Dunia K9: Pentadbir Kluster
Cordon, drain, uncordon
Anda akan belajar: cara admin kosongkan gerai untuk dibaiki, dan apa yang drain tak mahu pindah.
Teks BM belum disemak oleh penutur asli.
Disemak dengan Kubernetes 1.37 pada 1 Nov 2026
Masalahnya
Malam ini juruelektrik pasang wayar baharu di gerai dev-worker. Dua dulang shop ada di situ. Apa anda buat sebelum elektrik dipadam?
Pilih satu jawapan.
Tengok
kind-dev namespace defaultcordon: Papan “tiada pesanan baharu” pada gerai: dulang baharu ke tempat lain, yang lama kekal. ialah papan “tiada pesanan baharu” pada gerai. Dulang baharu pergi ke tempat lain. Dulang yang sudah ada terus melayan.
Cuba
drain (kosongkan gerai) (drain): Cordon satu gerai, kemudian pindah dulangnya ke gerai lain, sedia untuk dibaiki. pasang papan itu, kemudian pindah semua dulang. Tanpa flag, ia berhenti. Ketik baris yang sebut caranya.
Ketik baris yang sebut caranya.
0 daripada 1 dijumpai
Maksudnya: kube-proxy dan kindnet ada di setiap gerai. Ia tak boleh pindah.
Petunjuk
Cari perkataan dalam kurungan: “use … to ignore”.Cuba
Drain layan dulang dengan cara berbeza. Susun ikut kumpulan.
Seret kad ke dalam kotak. Atau ketik kad, kemudian ketik kotak.
Cuba
Kosongkan gerai dev-worker untuk juruelektrik. Drain pindahkan dulang, jadi lencana bahaya muncul.
kind-dev namespace defaultdev-control-planeBukaPengurusTiada dulang di sini.
dev-workerBuka- shop·bww25
- shop·s2gw9
dev-worker2Buka- shop·cnnkz
Petunjuk
kubectl drain dev-worker --ignore-daemonsets. Kemudian biar jam berjalan.Teka
Kerja baiki siap. Anda taip kubectl uncordon dev-worker. Ke mana dua dulang yang dipindah itu pergi?
Pilih satu jawapan.
Semak
Susun malam membaiki gerai ikut urutan.
Langkah pertama di atas. Susun ikut turutan. Guna anak panah, atau seret.
- kubectl get pdb -A (ada bajet?)
- kubectl uncordon dev-worker
- kubectl get nodes (Ready, tiada SchedulingDisabled)
- kubectl drain dev-worker --ignore-daemonsets
- Baiki gerai itu
Anda berjaya!
Kini anda boleh kosongkan gerai untuk dibaiki dan buka semula.
Nak tahu lebih (pilihan)
Dulang dengan emptyDir perlu --delete-emptydir-data: data sementara itu hilang. PodDisruptionBudget buat drain tunggu giliran (K5). Drain buat cordon dulu, walaupun ia kemudian berhenti.
Misi sebenar
kubectl create deployment shop --image=nginx:1.29-alpine --replicas=3kubectl drain <worker-name> --ignore-daemonsetskubectl get pods -o widekubectl uncordon <worker-name>
0 daripada 4 langkah siap · Tanda anda disimpan.
English
Tonight the electrician rewires stall dev-worker. Two shop trays sit there. What do you do before the power goes off?
A cordon is the “no new orders” sign on a stall. New trays go elsewhere. Trays already there keep serving.
Drain puts up the sign, then moves every tray away. Without flags, it stops. Tap the line that names the fix.
Plain words: kube-proxy and kindnet live on every stall. They cannot move.
Drain treats trays differently. Sort them.
Empty stall dev-worker for the electrician. A drain moves trays, so the danger badge shows.
kubectl drain dev-worker --ignore-daemonsets. Then let the clock run.Repairs done. You type kubectl uncordon dev-worker. Where do the two moved trays go?
Put a stall’s repair night in order.
You can now empty a stall for repairs and open it again.
Anda dah siapkan ini. Latihan lagi pun bagus!
Dokumentasi rasmi: Kubernetes: safely drain a node · kubectl drain · kubectl cordon
Anda dah belajar 25 minit. Rehat sekejap bantu otak anda.
Pecutan selesai! Fokus yang hebat. Regangkan badan seminit?