xiaobai's technical notes
  • 使用kubeadm引导k8s集群
  • 使用kubeadm升级集群
    • kubernetes
    2023-06-20
    目录

    使用kubeadm升级集群

    # 1. 确定升级路线

    首先,查看当前集群版本

    current_version.png

    确定升级路线,由于k8s默认向前兼容两个版本,参考k8s的release note确认升级路线。

    当前的版本为1.25.3, 最新版本为1.27.1 则升级路线为 1.25.3 -> 1.26.4 -> 1.27.1

    # 2. 数据备份

    这里使用工具 https://github.com/solomonxu/k8s-backup-restore (opens new window)

    # 3. 升级第一个master 节点

    首先解冻一下当前的kubeadm版本

    root@cluster-master-01:~# apt-mark unhold kubeadm
    Canceled hold on kubeadm.
    
    1
    2

    我这里使用阿里云的apt源,更新apt数据库,然后列出可用的版本

    root@cluster-master-01:~# apt-get update && apt-get install -y apt-transport-https
    root@cluster-master-01:~# curl https://mirrors.aliyun.com/kubernetes/apt/doc/apt-key.gpg | apt-key add - 
    root@cluster-master-01:~# cat <<EOF >/etc/apt/sources.list.d/kubernetes.list
    deb https://mirrors.aliyun.com/kubernetes/apt/ kubernetes-xenial main
    EOF
    
    root@cluster-master-01:~# apt update
    root@cluster-master-01:~# apt list kubeadm -a
    
    1
    2
    3
    4
    5
    6
    7
    8

    list_version.png

    安装下一版本的kubeadm 注意一定要按照升级路线升级,切不可一下升级到最新版本

     root@cluster-master-01:~# apt install kubeadm=1.26.4-00
    
    1

    查看升级计划

     root@cluster-master-01:~# kubeadm upgrade plan
    
    1

    upgrade_plan.png

    升级节点

    root@cluster-master-01:~# kubeadm upgrade apply v1.26.4
    
    1

    升级成功是这样的

    update_success.png

    然后我们来升级 kubelet、kubectl

    root@cluster-master-01:~# apt install kubelet=1.26.4-00 kubectl=1.26.4-00
    
    1

    重启kubelet

    root@cluster-master-01:~# systemctl daemon-reload && systemctl restart kubelet
    
    1

    # 4.升级其他master节点

    与第一个master 一样 正常升级即可

    # 5. 升级node

    root@cluster-master-01:~# curl https://mirrors.aliyun.com/kubernetes/apt/doc/apt-key.gpg | apt-key add - 
    root@cluster-master-01:~# cat <<EOF >/etc/apt/sources.list.d/kubernetes.list
    deb https://mirrors.aliyun.com/kubernetes/apt/ kubernetes-xenial main
    EOF
    
    root@cluster-master-01:~# apt update
    
    root@cluster-master-01:~# apt install kubeadm=1.26.4-00
    
    1
    2
    3
    4
    5
    6
    7
    8

    使用kubeadm命令升级node

    root@cluster-master-01:~# kubeadm upgrade node
    
    1

    升级node 的kubeklet

    root@cluster-master-01:~# apt install kubelet=1.26.4-00
    
    1

    后续版本使用此逻辑升级即可

    # 6. 校验集群证书

    root@cluster-master-01:~# kubeadm certs check-expiration
    
    1

    cert.png

    # 7. 升级后验证

    pod 业务i正常 版本成功更新:

    status.png

    done!

    #k8s#容器化
    使用kubeadm引导k8s集群

    ← 使用kubeadm引导k8s集群

    最近更新
    01
    Hello Vuepress
    02
    使用kubeadm引导k8s集群
    06-19
    更多文章>
    Theme by Vdoing
    • 跟随系统
    • 浅色模式
    • 深色模式
    • 阅读模式