
CKA Onboarding: Chọn Playground, Tools và Setup Minikube để bắt đầu lab Kubernetes
1. Giới thiệu
Bài viết này nhằm giúp bạn onboard vào hành trình học CKA một cách nhanh chóng và hiệu quả. Chúng ta sẽ cùng nhau:
- Hiểu các lựa chọn môi trường thực hành Kubernetes
- So sánh Playground vs Local Cluster
- Và setup Minikube để bắt đầu lab thực tế
2. Playground – Bắt đầu nhanh, không cần setup
Playground là cách nhanh nhất để bạn bắt đầu thực hành Kubernetes ngay lập tức mà không cần cài đặt gì.
Ưu điểm
- Không cần setup môi trường
- Có sẵn cluster Kubernetes
- Phù hợp để thử nhanh command, làm quen kubectl
Một số playground phổ biến
- Killercoda (Highly recommended)
Có guided labs + free practice scenarios rất phù hợp cho người mới
Link: https://killercoda.com/

- Play with Kubernetes (PWK)
Lightweight, dễ dùng, phù hợp để test nhanh
Link: https://labs.play-with-k8s.com/

- KodeKloud Playground
- Môi trường lab ổn định, thường đi kèm course
- Full VM + cluster thật
- Có thể SSH, cài thêm tool
- Cần account (free có giới hạn)
- Link: https://kodekloud.com/public-playgrounds

- Katacoda (legacy)
- Hiện đã chuyển sang Killercoda
- Nếu thấy tutorial Katacoda → dùng Killercoda thay thế
- Google Kubernetes Engine (GKE)
- Dùng để simulate production-like environment
- Free trial ~$300
- Không phải playground thuần (cần tự tạo cluster) Link: https://shell.cloud.google.com/ https://docs.cloud.google.com/kubernetes-engine/docs/deploy-app-cluster
- Kubernetes Official Interactive Tutorial Phù hợp để hiểu concept cơ bản. Link: https://kubernetes.io/docs/tutorials/kubernetes-basics/
Hạn chế của Playground
- Session time giới hạn (thường 1–2 giờ)
- Môi trường không persistent (Điều này rất quan trọng, bạn cần giữ lại trạng thái nếu như cần tắt máy và quay lại làm tiếp)
- Không simulate đầy đủ như môi trường thi CKA
3. Local Cluster – Bước tiếp theo để luyện CKA
Để luyện thi CKA hiệu quả, bạn nên có một môi trường lab riêng.
Vì sao cần Local Cluster?
- Chủ động thời gian (không bị timeout)
- Practice liên tục, không mất state
- Gần với môi trường thi thực tế hơn
Các tools phổ biến
- Minikube
- Docker Desktop + Kind
- K3s
- kubeadm
Vì sao chọn Minikube?
Trong bài guide này, mình sẽ chọn Minikube vì:
- Setup đơn giản, dễ tiếp cận cho người mới
- Chạy local nhanh, ít config phức tạp
- Có thể simulate multi-node (phục vụ luyện thi CKA)
- Community lớn, tài liệu nhiều
4. Setup Minikube (Step-by-step)
Trong phần này, chúng ta sẽ setup một Kubernetes cluster local bằng Minikube để bắt đầu practice.
4.1. Chuẩn bị môi trường
Minikube hỗ trợ nhiều driver để chạy cluster, ví dụ:
- VM (VirtualBox, VMware…)
- Container (Docker, Podman…)
👉 Để đơn giản và dễ tiếp cận nhất, trong bài này mình sẽ sử dụng Docker driver.
4.2. Cài đặt Docker
Để chạy được Minikube với Docker driver, bạn cần cài Docker trước.
- Với Windows: sử dụng Docker Desktop 👉 Xem hướng dẫn cài đặt tại đây: https://docs.docker.com/desktop/setup/install/windows-install/
- Với macOS / Linux: cài Docker Engine theo OS của bạn
Kiểm tra Docker đã hoạt động
docker version
docker ps
4.3. Cài đặt Minikube
Cài Minikube theo hệ điều hành: https://minikube.sigs.k8s.io/docs/start/?arch=%2Fwindows%2Fx86-64%2Fstable%2F.exe+download
macOS (brew):;
curl -LO https://github.com/kubernetes/minikube/releases/latest/download/minikube-darwin-amd64
sudo install minikube-darwin-amd64 /usr/local/bin/minikube
Linux:
curl -LO https://github.com/kubernetes/minikube/releases/latest/download/minikube-linux-amd64
sudo install minikube-linux-amd64 /usr/local/bin/minikube && rm minikube-linux-amd64
Windows:
Download binary từ trang chính thức của Minikube và cài đặt
Kiểm tra Minikube
minikube version

4.4. Khởi tạo Kubernetes cluster
Chạy lệnh sau để start cluster:
minikube start --nodes 1 --driver=docker --cni=calico --memory=4096 --cpus=2
Lần đầu chạy có thể mất vài phút do cần pull image.
✅ Option tốt nhất cho bạn
🔹 Option 1 — ổn định nhất (khuyên dùng)
minikube start --nodes 1 --driver=docker --cni=calico --memory=4096 --cpus=2
✔ Nhẹ, mượt ✔ Đủ học ~90% nội dung CKA:
- Pod, Deployment, Service
- ConfigMap, Secret
- Volume
- Troubleshooting
👉 Đây là setup phổ biến nhất cho CKA learners
🔹 Option 2 — cần multi-node (practice scheduling)
minikube start --nodes 2 --driver=docker --cni=calico --memory=3072 --cpus=2
✔ Có thể học:
- Scheduling
- Node affinity / taints
- HA basic
⚠️ Tổng RAM ~6GB → vẫn OK cho máy 16GB
🔹 Option 3 — vẫn muốn 3 nodes (⚠️ giới hạn)
minikube start --nodes 3 --driver=docker --cni=calico --memory=8192 --cpus=4
⚠️ Tổng RAM ~6GB nhưng:
- Dễ bị lag
- Calico có thể không ổn
- Không chạy được workload nặng
👉 Chỉ nên dùng khi cần test multi-node cụ thể
4.5. Kiểm tra cluster hoạt động
kubectl get nodes
👉 Kết quả mong đợi:
4.6. Một số command cơ bản để bắt đầu practice
Tạo Pod đơn giản
kubectl run nginx --image=nginx
Kiểm tra Pod
kubectl get pods
Expose Pod thành Service
kubectl expose pod nginx --port=80 --type=NodePort
Truy cập service
minikube service nginx
Làm các bài lab tương tự CKA exam
4.7. Thao tác với cluster trên Windows theo hướng tiệm cận môi trường thi
Khi làm việc với Kubernetes cluster trên Windows (ví dụ Minikube với Docker driver), bạn có nhiều cách để tương tác với cluster. Tuy nhiên, không phải cách nào cũng mang lại trải nghiệm giống với môi trường thi (CKA/CKAD), vốn sử dụng Linux terminal.
Các lựa chọn thao tác với cluster
1. Sử dụng Command Prompt / PowerShell (Windows)
Bạn có thể sử dụng kubectl trực tiếp trong Command Prompt hoặc PowerShell để quản lý cluster.
Ưu điểm:
- Không cần cài đặt thêm môi trường
- Dễ tiếp cận với người mới
Hạn chế:
- Không giống môi trường thi (Linux shell)
- Một số thao tác (vim, bash scripting, autocomplete) không đầy đủ hoặc khác biệt
2. Sử dụng WSL với Ubuntu (Khuyến nghị) Cài đặt thêm một Linux distribution như Ubuntu thông qua WSL2 sẽ giúp bạn có môi trường làm việc gần giống Linux thực tế.
Ưu điểm:
- Cung cấp đầy đủ công cụ Linux (bash, vim, curl, …)
- Hỗ trợ tốt cho việc luyện thi CKA/CKAD
- Tương thích hoàn toàn với
kubectlvà workflow Kubernetes chuẩn
Sau khi cài đặt, bạn có thể truy cập Ubuntu trực tiếp từ Windows và thao tác với cluster như trên một máy Linux thực thụ.
Để cài đặt thì bạn chỉ cần mở PowerShell với quyền Administrator và chạy:
wsl --install -d Ubuntu
Sau khi hoàn tất, bạn hãy đảm bảo rằng ở Docker-desktop đã enable option này
Sau đó khởi động lại máy và mở ứng dụng Ubuntu từ Start Menu. Lần đầu chạy, bạn sẽ được yêu cầu tạo username và password.
Trong terminal Ubuntu:
sudo apt update && sudo apt upgrade -y
Cài đặt các công cụ cơ bản
sudo apt install -y vim curl git
vim: soạn thảo YAMLcurl: tải binarygit: (tuỳ chọn) quản lý source

Cài đặt kubectl
Tải phiên bản stable mới nhất:
curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl"
Cấp quyền và di chuyển vào PATH:
chmod +x kubectl
sudo mv kubectl /usr/local/bin/
Kiểm tra:
kubectl version --client
Kết nối kubectl với Minikube (từ Windows)
Copy kubeconfig từ Windows sang WSL:
mkdir -p ~/.kube
cp /mnt/c/Users/<your-username>/.kube/config ~/.kube/
Thay
<your-username>bằng username Windows của bạn.
Tiếp đến bạn cần edit file configs để trỏ đúng path
- cluster:
certificate-authority: C:\Users\admin\.minikube\ca.crt
..
name: minikube
user:
client-certificate: C:\Users\admin\.minikube\profiles\minikube\client.crt
client-key: C:\Users\admin\.minikube\profiles\minikube\client.key
sửa thành
- cluster:
certificate-authority: /mnt/c/Users/admin/.minikube/ca.crt
....
name: minikube
user:
client-certificate: /mnt/c/Users/admin/.minikube/profiles/minikube/client.crt
client-key: /mnt/c/Users/admin/.minikube/profiles/minikube/client.key
Full command
nvphong@DESKTOP-7F20G7R:~$ vi ~/.kube/config
nvphong@DESKTOP-7F20G7R:~$ cat ~/.kube/config | grep 'certificate-authority\|client-certificate\|client-key'

Kiểm tra kết nối:
Bật kubectl autocompletion
Bật tạm thời:
source <(kubectl completion bash)
Bật vĩnh viễn:
echo "source <(kubectl completion bash)" >> ~/.bashrc
Nếu bạn dùng alias k=kubectl, thêm:
echo "alias k=kubectl" >> ~/.bashrc
echo "complete -o default -F __start_kubectl k" >> ~/.bashrc
Reload:
source ~/.bashrc

Kiểm tra toàn bộ môi trường
kubectl get nodes
kubectl get pods -A
Nếu cluster đang chạy, bạn sẽ thấy node minikube ở trạng thái Ready
4.8. Cleanup (tuỳ chọn)
Nếu bạn chỉ muốn tạm dừng (stop) cluster
minikube stop
Bật lại cluster sau khi stop
minikube start
---
Xoá cluster khi không dùng nữa, lưu ý: sẽ xoá toàn bộ Kubernetes cluster local
Mất hết:
- Pods
- Deployments
- Services
- ConfigMap / Secret
- etcd data (toàn bộ state)
minikube delete
5. Tổng kết
Như vậy, chúng ta đã có cái nhìn tổng quan về các lựa chọn môi trường để bắt đầu hành trình học CKA.
- Playground là lựa chọn lý tưởng để làm quen nhanh với Kubernetes và các command cơ bản
- Tuy nhiên, để luyện thi CKA một cách hiệu quả và sát với thực tế, bạn nên có một local cluster riêng
- Trong đó, Minikube là giải pháp phù hợp nhất để bắt đầu nhờ tính đơn giản và dễ tiếp cận
👉 Khuyến nghị:
- Bắt đầu với Playground để nắm nền tảng
- Sau đó chuyển sang Minikube để luyện tập chuyên sâu và build “muscle memory”
Như vậy, bạn đã nắm được toàn bộ những gì cần chuẩn bị cho quá trình CKA Onboarding. Trong thời gian tới, team mình sẽ bắt đầu khóa học CKA — bạn có thể tham khảo thêm thông tin tại đây: https://cloudmentor.pro/courses/cka
Chúc các bạn học tập hiệu quả và sớm chinh phục được chứng chỉ CKA! 💪