cai-dat-microk8s-tren-debian
|

Cài đặt MicroK8s trên Debian

MicroK8s – một bản phân phối Kubernetes cực kỳ nhẹ thông qua Snap trên Debian 12. Bài viết này mình chia sẻ cách cài đặt và cấu hình một cluster MicroK8s trên Debian 12.

1. Chuẩn bị

  • Debian 12 (Bookworm) LTS
  • VPS, VM, hoặc máy chủ vật lý (bare-metal)
  • Cấu hình tối thiểu: 2 vCPU, 4 GB RAM

2. Cập nhật và chuẩn bị hệ thống

sudo apt update && sudo apt full-upgrade -y
sudo reboot

Kết nối lại máy chủ sau khi khởi động. Cài đặt các công cụ cần thiết:

sudo apt install -y \
  curl wget git vim htop neofetch \
  apt-transport-https ca-certificates gnupg lsb-release

Hệ thống đã được cập nhật và sẵn sàng để cài đặt Kubernetes.

3. Tạo tài khoản

Kubernetes không nên chạy với quyền người dùng root. Chúng ta sẽ tạo một tài khoản.

sudo adduser deploy
sudo usermod -aG sudo deploy
echo "deploy ALL=(ALL) NOPASSWD: ALL" | sudo tee /etc/sudoers.d/deploy
sudo chmod 440 /etc/sudoers.d/deploy
su - deploy

4. Tắt Swap

sudo swapoff -a
sudo sed -i '/\sswap\s/s/^/#/' /etc/fstab
free -h

Bộ nhớ Swap cần được hiển thị là 0B (đã tắt).

5. Cấu hình Kernel Modules & Mạng

sudo tee /etc/modules-load.d/k8s.conf <<EOF
br_netfilter
EOF

sudo modprobe br_netfilter

sudo tee /etc/sysctl.d/99-k8s.conf <<EOF
net.bridge.bridge-nf-call-iptables = 1
net.bridge.bridge-nf-call-ip6tables = 1
net.ipv4.ip_forward = 1
EOF

sudo sysctl --system
sysctl net.ipv4.ip_forward

6. Cài đặt snapd

MicroK8s được phân phối thông qua gói cài đặt Snap.

sudo apt install -y snapd
sudo systemctl enable --now snapd
sudo systemctl enable --now snapd.socket

Kiểm tra xem snap đã được cài đặt thành công:

snap version

7. Cài đặt MicroK8s phiên bản mới nhất

sudo snap install microk8s --classic

Bạn có thể tuỳ chỉnh và thay đổi channel để lựa chọn phiên bản ổn định (stable) mong muốn.

8. Cấp quyền tài khoản deploy vào nhóm của MicroK8s

sudo usermod -aG microk8s $USER
sudo chown -f -R $USER ~/.kube

Quan trọng: Hãy đăng xuất và đăng nhập lại, hoặc sử dụng lệnh sau để tải lại nhóm người dùng:

newgrp microk8s

9. Kích hoạt các Addons

MicroK8s mặc định hỗ trợ các addons rất hữu ích:

microk8s status --wait-ready
microk8s enable dns storage ingress metrics-server
  • dns — dùng để service discovery.
  • storage — dùng để tự động tạo persistent volumes.
  • ingress — NGINX Ingress Controller.
  • metrics-server — phân tích, quản lý node & pod metrics.

10. Thiết lập lệnh

MicroK8s đã tích hợp sẵn phiên bản kubectl riêng của nó. Thay vì phải gõ microk8s.kubectl, bạn có thể tạo alias:

sudo snap alias microk8s.kubectl kubectl

Tuỳ chọn bổ sung: Export cấu hình kubeconfig phục vụ cho scripts/CI:

mkdir -p $HOME/.kube
microk8s config > $HOME/.kube/config
chmod 600 $HOME/.kube/config
export KUBECONFIG=$HOME/.kube/config
echo 'export KUBECONFIG=$HOME/.kube/config' >> ~/.bashrc
source ~/.bashrc

11. Cấu hình điều khiển từ xa

microk8s config > kubeconfig.yaml
scp kubeconfig.yaml user@localmachine:~/.kube/config

Chỉnh sửa địa chỉ IP server trong file nếu cần truy cập từ bên ngoài mạng lưới nội bộ.

12. Thêm Worker Nodes

microk8s add-node

Làm theo hướng dẫn được xuất ra trên console đối với các node worker. Bạn có thể kiểm tra các node được thêm vào bằng cách chạy:

kubectl get nodes

13. Kiểm tra tình trạng hoạt động của Cluster

microk8s status --wait-ready
kubectl get nodes
kubectl get pods -A
kubectl cluster-info

Sau khi chạy xong, tất cả các pod trong kube-system phải ở trạng thái Running (Hoạt động).

14. Tổng kết

Qua bài viết này chúng ta đã học được:

  • Cách cài đặt MicroK8s qua Snap trên Debian 12
  • Cấu hình user deploy với quyền truy cập microk8s
  • Cấu hình Kernel & networking cho Kubernetes
  • Tắt Swap, bật core addons
  • Kích hoạt kubectl cho non-root user
  • Sẵn sàng để triển khai n8n, Postgres, Redis, v.v.

Bài viết liên quan

Subscribe
Notify of
guest
0 Góp ý
Oldest
Newest Most Voted
Inline Feedbacks
View all comments