Hướng dẫn Cài đặt Kubernetes (K8s) và KubeSphere từ A-Z
Xin chào các bạn! Hôm nay mình sẽ hướng dẫn các bạn cài đặt Kubernetes (K8s) và KubeSphere từ A-Z nhé.
Yêu cầu hệ thống
Trước khi bắt đầu, hãy đảm bảo máy của bạn đáp ứng các yêu cầu sau:
Hệ điều hành: Ubuntu
RAM: tối thiểu 4GB
CPU: 2 cores trở lên
Các node đã được cài đặt SSH
- Chuẩn bị môi trường
1.1. Cập nhật hệ thống
sudo apt update
sudo apt upgrade -y
1.2. Tắt swap
sudo swapoff -a
sudo sed -i '/ swap / s/^(.*)$/#\1/g' /etc/fstab
- Cài đặt Docker
2.1. Cài đặt các gói cần thiết
sudo apt install -y apt-transport-https ca-certificates curl software-properties-common
2.2. Thêm Docker repository
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
echo "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list
2.3. Cài đặt Docker
sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io
2.4. Cấu hình containerd
sudo mkdir -p /etc/containerd
containerd config default | sudo tee /etc/containerd/config.toml
sudo sed -i 's/SystemdCgroup = false/SystemdCgroup = true/g' /etc/containerd/config.toml
sudo systemctl restart containerd
- Cài đặt Kubernetes
3.1. Thêm Kubernetes repository
curl -fsSL https://pkgs.k8s.io/core:/stable:/v1.28/deb/Release.key | sudo gpg --dearmor -o /etc/apt/keyrings/kubernetes-apt-keyring.gpg
echo 'deb [signed-by=/etc/apt/keyrings/kubernetes-apt-keyring.gpg] https://pkgs.k8s.io/core:/stable:/v1.28/deb/ /' | sudo tee /etc/apt/sources.list.d/kubernetes.list
3.2. Cài đặt các công cụ Kubernetes
sudo apt update
sudo apt install -y kubelet kubeadm kubectl
sudo apt-mark hold kubelet kubeadm kubectl
3.3. Cấu hình network
Load module
sudo modprobe br_netfilter
Cấu hình sysctl
cat <<EOF | sudo tee /etc/sysctl.d/k8s.conf
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
net.ipv4.ip_forward = 1
EOF
sudo sysctl --system
3.4. Khởi tạo Kubernetes cluster
sudo kubeadm init --pod-network-cidr=10.244.0.0/16
3.5. Cấu hình kubectl
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
3.6. Cài đặt CNI (Flannel)
kubectl apply -f https://raw.githubusercontent.com/flannel-io/flannel/master/Documentation/kube-flannel.yml
- Cài đặt KubeSphere
4.1. Cài đặt Helm
curl https://baltocdn.com/helm/signing.asc | gpg --dearmor | sudo tee /usr/share/keyrings/helm.gpg > /dev/null
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/helm.gpg] https://baltocdn.com/helm/stable/debian/ all main" | sudo tee /etc/apt/sources.list.d/helm-stable-debian.list
sudo apt-get update
sudo apt-get install helm
4.2. Thêm KubeSphere repository
helm repo add kubesphere https://charts.kubesphere.io/main
helm repo update
4.3. Cài đặt KubeSphere
kubectl create namespace kubesphere-system
helm upgrade --install -n kubesphere-system --create-namespace ks-core https://charts.kubesphere.io/main/ks-core-1.1.2.tgz --debug --wait
- Kiểm tra cài đặt
Kiểm tra nodes
kubectl get nodes
Kiểm tra pods
kubectl get pods --all-namespaces
Kiểm tra KubeSphere
kubectl get pods -n kubesphere-system
Một số lưu ý quan trọng
Đảm bảo tất cả các pods đều trong trạng thái Running
Nếu gặp lỗi, kiểm tra logs bằng lệnh: kubectl logs -n <namespace> <pod-name>
Đối với worker nodes, sử dụng lệnh join được cung cấp sau khi chạy kubeadm init
Nếu gặp vấn đề trong quá trình cài đặt, có thể comment bên dưới để được hỗ trợ
Kết luận
Với hướng dẫn này, các bạn đã có thể cài đặt thành công một cụm Kubernetes cùng với KubeSphere UI để quản lý. Hy vọng bài viết hữu ích cho các bạn!