CHƯƠNG 09 · Kubernetes Fundamentals•BÀI 36 / 80

Kind lab và kubectl debug workflow

Thực hành cấu trúc lệnh được dùng hàng ngày trong SRE.

Kubernetes◷ 4 phút đọc4/4 trong chương

Nắm bản chất

Kind chạy các Kubernetes nodes bên trong Docker containers, thuận tiện học deployment, networking và controllers. Đây không phải production topology thật; tài nguyên và kernel/network của laptop có thể ảnh hưởng kết quả.

Khi Pod Pending, bắt đầu với describe pod và Events; khi CrashLoopBackOff, đọc previous logs và trạng thái terminated; khi Service không hoạt động, kiểm tra selector/readiness/EndpointSlices trước khi truy vấn CNI sâu hơn.

Luồng hoạt động

kubectl get→describe→logs→events

Hãy tự giải thích mỗi mũi tên: dữ liệu, quyền hoặc tín hiệu nào được truyền qua bước này?

Lệnh & cấu hình mẫu

kind create cluster --name handbook9
kubectl config current-context
kubectl get nodes -o wide
kubectl -n default get events --sort-by=.lastTimestamp
kubectl -n default logs deployment/APP --previous
kind delete cluster --name handbook9

Lệnh có placeholder hoặc phụ thuộc môi trường thì cần thay thông tin thực tế, kiểm tra quyền và chỉ thực hiện trên tài nguyên được phép.

Bài tập 10–20 phút

✳

Dựng Kind riêng, deploy sample từ Buổi 9, ghi lại một sự cố Pending và một sự cố readiness. Viết runbook gồm triệu chứng, root cause và lệnh chứng minh.

Lỗi dễ mắc

!

Luôn kiểm tra kubectl config current-context trước các lệnh delete/drain/scale; sai context có thể ảnh hưởng production thật.

Tự kiểm tra

Nên làm gì đầu tiên khi Pod Pending?Xem đáp án ↗

kubectl describe pod và xem Events/scheduling constraints để tìm lý do Scheduler không đặt được Pod.

TÀI NGUYÊN ĐI KÈM

Học thêm qua lab

Có project thực hành đúng với chương này, kèm README và những giới hạn môi trường cần lưu ý.

↓ Tải mã nguồn thực hành chương 09
NGUỒN CHÍNH THỨC

Đối chiếu tài liệu gốc

Cú pháp và khả năng hỗ trợ có thể thay đổi theo phiên bản. Trước khi dùng Production, hãy kiểm tra tài liệu tương ứng.

Mở tài liệu chính thức ↗