安装软件包
[root@k8smaster2 ~]# yum install -y kubelet-1.27.0 kubeadm-1.27.0 kubectl-1.27.0
生成初始化配置文件
[root@k8smaster1 ~]# kubeadm config print init-defaults > kubeadm.yaml
修改初始化文件
添加ipvs启动插件
apiVersion: kubeproxy.config.k8s.io/v1alpha1
kind: KubeProxyConfiguration
mode: ipvs
添加systemd驱动启动插件
apiVersion: kubelet.config.k8s.io/v1beta1
kind: KubeletConfiguration
cgroupDriver: systemd
依据kubeadm.yaml生成控制节点
[root@k8smaster1 ~]# kubeadm init --cnotallow=kubeadm.yaml --ignore-preflight-errors=SystemVerification
扩容工作节点
控制节点生成token
[root@k8smaster1 ~]# kubeadm token create --print-join-command
工作节点执行
[root@k8snode2 ~]# kubeadm join 192.168.1.170:6443 --token a3sf7g.8603u3v78bg70a3n --discovery-token-ca-cert-hash sha256:cc5984c2aa8ff3715f8dedd61bef7669cebd27a54299e4d9cc2576d6e1783320 --ignore-preflight-errors=SystemVerification
修改工作节点label
[root@k8smaster1 ~]# kubectl label nodes k8snode1 node-role.kubernetes.io/work=work
引入calico网络插件
[root@k8smaster1 ~]# ctr -n k8s.io images import calico.tar.gz
[root@k8snode1 ~]# ctr -n k8s.io images import calico.tar.gz
[root@k8snode2 ~]# ctr -n k8s.io images import calico.tar.gz
修改calico.yaml
[root@k8smaster1 ~]# kubectl apply -f calico.yaml
测试网络连接
[root@k8smaster1 ~]# ctr -n k8s.io images import busybox-1-28.tar.gz
[root@k8smaster1 ~]# kubectl run busybox --image docker.io/library/busybox --image-pull-policy=IfNotPresent --restart=Never --rm -it busybox -- /bin/sh