Triển khai Môi trường Kubernetes 3 Node trong Môi trường Nội địa

Môi trường máy của tôi:

  • 10.2.22.103: k8s-master
  • 10.2.22.104: k8s-node1
  • 10.2.22.105: k8s-node2

Cấu hình mỗi máy Ubuntu: 2 CPU, 8GB RAM

Phiên bản hệ điều hành: 20.04

Điều kiện tiên quyết: Tắt swap

sed -ri 's/.*swap.*/#&/' /etc/fstab

Cấu hình nguồn mirror Alibaba:

sudo apt-get update
sudo apt-get install -y curl gnupg2 software-properties-common apt-transport-https ca-certificates

Thêm khóa GPG và repository Docker từ mirror Alibaba:

curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -
sudo add-apt-repository "deb [arch=amd64] https://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"

Thêm repository Kubernetes từ mirror Alibaba:

echo "deb https://mirrors.aliyun.com/kubernetes/apt/ kubernetes-xenial main" | sudo tee /etc/apt/sources.list.d/kubernetes.list
curl https://mirrors.aliyun.com/kubernetes/apt/doc/apt-key.gpg | sudo apt-key add -

Cập nhật danh sách gói và cài đặt Docker, kubelet, kubeadm, và kubectl:

sudo apt-get update
sudo apt-get install -y docker-ce=5:19.03.15~3-0~ubuntu-focal kubelet=1.22.1-00 kubeadm=1.22.1-00 kubectl=1.22.1-00

Khóa các phiên bản hiện tại để ngăn cập nhật tự động:

sudo apt-mark hold docker-ce kubelet kubeadm kubectl

Thay đổi cgroup driver cho Docker:

Tạo hoặc chỉnh sửa file /etc/docker/daemon.json và thêm nội dung sau:

{
  "exec-opts": ["native.cgroupdriver=systemd"]
}

Khởi động lại dịch vụ Docker và kubelet:

sudo systemctl daemon-reload
sudo systemctl restart docker
sudo systemctl restart kubelet

Trên máy chủ master (10.2.22.103), khởi tạo cụm Kubernetes:

sudo kubeadm init --pod-network-cidr=10.2.22.0/24 --apiserver-advertise-address=10.2.22.103 --image-repository registry.aliyuncs.com/google_containers --kubernetes-version=v1.22.17

Sao chép cấu hình Kubernetes đến thư mục người dùng hiện tại và thiết lập quyền:

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

Triển khai plugin mạng Flannel:

kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml

Nếu không tải được, hãy thử thay đổi tên miền thành địa chỉ IP hoặc tải tệp cấu hình lên máy chủ và áp dụng:

kubectl apply -f kube-flannel.yaml

Thêm node vào cụm trên máy 10.2.22.104 và 10.2.22.105:

kubeadm join 10.2.22.103:6443 --token mghrpj.dyh0ssr1f7uusk --discovery-token-ca-cert-hash sha256:d29ec34194da72fa95ab49964606e8e23e43fa09dc44f5c0f04652a0437f

Kiểm tra trạng thái cụm:

kubectl get nodes

Thẻ: Kubernetes docker flannel Ubuntu aliyun

Đăng vào ngày 7 tháng 6 lúc 23:34