kubernetes集群编排——集群升级

集群升级

https://v1-24.docs.kubernetes.io/zh-cn/docs/tasks/administer-cluster/kubeadm/kubeadm-upgrade/

部署cri-docker (所有集群节点)

k8s从1.24版本开始移除了dockershim,所以需要安装cri-docker插件才能使用docker

软件下载:https://github.com/Mirantis/cri-dockerd

安装

[root@k8s2 ~]# rpm -ivh cri-dockerd-0.3.1-3.el7.x86_64.rpm

配置cri-docker

[root@k8s2 ~]# vim /usr/lib/systemd/system/cri-docker.service

[Service]

Type=notify

ExecStart=/usr/bin/cri-dockerd --container-runtime-endpoint fd:// --network-plugin=cni --pod-infra-container-image=reg.westos.org/k8s/pause:3.7

[root@k8s2 ~]# systemctl daemon-reload

[root@k8s2 ~]# systemctl  enable --now cri-docker

[root@k8s2 ~]# ll /var/run/cri-dockerd.sock

srw-rw---- 1 root docker 0 Jan  9 17:51 /var/run/cri-dockerd.sock

升级master节点

首先上传镜像到harbor仓库,便于升级

[root@k8s1 harbor]# docker images reg.westos.org/k8s/*

reg.westos.org/k8s/kube-apiserver                                v1.24.0    

reg.westos.org/k8s/kube-proxy                                      v1.24.0    

reg.westos.org/k8s/kube-scheduler                               v1.24.0    

reg.westos.org/k8s/kube-controller-manager                 v1.24.0   

reg.westos.org/k8s/etcd                                            3.5.3-0    

reg.westos.org/k8s/pause                                           3.7        

reg.westos.org/k8s/coredns                                         v1.8.6     

升级kubeadm

[root@k8s2 ~]# yum install -y kubeadm-1.24.0-0

执行升级

[root@k8s2 ~]# kubeadm upgrade plan

修改节点套接字

[root@k8s2 ~]# kubectl edit nodes k8s2

...
kubeadm.alpha.kubernetes.io/cri-socket: unix:///var/run/cri-dockerd.sock

[root@k8s2 ~]# kubeadm upgrade apply v1.24.0

腾空节点

[root@k8s2 ~]# kubectl drain k8s2 --ignore-daemonsets

升级kubelet

[root@k8s2 ~]# yum install -y kubelet-1.24.0-0 kubectl-1.24.0-0

配置kubelet使用cri-docker

[root@k8s2 ~]# vim /var/lib/kubelet/kubeadm-flags.env

KUBELET_KUBEADM_ARGS="--pod-infra-container-image=reg.westos.org/k8s/pause:3.7 --container-runtime=remote --container-runtime-endpoint=unix:///var/run/cri-dockerd.sock"

重启kubelet

[root@k8s2 ~]# systemctl daemon-reload 

[root@k8s2 ~]# systemctl  restart kubelet 

解除节点保护

[root@k8s2 ~]# kubectl uncordon k8s2

升级worker节点

升级kubeadm

[root@k8s3 ~]# yum install -y kubeadm-1.24.0-0

执行升级

[root@k8s3 ~]# kubeadm upgrade node

腾空节点

[root@k8s2 ~]# kubectl drain k8s3 --ignore-daemonsets #需要在master节点执行

升级kubelet

[root@k8s3 ~]# yum install -y kubelet-1.24.0-0 kubectl-1.24.0-0

配置kubelet使用cri-docker

[root@k8s3 ~]# vim /var/lib/kubelet/kubeadm-flags.env

KUBELET_KUBEADM_ARGS="--pod-infra-container-image=reg.westos.org/k8s/pause:3.7 --container-runtime=remote --container-runtime-endpoint=unix:///var/run/cri-dockerd.sock"

修改节点套接字

[root@k8s2 ~]# kubectl edit nodes k8s3 #需要在master节点执行

...

kubeadm.alpha.kubernetes.io/cri-socket: unix:///var/run/cri-dockerd.sock

重启kubelet

[root@k8s3 ~]# systemctl daemon-reload 

[root@k8s3 ~]# systemctl  restart kubelet 

解除节点保护

[root@k8s2 ~]# kubectl uncordon k8s3 #需要在master节点执行

其它节点依此类推

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值