K3s là một phiên bản nhẹ của Kubernetes, lý tưởng cho các môi trường phát triển nhỏ hoặc thiết bị IoT. Bài viết này mình chia sẻ với anh em Homelab cài đặt một cluster Kubernetes đơn giản sử dụng K3s.
1. Yêu cầu chuẩn bị
Để thực hiện anh em cần có một máy tính cá nhân mạnh mạnh một chút hoặc một con server Homelab như Raspberry pi 5, Zimaboard…
Kiến trúc của k3s hỗ trợ đa nền tảng có thể kể đến như:
- x86_64
- armhf
- arm64/aarch64
- s390x
Phần cứng yêu cầu tối thiểu:
- CPU: 1 core
- RAM: 512 MB
2. Cài đặt K3s
Trong bài viết này mình cài trên máy chủ Homelab Raspberry pi 5. Để cài đặt anh em chạy câu lệnh sau:
curl -sfL https://get.k3s.io | sh -
sudo snap install helm --classic
Trong đó:
- curl là lệnh tải scripts k3s và tự động cài
- snapcraft để cài helm nếu anh em triển khai ứng dụng cần đến Helm. Anh em có thể tải nó trực tiếp trên trang chủ của Helm.
Lệnh này sẽ tải và cài đặt K3s tự động. Quá trình cài đặt sẽ bao gồm cả các thành phần cần thiết như kubectl
.
3. Lấy file cấu hình kubernetes
Để truy cập vào K3s anh cần lấy file cấu hình của kubernetes
sudo cp /etc/rancher/k3s/k3s.yaml ~/.kube/config
LƯU Ý: Hành động này sẽ ghi đè lên file config cùng tên hiện tại. Anh em nên backup file cấu hình kubernetes trước đó để cho an toàn.
Để đảm bảo user của bạn truy cập được file config này, chạy lệnh sau để cấp quyền
sudo chown $USER: ~/.kube/config
Sau khi mọi thứ đã hoàn thành chúng ta truy cập vào K3s
sudo k3s kubectl get nodes
sudo k3s kubectl get pods --all-namespaces
Máy cá nhân muốn truy cập K3s anh em tải file config này về và bỏ vào thư mục ~/.kube/
4. Quản lí K3s
Một số câu lệnh quản lí K3s
sudo systemctl stop k3s
sudo systemctl start k3s
sudo systemctl restart k3s
5. Kết nối Multi-Node Cluster K3s
K3s hỗ trợ nhiều Node Cluster để kết nối anh em dùng K3S_TOKEN trên master node. Để lấy token dùng câu lệnh sau:
sudo cat /var/lib/rancher/k3s/server/node-token
Sau đó trên các Worker Node chạy câu lệnh sau để kết nối vào Master Node
curl -sfL https://get.k3s.io | K3S_URL=https://MASTER_IP:6443 K3S_TOKEN=NODE_TOKEN sh -
Sau khi hoàn thành kiểm tra lại trên Master Node
kubectl get nodes
6. Lời kết
Trên đây là toàn bộ quá trình sử dụng Homelab cài đặt một cluster Kubernetes đơn giản sử dụng K3s. Ngoài ra, anh em có thể tham khảo các ứng dụng khác tương tự như: Microk8s, Minikube, Kubeadm.
Chúc anh em thành công!
7. Các nguồn tham khảo
Bài viết mình sử dụng các nguồn tham khảo bên dưới. Anh em có thể đọc thêm
K3s siêu nhẹ.
Fan k3s ạ