0
点赞
收藏
分享

微信扫一扫

kubernetes 1.24.8版本升级到1.25.3版本

small_Sun 2022-11-28 阅读 118

K8s集群版本升级

升级步骤:
升级主管理节点→升级其他管理节点→升级工作节点

升级步骤:

先确认升级的版本是否是稳定版本

升级主管理节点→升级其他管理节点→升级工作节点

​首先备份主管理节点的etcd,检查版本号,为了保证版本的兼容性,跨度最好不要超过两个版本

1.查看k8s集群版本

[root@master ~]# kubectl get nodes
NAME STATUS ROLES AGE VERSION
master Ready control-plane 5d18h v1.24.8
node1 Ready work 5d18h v1.24.8

2.查找可更新版本号

[root@master ~]# yum list --showduplicates kubelet kubeadm kubectl --disableexcludes=kubernetes | grep 1.25
kubeadm.x86_64 1.25.0-0 kubernetes
kubeadm.x86_64 1.25.1-0 kubernetes
kubeadm.x86_64 1.25.2-0 kubernetes
kubeadm.x86_64 1.25.3-0 kubernetes
kubeadm.x86_64 1.25.4-0 kubernetes
kubectl.x86_64 1.25.0-0 kubernetes
kubectl.x86_64 1.25.1-0 kubernetes
kubectl.x86_64 1.25.2-0 kubernetes
kubectl.x86_64 1.25.3-0 kubernetes
kubectl.x86_64 1.25.4-0 kubernetes
kubelet.x86_64 1.25.0-0 kubernetes
kubelet.x86_64 1.25.1-0 kubernetes
kubelet.x86_64 1.25.2-0 kubernetes
kubelet.x86_64 1.25.3-0 kubernetes
kubelet.x86_64 1.25.4-0 kubernetes

3.备份集群

如果不需要备份就跳过

备份地址下载:​​https://github.com/solomonxu/k8s-backup-restore​​

mkdir /data
tar -xzvf k8s-backup-restore-1.1.tar
mv k8s-backup-restore-1.1 /data/k8s-backup-restore
cd /data/k8s-backup-restore
chmod +x bin/*.sh
./bin/k8s_backup.sh

4.预先下载需要的镜像

所有节点都需要下载

# 查看需要下载的镜像
[root@master ~]# kubeadm config images list --kubernetes-version=v1.25.3
registry.k8s.io/kube-apiserver:v1.25.3
registry.k8s.io/kube-controller-manager:v1.25.3
registry.k8s.io/kube-scheduler:v1.25.3
registry.k8s.io/kube-proxy:v1.25.3
registry.k8s.io/pause:3.8
registry.k8s.io/etcd:3.5.4-0
registry.k8s.io/coredns/coredns:v1.9.3

# 提前下载镜像
kubeadm config images pull

# yum升级kubelet、kubeadm、kubectl
yum install kubeadm-1.25.3-0 kubectl-1.25.3-0 kubelet-1.25.3-0 --disableexcludes=kubernetes -y
# 查看升级后版本
[root@master ~]# kubeadm version
kubeadm version: &version.Info{Major:"1", Minor:"25", GitVersion:"v1.25.3", GitCommit:"434bfd82814af038ad94d62ebe59b133fcb50506", GitTreeState:"clean", BuildDate:"2022-10-12T10:55:36Z", GoVersion:"go1.19.2", Compiler:"gc", Platform:"linux/amd64"}

5.master节点升级

# 验证下载操作正常,并且 kubeadm 版本正确及升级计划
kubeadm version
kubeadm upgrade plan

# 集群升级,一个一个的升级,避免出现问题
# master集群节点升级 --ignore-daemonsets设置不可调度
kubectl drain master --ignore-daemonsets # 驱逐排空要升级节点上的pod
kubeadm upgrade apply 1.25.3

# 升级完成取消对master的不可调度保护
systemctl restart kubelet
kubectl uncordon master

# 其它master节点重复执行一遍就可以

kubernetes 1.24.8版本升级到1.25.3版本_k8s

kubernetes 1.24.8版本升级到1.25.3版本_k8s_02

6.node工作节点升级

yum install kubeadm-1.25.3-0 kubectl-1.25.3-0 kubelet-1.25.3-0 --disableexcludes=kubernetes -y

# 在master上执行命令驱逐node1节点上的pod,并设置node1节点不可调度
kubectl drain node1 --ignore-daemonset

# 在node1上执行命令升级
kubeadm upgrade node

# 重启kubelet
systemctl daemon-reload
systemctl restart kubelet

# 取消对节点的保护
kubectl uncordon node1

kubernetes 1.24.8版本升级到1.25.3版本_k8s_03

7.查看验证

[root@master ~]# kubectl get nodes
NAME STATUS ROLES AGE VERSION
master Ready control-plane 5d22h v1.25.3
node1 Ready work 5d22h v1.25.3



举报

相关推荐

0 条评论