-
一、安装docker所需的工具(安装最新版即可)
-
apt-get update apt-get install docker.io -y
-
设置开机启动并启动docker
-
sudo systemctl start docker sudo systemctl enable docker
-
cgroup使用systemd
-
{ "exec-opts": ["native.cgroupdriver=systemd"] }
-
重启docker
systemctl restart docker
-
二、禁用交换分区
-
(在旧版的 k8s 中 kubelet 都要求关闭 swapoff ,但最新版的 kubelet 其实已经支持 swap ,因此这一步其实可以不做。)
-
swapoff -a
-
永久禁用,打开/etc/fstab注释掉swap那一行。
sudo vim /etc/fstab
-
三、修改内核参数
-
(首先确认你的系统已经加载了 br_netfilter 模块,默认是没有该模块的,需要你先安装 bridge-utils)
-
apt-get install -y bridge-utils modprobe br_netfilter lsmod | grep br_netfilter
-
如果报错找不到包,需要先更新 apt-get update -y
-
四、hostnamectl修改命名
sudo hostnamectl set-hostname <newhostname>
-
五、安装与配置k8s
安装 kubelet kubeadm kubectl(master上执行)
-
安装基础环境
-
apt-get install -y ca-certificates curl software-properties-common apt-transport-https curl curl -s https://mirrors.aliyun.com/kubernetes/apt/doc/apt-key.gpg | sudo apt-key add -
-
执行配置k8s阿里云源
vim /etc/apt/sources.list.d/kubernetes.list
-
#加入以下内容 deb https://mirrors.aliyun.com/kubernetes/apt/ kubernetes-xenial main
-
执行更新
apt-get update -y
-
安装kubeadm、kubectl、kubelet
apt-get install -y kubelet=1.23.5-00 kubeadm=1.23.5-00 kubectl=1.23.5-00
-
阻止自动更新(apt upgrade时忽略)。所以更新的时候先unhold,更新完再hold。
apt-mark hold kubelet kubeadm kubectl
-
kubeadm join 172.31.186.200:6443 --token fmty0x.5v15q0m9nzwd8lcy --discovery-token-ca-cert-hash sha256:604205e4fd92840baa05977e1770cefcd45ebae251761d94144572f66b1f4e1d
-
六、部署网络插件(master机器上)
-
kubectl apply -f https://docs.projectcalico.org/v3.21/manifests/calico.yaml
-
安装完成后需要等待k8s重新拉起节点
-
七、完成
-
kubectl get nodes
-
稍等片刻,即可看到节点已为Ready状态