ubuntu加入k8s

一、安装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状态

posted @ 2022-11-08 18:14  E·r  阅读(41)  评论(0编辑  收藏  举报