上回书说到我们使用了kubeadm安装了k8s1.23.1,但是在k8s1.24之前还是使用docker作为容器运行时,所以这一节我打算将我安装的k8s集群升级为1.30.0版本;
1、修改containerd 配置
因为我们安装的docker自带containerd,所以我们不需要重新安装containerd,只需要修改containerd的配置即可
cd /etc/containerd && vim config.toml
因为k8s1.30.0需要的是pause3.9版本,所以我需要修改sandbox_image处;
以及修改SystemdCgroup 为true;
重启containerd;
systemctl restart containerd && systemctl status containerd
重启成功;
2、清空集群设置并卸载管理组件
kubeadm reset
yum erase -y kubelet kubectl kubeadm
3、修改配置yaml源
cat > /etc/yum.repos.d/kubernetes-new.repo <<EOF
[kubernetes]
name=Kubernetes
baseurl=https://mirrors.aliyun.com/kubernetes-new/core/stable/v1.30/rpm/
enabled=1
gpgcheck=0
gpgkey=https://mirrors.aliyun.com/kubernetes-new/core/stable/v1.30/rpm/repodata/repomd.xml.key
EOF
重新生成索引缓存;
yum makecache
4、安装k8s1.30.0版本
yum install -y kubelet-1.30.0 kubeadm-1.30.0 kubectl-1.30.0
5、kubeadm初始化k8s集群
生成配置:
kubeadm config print init-defaults > kubeadm.yaml && vim kubeadm.yaml
需要修改一下配置:
6、拉取镜像
将会拉取以下镜像,不用执行这一步也可以,初始化的时候会自动拉取镜像
kubeadm config images pull
拉取以后可以用命令看到这些镜像
7、初始化集群节点
kubeadm init --config=kubeadm.yaml --ignore-preflight-errors=SystemVerification
同样的创建配置文件并赋值;
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
执行以后就可以通过一下命令查看节点了;
7、加入工作节点
在master节点中执行一下语句可以得到加入集群的命令:
kubeadm token create --print-join-command
kubeadm join 192.168.136.130:6443 --token w4q5wa.0fqstmsnkuu6vozd --discovery-token-ca-cert-hash sha256:676d1f4b0bcd18b19fab77fb0f00f7f0a7df088239ffc68f52e42875af523986
在工作节点中这些该命令即可加入集群
此时从节点执行命令,会提示一下报错信息
解决方法为:将主节点的$HOME/.kube/config下文件传给从节点
此时再执行就不会报错;
如果工作节点是NOTREADY的状态,就需要安装网络插件
8、安装网络插件calio
上传calico.yaml文件:
百度网盘 请输入提取码
kubectl apply -f calico.yaml
执行以后pods状态变为Ready: