上回书说到我们使用了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

执行以后就可以通过一下命令查看节点了; 

 8、加入工作节点

在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下文件传给从节点

 此时再执行就不会报错;

 

 kubectl label nodes k8snode1 node-role.kubernetes.io/work=work

 给从节点打上work的标签;

 

如果工作节点是NOTREADY的状态,就需要安装网络插件 

 8、安装网络插件calio

上传calico.yaml文件:

百度网盘 请输入提取码

 kubectl apply -f  calico.yaml

执行以后pods状态变为Ready: 

 

 

 

Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐