Lộ trình
Cloud Native Computing FoundationAssociateTuần 1: Nền tảngBài 5 / 30

Ngày 5: Cài cluster bằng kubeadm

Thời lượng: 45 phút
Mục tiêu: 2 nhiệm vụ chính
Tiến độ lộ trình
ckangày 5
hoàn thành5 / 30 bài
Bối cảnh bài học

Hiểu và thực hành kubeadm bootstrap qua preflight, init/join, kubeconfig, CNI, node readiness và recovery evidence; ưu tiên mô phỏng nếu không có VM lab.

đọc hiểuthực hànhcheckpoint
Bài giảng hôm nay

Học hiểu, rồi mới thực hành

Hiểu và thực hành kubeadm bootstrap qua preflight, init/join, kubeconfig, CNI, node readiness và recovery evidence; ưu tiên mô phỏng nếu không có VM lab.

Bắt đầu đọc bài giảng

Nhiệm vụ bài học hôm nay

  • Thực hành kubeadm init trên máy ảo (hoặc mô phỏng)
  • Học cách join worker node vào cluster
Instructor walkthrough

Bài giảng chi tiết: từ bài toán đến bằng chứng

Scenario xuyên suốt

Control plane init thành công nhưng worker NotReady vì thiếu CNI; kubeconfig trỏ sai user/context và join token hết hạn. Bài học tách bootstrap phases, network prerequisite và credential/config safety.

01Đọc bài toán

Xác định actor, workload, constraint và trạng thái cuối cần đạt.

02Vẽ luồng / boundary

Chỉ ra request, dependency, identity và failure domain trước khi chọn công cụ.

03Chọn và thực hành

Thay đổi nhỏ nhất trong lab cô lập; command nào cũng phải nói rõ nó kiểm tra điều gì.

04Kiểm chứng / recovery

Đối chiếu trạng thái thực tế, tạo một failure variant và ghi cách hoàn tác.

Cách nối lý thuyết với thực tế
  • kubeadm init tạo control-plane components/static Pods và bootstrap config; kubeadm join đăng ký node nhưng không tự giải quyết CNI, capacity hoặc workload readiness.
  • kubeconfig xác định cluster/server/user/context; copy admin.conf thiếu kiểm soát có thể lộ cluster-admin.
  • CNI là prerequisite cho Pod networking/node readiness; control plane Ready không đồng nghĩa cluster workload network hoạt động.
  • Preflight kiểm tra OS/runtime/swap/ports/kernel/modules/time/hostname; lỗi preflight nên hiểu và xử lý có chủ đích.

Bootstrap theo dependency

Kubeadm không phải một nút “install Kubernetes”. Preflight phải pass trước; init tạo control plane; kubeconfig cho client; CNI tạo Pod network; worker join; node conditions/health phải pass trước workload. Ghi version/IP/context ở mỗi phase.

Troubleshooting và safety

Nếu node NotReady, đọc conditions/events/kubelet/CNI trước khi reset. Nếu join fail, kiểm tra endpoint/token/certificate/time/firewall. admin.conf, token và certificate là sensitive; không commit/share tùy tiện. Reset/rotate chỉ trên cluster lab cô lập và có backup/recovery expectation.

Bài tập

Tạo bootstrap runbook hoặc mô phỏng trên diagram: preflight, init, kubeconfig, CNI, join, verify và recovery. Viết failure matrix cho CNI thiếu, token expired, wrong endpoint và kubeconfig sai. Pass khi người khác biết phase nào fail và evidence nào cần thu.

Terminal reference

Command list và cách dùng

Chạy từng lệnh theo đúng thứ tự. Trước các lệnh có thể tạo hoặc thay đổi tài nguyên, hãy kiểm tra profile, account và region.

Commands · read-only checkpoints
kubeadm version -o short
kubeadm token list
kubectl get nodes -o wide
kubectl get pods -n kube-system -o wide
kubectl get events -A --sort-by=.lastTimestamp
Hands-on lab

Thực hành theo scenario

  1. Vẽ bootstrap sequence: OS/runtime → kubeadm init → kubeconfig → CNI → worker join → node Ready → workload smoke test.
  2. Nếu có lab VM cô lập, ghi versions/IP/hostname, chạy preflight trước init; nếu không, mô phỏng bằng checklist và inspect cluster hiện có, không chạy kubeadm trên production.
  3. Thu evidence từ kubeadm output, `kubectl get nodes`, CNI Pods/events, kubelet/runtime logs và context; phân loại control-plane vs network vs join failure.
  4. Cleanup lab theo tài liệu: drain/delete node khi phù hợp, reset only isolated node, xóa VM/network/credential artifacts; không copy admin.conf vào repo.
Evidence checkpoint

Kiểm chứng kết quả

Không coi lệnh chạy thành công là đủ. Hãy đối chiếu output với trạng thái mong đợi:

  • Bootstrap phases và dependencies đúng.
  • Kubeconfig/context không lộ credential.
  • CNI/node readiness có expected state.
  • Join/preflight failure có evidence và recovery path.
  • Privileged/reset/cleanup chỉ scoped lab và có proof.
Transfer to exam / production

Bẫy thường gặp và trade-off

CKA thường yêu cầu kubeadm troubleshooting: control plane có thể lên nhưng node NotReady do CNI; kubeconfig sai context là lỗi vận hành, không chữa bằng restart ngẫu nhiên.

Checkpoint · 3 phút

Kiểm tra nhanh

Câu hỏi: Control plane đã khởi động nhưng worker Node NotReady và Pod network chưa hoạt động. Kiểm tra nào ưu tiên?

Kết thúc bài

Checklist trước khi sang Ngày 2