执行以下三个脚本

https://zhengyu1992.cn/file/install/uennew.sh

https://zhengyu1992.cn/file/install/0-containerd-install.sh

https://zhengyu1992.cn/file/install/1-k8s-init.sh

https://zhengyu1992.cn/file/install/2-k8s-install.sh

下载kubeadm-config.yaml模板

wget https://zhengyu1992.cn/file/deploy/kubeadm/1.28.2/kubeadm-config.yaml

编辑如下

apiVersion: kubeadm.k8s.io/v1beta3
kind: ClusterConfiguration
kubernetesVersion: v1.28.2
controlPlaneEndpoint: 10.10.21.100:8443
imageRepository: registry.aliyuncs.com/google_containers
apiServer:
 certSANs:
 - 10.10.21.100
 - 10.10.21.110
 - 10.10.21.111
 - 10.10.21.112
 - 10.10.21.113
 - 10.10.21.114
 - 10.10.21.115
networking:
  podSubnet: 10.244.0.0/16
  serviceSubnet: 10.96.0.0/12

查看初始化所需要的镜像,可以提前拉入自己的harbor,修改imageRepository字段即可

kubeadm config images list --config=kubeadm-config.yaml

确认master能够拉取以上全部镜像后执行初始化

kubeadm init --config kubeadm-config.yaml

部署网络插件kube-flannel.yml

kubectl create -f https://zhengyu1992.cn/file/deploy/kubeadm/flannel-1.1.2.yaml

在主机上拷贝kubeconfig文件

mkdir -p ~/.kube/
cp /etc/kubernetes/admin.conf /root/.kube/config

查看所有pod的状态

查看node状态

修改kube-proxy的模式iptables为ipvs

kubectl -n kube-system edit cm kube-proxy

将图中ipvs空值改为ipvs