• LAB03:升级K8S版本


    LAB-03:升级K8S版本

    LAB 需求

    # 最新的版本是1.22.1,升级到1.22.2
    现有的 Kubernetes 集群正在运行的版本是 1.22.1,仅将主节点上的所有 kubernetes 控制面板和组件升级到版本 1.22.2 另外,在主节点上升级 kubelet 和 kubectl。

    LAB 预配

    # 目前版本
    user1@k8s-master:~$ kubectl get nodes
    NAME         STATUS   ROLES                  AGE   VERSION
    k8s-master   Ready    control-plane,master   39d   v1.22.1
    k8s-node-1   Ready    <none>                 39d   v1.22.1
    k8s-node-2   Ready    <none>                 39d   v1.22.1
    k8s-node-3   Ready    <none>                 39d   v1.22.1

    LAB 答案

    # 切换 content
    $ kubectl config use-context k8s

    # 设置 k8s-master 为维护状态
    $ kubectl get node
    $ kubectl cordon k8s-master

    # 驱逐 k8s-master 上的 Pod
    $ kubectl drain k8s-master --delete-local-data --ignore-daemonsets --force

    # 登录到 k8s-master,然后切换到 root 用户,LAB 环境只需要切换到 root 用户
    $ ssh k8s-master
    $ sudo -i
    $ apt update

    # 查看支持哪个版本
    $ apt-cache policy kubeadm | grep 1.22.2
    $ apt-mark unhold kubeadm kubectl kubelet
    $ apt-get install -y kubeadm=1.22.2-00 kubelet=1.22.2-00 kubectl=1.22.2-00
    $ apt-mark hold kubeadm kubectl kubelet 

    # 验证升级计划
    $ kubeadm upgrade plan

    # 开始升级,不升级 etcd
    $sudo kubeadm upgrade apply v1.22.2 --etcd-upgrade=false

    # 重新启动服务
    $ systemctl daemon-reload
    $ systemctl restart kubelet

    # 设置 k8s-master 为正常状态
    $ exit
    $ exit  # 如果使用 sudo -i,这里一定要退出两次,考试环境要注意
    $ kubectl uncordon k8s-master

    LAB 验证

    # 确认只升级了 master 节点的版本
    user1@k8s-master:~$ kubectl get node
    NAME         STATUS                     ROLES                  AGE   VERSION
    k8s-master   Ready                      control-plane,master   22h   v1.22.2
    k8s-node-1   Ready,SchedulingDisabled   <none>                 21h   v1.22.1
    k8s-node-2   Ready                      <none>                 21h   v1.22.1
    k8s-node-3   Ready                      <none>                 21h   v1.22.1

    参考资料

    • https://kubernetes.io/zh/docs/tasks/administer-cluster/kubeadm/kubeadm-upgrade/



  • 相关阅读:
    idea maven install java: 程序包不存在
    Window10取消文件默认打开方式
    @ModelAttribute与@RequestBody的区别
    python小知识
    CentOS下yum方式安装FFmpeg
    推荐一款可以直接下载浏览器sources资源的Chrome插件
    如何在python中使用Elasticsearch
    python logging模块“另一个程序正在使用此文件,进程无法访问。”问题解决办法
    Python的伪造数据生成器:Faker
    docker修改系统时间总结
  • 原文地址:https://www.cnblogs.com/quqibinggan/p/16373951.html
Copyright © 2020-2023  润新知