在CentOS上部署Kubernetes(k8s)集群的步驟大致可以分為以下幾個階段:
服務器硬件配置要求:
關閉防火墻:
systemctl stop firewalld
systemctl disable firewalld
關閉SELinux:
sed -i 's/enforcing/disabled/' /etc/selinux/config
reboot
關閉swap分區:
sed -ri 's/.*swap.*/#&/' /etc/fstab
reboot
主機名設置:
hostnamectl set-hostname
命令設置主機名。在master節點上添加hosts:
/etc/hosts
文件,添加集群中所有節點的IP地址和主機名。將橋接的IPv4流量傳遞到iptables的鏈:
/etc/sysctl.d/k8s.conf
文件,添加以下配置:net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
net.ipv4.ip_forward = 1
modprobe br_netfilter
sysctl --system
時間同步:
yum install ntpdate -y
ntpdate time.windows.com
開啟IPVS(可選):
yum -y install ipset ipvsadm
cat > /etc/sysconfig/modules/ipvs.modules << eof
modprobe -- ip_vs
modprobe -- ip_vs_rr
modprobe -- ip_vs_wrr
modprobe -- ip_vs_sh
modprobe -- nf_conntrack_ipv4
eof
chmod +x /etc/sysconfig/modules/ipvs.modules
bash /etc/sysconfig/modules/ipvs.modules && lsmod | grep -e ip_vs -e nf_conntrack_ipv4
初始化Master節點:
kubeadm init
命令初始化集群,并輸出加入Worker節點的命令。配置kubectl:
~/.kube
目錄并復制admin.conf
文件:mkdir -p $HOME/.kube
cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
添加Worker節點:
kubeadm join
命令,使用Master節點初始化時輸出的命令。部署CNI網絡插件(如Calico):
wget https://docs.projectcalico.org/manifests/calico.yaml
kubectl apply -f calico.yaml
驗證集群狀態:
kubectl get nodes
命令檢查所有節點是否正常運行。以上步驟是根據搜索結果綜合得出的,具體部署時可能需要根據實際情況進行調整。