P
Cloud Blog ProAWS Blog · Cộng đồng VN
CKA Onboarding: Chọn Playground, Tools và Setup Minikube để bắt đầu lab Kubernetes

CKA Onboarding: Chọn Playground, Tools và Setup Minikube để bắt đầu lab Kubernetes

Phong Nguyen VanPhong Nguyen Van··9 phút đọc·131 lượt xem

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


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.

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 kubectl và 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 YAML
  • curl: tải binary
  • git: (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! 💪

Quay lại trang chủ

Bình luận