Hướng dẫn setup kubernetes(k8s)
I. Cài đặt kubernetes
- Cấu hình vhost
# vi /etc/hosts/
192.168.1.111 k8s-master-1
192.168.1.112 k8s-master-2
192.168.1.113 k8s-master-3
- Cập nhật và nâng cấp hệ thống
# sudo apt update -y && sudo apt upgrade -y
- Tạo user riêng để chạy k8s
# adduser devk8s
# su devk8s
# cd /home/devk8s
- Tắt swap
# sudo swapoff -a
# sudo sed -i ‘/swap.img/s/^/#/’ /etc/fstab
- Cấu hình module kernel
# vi /etc/modules-load.d/containerd.conf
overlay
br_netfilter
- module kernel
# sudo modprobe overlay
# sudo modprobe br_netfilter
- Cấu hình hệ thống mạng
# echo “net.bridge.bridge-nf-call-ip6tables = 1” | sudo tee -a /etc/sysctl.d/kubernetes.conf
# echo “net.bridge.bridge-nf-call-iptables = 1” | sudo tee -a /etc/sysctl.d/kubernetes.conf
# echo “net.ipv4.ip_forward = 1” | sudo tee -a /etc/sysctl.d/kubernetes.conf
# sudo sysctl –system
- Cài đặt các gói cần thiết và thêm kho Docker
# 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”
- Cài đặt containerd
# sudo apt update -y
# sudo apt install -y containerd.io
Cấu hình containerd
# 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
Khởi động containerd
# sudo systemctl restart containerd
# sudo systemctl enable containerd
- Cài đặt Kubernetes
Thêm kho lưu trữ Kubernetes
# 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
Cài đặt các gói Kubernetes
# sudo apt update -y
# sudo apt install -y kubelet kubeadm kubectl
# sudo apt-mark hold kubelet kubeadm kubectl
II. Cấu hình mô hình master-workder
Thực hiện trên server master
# 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 apply -f https://raw.githubusercontent.com/projectcalico/calico/v3.25.0/manifests/calico.yaml
Khi chạy xong sẽ dòng lệnh để node john vào cụm k8s copy lệnh đó rồi chạy trên các node
# sudo kubeadm join 192.168.1.111:6443 –token your_token –discovery-token-ca-cert-hash your_sha
Sau khi các node john vào cụm k8s, vào server master chạy lệnh để kiểm tra nếu status ready thì đã john thành công.
# kubectl get node
III. Cấu hình mô hình master-master (worker-worker)
Thực hiện trên server k8s-master-1
# sudo kubeadm init –control-plane-endpoint “192.168.1.111:6443” –upload-certs
# mkdir -p $HOME/.kube
# sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
# sudo chown $(id -u):$(id -g) $HOME/.kube/config
# kubectl apply -f https://raw.githubusercontent.com/projectcalico/calico/v3.25.0/manifests/calico.yaml
Thực hiện trên server k8s-master-2 và k8s-master-3
# sudo kubeadm join 192.168.1.111:6443 –token your_token –discovery-token-ca-cert-hash your_sha –control-plane –certificate-key your_cert
# mkdir -p $HOME/.kube
# sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
# sudo chown $(id -u):$(id -g) $HOME/.kube/config
0 Bình luận