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

Ngày 1: Cài đặt môi trường luyện tập

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

Dựng lab Kubernetes an toàn với kubectl, context/namespace discipline, kiểm tra cluster health và cleanup reproducible.

đọ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

Dựng lab Kubernetes an toàn với kubectl, context/namespace discipline, kiểm tra cluster health và cleanup reproducible.

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

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

  • Cài Minikube hoặc Kind trên máy local
  • Cài kubectl và thiết lập autocomplete, alias k=kubectl
Instructor walkthrough

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

Scenario xuyên suốt

Người học cài kind/minikube nhưng chạy kubectl vào context cũ, tạo workload trong namespace default rồi không biết cluster nào đang bị thay đổi. Bài đầu xây safety contract cho toàn bộ CKA lab trước khi học control plane.

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ế
  • kubectl là client; context chọn cluster/user/namespace và sai context có thể gây blast radius lớn.
  • Kind/minikube phù hợp local practice nhưng khác kubeadm/production về topology, networking, storage và lifecycle.
  • Namespace là logical scope cho namespaced resources; node/cluster resources không bị namespace giới hạn.
  • Cluster health cần kiểm tra context, nodes, API reachability, versions và events; command exit 0 chưa chứng minh workload healthy.

Safety contract cho CKA lab

CKA không chỉ kiểm tra nhớ lệnh; sai context có thể làm bài sai hoặc phá cluster. Quy trình tối thiểu là context → namespace → target → mutation → expected state → cleanup. Ghi lại runtime/version vì kind/minikube không giống kubeadm/production.

Preflight

Kiểm tra current context, namespace, nodes, API readiness và resources trước khi tạo workload. Namespace chỉ scope namespaced resources; node/cluster object cần kiểm tra riêng. Khi debug, phân biệt API unreachable, node NotReady và workload chưa Ready.

Bài tập

Dựng cluster local, tạo namespace marker có owner label, chạy preflight và ghi output đã redacted. Cố ý chuyển sang một context khác trong file note (không mutation), giải thích rủi ro, rồi quay lại context lab và cleanup marker. Pass khi một người khác chạy runbook mà không cần đoán target.

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
kubectl config current-context
kubectl config view --minify --output="jsonpath={..namespace}{"\n"}"
kubectl get nodes -o wide
kubectl get --raw=/readyz?verbose
kubectl api-resources --verbs=list --namespaced -o name | head
Hands-on lab

Thực hành theo scenario

  1. Cài kubectl và kind hoặc minikube theo tài liệu chính thức; ghi phiên bản và runtime assumption. Nếu không có local runtime, dùng cluster sandbox và design evidence.
  2. Tạo context/namespace `cka-day1`, xác nhận `kubectl config current-context`, `kubectl config view --minify` và namespace trước mọi mutation.
  3. Chạy health preflight: nodes, namespaces, API resources, component/version signal; ghi expected state và anomaly.
  4. Tạo một marker ConfigMap trong namespace lab, verify ownership/context, rồi xóa namespace hoặc marker theo cleanup plan; tuyệt đối không đổi context production.
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:

  • kubectl và runtime hoạt động với version evidence.
  • Current context/namespace được xác nhận trước mutation.
  • Nodes/API/resources được kiểm tra và expected state ghi rõ.
  • Marker resource có label/owner và cleanup proof.
  • Không dùng production context/credential hoặc destructive wildcard.
Transfer to exam / production

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

CKA là bài terminal có áp lực thời gian. Trước thao tác, xác nhận context/namespace; sau thao tác, dùng get/describe/events để chứng minh state, không tin vào command success alone.

Checkpoint · 3 phút

Kiểm tra nhanh

Câu hỏi: Trước khi xóa một Pod trong bài CKA lab, kiểm tra nào quan trọng nhất?

Kết thúc bài

Checklist trước khi sang Ngày 2