Cài Đặt Kubernetes Trên Ubuntu Bằng Kubeadm

Giới Thiệu

Kubernetes là nền tảng mã nguồn mở phổ biến để quản lý container. Bài viết này hướng dẫn bạn cách thiết lập một cluster Kubernetes với 1 master node và 2 worker nodes trên Ubuntu bằng kubeadm.

1. Yêu Cầu Hệ Thống

Trước khi bắt đầu, đảm bảo bạn có:

  • Ba máy chủ Ubuntu 20.04 hoặc 22.04
  • Cấu hình mỗi máy: Ít nhất 2 vCPU, 4GB RAM
  • Quyền root hoặc sudo
  • Kết nối internet ổn định

2. Cấu Hình Trên Tất Cả Các Server

Cập Nhật Hệ Thống Và Thêm Người Dùng

sudo apt update -y && sudo apt upgrade -y
adduser devops
su devops
cd /home/devops

Cấu Hình Hostname

vi /etc/hosts

Thêm các dòng sau vào tất cả các server:

10.10.50.11 k8s-master-1
10.10.50.12 k8s-worker-1
10.10.50.13 k8s-worker-2

Tắt Swap

sudo swapoff -a
sudo sed -i '/swap.img/s/^/#/' /etc/fstab

Cấu Hình Kernel Modules

sudo tee /etc/modules-load.d/containerd.conf <<EOF
overlay
br_netfilter
EOF
sudo modprobe overlay
sudo modprobe br_netfilter
sudo tee /etc/sysctl.d/kubernetes.conf <<EOF
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
net.ipv4.ip_forward = 1
EOF
sudo sysctl --system

3. Cài Đặt Container Runtime (Containerd)

sudo apt install -y curl gnupg2 software-properties-common apt-transport-https ca-certificates
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmour -o /etc/apt/trusted.gpg.d/docker.gpg
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
sudo apt update -y
sudo apt install -y containerd.io
containerd config default | sudo tee /etc/containerd/config.toml >/dev/null 2>&1
sudo sed -i 's/SystemdCgroup \= false/SystemdCgroup \= true/g' /etc/containerd/config.toml
sudo systemctl restart containerd
sudo systemctl enable containerd

4. Cài Đặt Kubernetes (Kubeadm, Kubelet, Kubectl)

echo "deb [signed-by=/etc/apt/keyrings/kubernetes-apt-keyring.gpg] https://pkgs.k8s.io/core:/stable:/v1.30/deb/ /" | sudo tee /etc/apt/sources.list.d/kubernetes.list
curl -fsSL https://pkgs.k8s.io/core:/stable:/v1.30/deb/Release.key | sudo gpg --dearmor -o /etc/apt/keyrings/kubernetes-apt-keyring.gpg
sudo apt update -y
sudo apt install -y kubelet kubeadm kubectl
sudo apt-mark hold kubelet kubeadm kubectl

5. Khởi Tạo Cluster Kubernetes

Thực Hiện Trên Master Node

sudo kubeadm init
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
kubectl get nodes

6. Thêm Worker Nodes Vào Cluster

Thực Hiện Trên Worker Nodes

sudo kubeadm join 10.10.50.11:6443 --token h9s8d7.qwe456rty123uio --discovery-token-ca-cert-hash sha256:7f6d8a9c3b2e1f0d5c4a3b2e1d0f9e8d7c6b5a4d3c2b1a0f9e8d7c6b5a4d3c2b
kubectl get nodes

7. Kiểm Tra Cluster

Sau khi hoàn thành, kiểm tra trạng thái các node:

kubectl get nodes

8. Cài Đặt Mạng Pod

Kubernetes yêu cầu CNI (Container Network Interface) để kết nối các pod. Cài đặt Calico:

kubectl apply -f https://docs.projectcalico.org/manifests/calico.yaml

Kiểm tra trạng thái pod:

kubectl get pods -n kube-system

9. Kết Luận

Trong bài viết này, chúng ta đã:

  • Cài đặt Kubernetes trên Ubuntu bằng kubeadm
  • Cấu hình môi trường, cài đặt container runtime và kubelet
  • Khởi tạo cluster với 1 master node và 2 worker nodes
  • Cấu hình mạng Pod bằng Calico

Bây giờ bạn có thể bắt đầu triển khai ứng dụng trên Kubernetes.

Article Thumbnail
Article Thumbnail
Datadog Webinar: Modernize AWS Logs at Scale
Chia sẻ bài viết:
Theo dõi
Thông báo của
0 Góp ý
Được bỏ phiếu nhiều nhất
Mới nhất Cũ nhất
Phản hồi nội tuyến
Xem tất cả bình luận