1、准备工作(在node节点上操作)
1.关闭防火墙
systemctl stop firewalld
systemctl disable firewalld
2.关闭selinux
sed -i 's/enforcing/disabled/' /etc/selinux/config # 永久
setenforce 0 # 临时
3.关闭swap
swapoff -a # 临时 永久关闭需要重启,建议先临时关闭和永久关闭都执行一遍
sed -ri 's/.*swap.*/#&/' /etc/fstab # 永久
4.设置host_name
hostnamectl set-hostname node_name
5.跟master同步时间
apt-get install ntpdate -y
ntpdate time.windows.com
6.修改hosts
127.0.0.1 localhost
127.0.1.1 worker_name
10.168.1.254 master_name
2、安装Docker、kubelet、kubeadm(查看master节点版本,尽量保持一致)
# 安装docker
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"
sudo apt-get update
# 查看支持的版本
sudo apt-get install docker-ce=5:19.03.5~3-0~ubuntu-bionic docker-ce-cli=5:19.03.5~3-0~ubuntu-bionic containerd.io
# 安装完docker修改源
vim /etc/docker/deamon.json
# 安装kubernetes组件Kubectl, kubeadm & kubelet
curl https://mirrors.aliyun.com/kubernetes/apt/doc/apt-key.gpg | sudo apt-key add -
sudo apt-add-repository "deb https://mirrors.aliyun.com/kubernetes/apt/ kubernetes-xenial main"
apt update
# 安装指定版本
apt install -y kubelet=1.26.1-00 kubeadm=1.26.1-00 kubectl=1.26.1-00
3、生成token并加入master节点
# 在master节点运行
kubeadm token create --ttl 0 --print-join-command
# 生成一个永不过时的token并且输出加入命令
# 在node节点执行下面命令加入k8s
kubeadm join cluster-endpoint:6443 --token iyiiys.3109zan43zt63n94 --discovery-token-ca-cert-hash sha256:3076a410556a1fe2252b7f9fc8a632f696cfe9924db6abb66c7c45e4adfb163c
# 卡在[preflight] Running pre-flight checks可能是hosts没有修改