kubeadm 升级 k8s集群 1.17到1.20

这篇具有很好参考价值的文章主要介绍了kubeadm 升级 k8s集群 1.17到1.20。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

云原生学习路线导航页(持续更新中)

本文是 Kubernetes 基础学习 系列文章,主要讲解 使用kubeadm,将kubernetes集群从1.17升级到1.20

1.kubernetes一般不要跨大版本升级

  • 一般来说,跨越多个主要版本的升级需要逐个升级每个中间版本
  • 因此,无法直接将kubernetes从1.17直接升级到1.20或更高版本,需要按照1.17–>1.18–>1.19–>1.20的顺序一一进行升级
  • 本文暂时只适用于使用 kubeadm 安装的 kubernetes 集群

2.kubeadm升级单节点集群的步骤

如果你的kubernetes集群只有一个节点同时作为master和node,没有其他master和node,可以直接按照下面的步骤升级,否则请看第3部分

2.1.kubernetes集群从1.17–>1.18

# 查看kubeadm支持的所有版本
yum list --showduplicates kubeadm --disableexcludes=kubernetes

# 这里每次升级到中转版本,都升级到当前版本的最新版,当然你也可以自行选择其他版本
# 如这里选择1.18.20-0
yum install -y kubeadm-1.18.20-0 --disableexcludes=kubernetes

# 验证kubeadm是否升级成功
kubeadm version

# 将kubelet和kubectl也升级一下
yum downgrade kubelet-1.18.20 kubectl-1.18.20

# 查看升级计划,如果没有明显的报错,就可以继续
kubeadm upgrade plan

# 执行升级
kubeadm upgrade apply v1.18.20

# 注:如果上面升级报错:
	# 报错 - There are kubelets in this cluster that are too old that have these versions,
	# 则可以添加--force强制升级
	# kubeadm upgrade apply v1.18.20 --force

# 出现这段,代表升级成功
# [upgrade/successful] SUCCESS! Your cluster was upgraded to "v1.18.20". Enjoy!

2.2.kubernetes集群从1.18–>1.19

# 查看kubeadm支持的所有版本
yum list --showduplicates kubeadm --disableexcludes=kubernetes

# 这里每次升级到中转版本,都升级到当前版本的最新版,当然你也可以自行选择其他版本
# 如这里选择1.19.16-0
yum install -y kubeadm-1.19.16-0 --disableexcludes=kubernetes

# 验证kubeadm是否升级成功
kubeadm version

# 将kubelet和kubectl也升级一下
yum downgrade kubelet-1.19.16 kubectl-1.19.16

# 查看升级计划,如果没有明显的报错,就可以继续
kubeadm upgrade plan

# 执行升级
kubeadm upgrade apply v1.19.16

# 注:如果上面升级报错:
	# 报错 - There are kubelets in this cluster that are too old that have these versions,
	# 则可以添加--force强制升级
	# kubeadm upgrade apply v1.19.16 --force

# 出现这段,代表升级成功
# [upgrade/successful] SUCCESS! Your cluster was upgraded to "v1.19.16". Enjoy!

2.3.kubernetes集群从1.19–>1.20

# 查看kubeadm支持的所有版本
yum list --showduplicates kubeadm --disableexcludes=kubernetes

# 这里每次升级到中转版本,都升级到当前版本的最新版,当然你也可以自行选择其他版本
# 如这里选择1.20.15-0
yum install -y kubeadm-1.20.15-0 --disableexcludes=kubernetes

# 验证kubeadm是否升级成功
kubeadm version

# 将kubelet和kubectl也升级一下
yum downgrade kubelet-1.20.15 kubectl-1.20.15

# 查看升级计划,如果没有明显的报错,就可以继续
kubeadm upgrade plan

# 执行升级
kubeadm upgrade apply v1.20.15

# 注:如果上面升级报错:
	# 报错 - There are kubelets in this cluster that are too old that have these versions,
	# 则可以添加--force强制升级
	# kubeadm upgrade apply v1.20.15 --force

# 出现这段,代表升级成功
# [upgrade/successful] SUCCESS! Your cluster was upgraded to "v1.20.15". Enjoy!

3.kubeadm升级多节点集群的步骤

下面演示 1.17–>1.18 的过程,升级后,用户可自行再升级到1.19和1.20,只需修改版本号即可文章来源地址https://www.toymoban.com/news/detail-855505.html

3.1.kubeadm升级一个master

  • 如果你有多个master,先选择一个master,按照第2部分的步骤,将1.17升级到1.18
    # 查看kubeadm支持的所有版本
    yum list --showduplicates kubeadm --disableexcludes=kubernetes
    
    # 这里每次升级到中转版本,都升级到当前版本的最新版,当然你也可以自行选择其他版本
    # 如这里选择1.18.20-0
    yum install -y kubeadm-1.18.20-0 --disableexcludes=kubernetes
    
    # 验证kubeadm是否升级成功
    kubeadm version
    
    # 将kubelet和kubectl也升级一下
    yum downgrade kubelet-1.18.20 kubectl-1.18.20
    
    # 查看升级计划,如果没有明显的报错,就可以继续
    kubeadm upgrade plan
    
    # 执行升级
    kubeadm upgrade apply v1.18.20
    
    # 注:如果上面升级报错:
    	# 报错 - There are kubelets in this cluster that are too old that have these versions,
    	# 则可以添加--force强制升级
    	# kubeadm upgrade apply v1.18.20 --force
    
    # 出现这段,代表升级成功
    # [upgrade/successful] SUCCESS! Your cluster was upgraded to "v1.18.20". Enjoy!
    

3.2.kubeadm升级其他master和node

# 升级kubeadm
yum install -y kubeadm-1.18.20-0 --disableexcludes=kubernetes

# 查看kubeadm升级是否成功
kubeadm version

# 查看升级计划
kubeadm upgrade plan

# 注意,这里不是apply,而是node
kubeadm upgrade node

# 驱逐工作负载
# 将 <node-to-drain> 替换为你要腾空的控制面节点名称
kubectl drain <node-to-drain> --ignore-daemonsets

# 升级kubelet和kubectl
yum install -y kubelet-1.18.20-0 kubectl-1.18.20-0 --disableexcludes=kubernetes

# 重启kubelet
sudo systemctl daemon-reload
sudo systemctl restart kubelet

# 解除节点保护
# 将 <node-to-uncordon> 替换为你的节点名称
kubectl uncordon <node-to-uncordon>

4.参考链接

  • kubernetes官方升级文档
  • https://www.cnblogs.com/dudu/p/14274601.html
  • https://cloudpods.csdn.net/65780f9ab8e5f01e1e449335.html
  • https://www.jianshu.com/p/e8abd105caa9

到了这里,关于kubeadm 升级 k8s集群 1.17到1.20的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 云原生Kubernetes:K8S集群版本升级(v1.20.15 - v1.22.14)

    目录 一、理论 1.K8S集群升级 2.集群概况 3.升级集群(v1.21.14) 4.验证集群(v1.21.14) 5.升级集群(v1.22.14) 6.验证集群  (v1.22.14) 二、实验  1.升级集群(v1.21.14) 2.验证集群(v1.21.14)  3.升级集群(v1.22.14) 4.验证集群(v1.22.14) (1)概念 搭建K8S集群的方式有很多种,比如二

    2024年02月07日
    浏览(48)
  • kubeadm方式搭建的k8s集群升级——2023.05

    搭建k8s集群的方式有很多种,比如二进制,kubeadm,RKE(Rancher)等,k8s集群升级方式也各有千秋,本文主要介绍使用kubeadm方式搭建的k8s集群升级方法。 需要注意的是,升级集群版本建议逐步升级,比如 v1.20.4–v1.21.4–v1.22.4–v1.23.4–v1.24.4,不能跨度过大,否则会报错。 节点

    2024年02月12日
    浏览(63)
  • 【云原生-K8s-1】kubeadm搭建k8s集群(一主两从)完整教程及kubernetes简介

    🍁 博主简介   🏅云计算领域优质创作者   🏅华为云开发者社区专家博主   🏅阿里云开发者社区专家博主 💊 交流社区: 运维交流社区 欢迎大家的加入!   Kubernetes(简称:k8s) 是Google在2014年6月开源的一个容器集群管理系统,使用Go语言开发,用于管理云平台中多

    2024年02月07日
    浏览(66)
  • 【云原生-K8s】kubeadm搭建安装k8s集群v1.25版本完整教程【docker、网络插件calico、中间层cri-docker】

    从 k8s 1.24开始,dockershim已经从kubelet中移除,但因为历史问题docker却不支持kubernetes主推的CRI(容器运行时接口)标准,所以docker不能再作为k8s的容器运行时了,即从k8s v1.24开始不再使用docker了 但是如果想继续使用docker的话,可以在kubelet和docker之间加上一个中间层cri-docker。

    2024年02月03日
    浏览(45)
  • k8s1.20二进制包安装

    主机IP地址 主机名 主机角色 主机配置 软件列表 10.58.32.31 k8s-master01 master,LB 2C4G kube-apiserver、kube-controller-manager、kube-scheduler、etcd、kubelet、kube-proxy、docker,haproxy、keepalived 10.58.32.32 k8s-master02 master,LB 2C4G kube-apiserver、kube-controller-manager、kube-scheduler、etcd、kubelet、kube-proxy、dock

    2024年02月16日
    浏览(41)
  • 【云原生】Kubeadm部署k8s

    在所有节点上安装Docker和kubeadm 部署Kubernetes Master 部署容器网络插件 部署 Kubernetes Node,将节点加入Kubernetes集群中 部署 Dashboard Web 页面,可视化查看Kubernetes资源 实验环境 服务器 IP地址 主要组件 master 192.168.10.130 docker/kubeadm/kubelet/kubectl/flannel node01 192.168.10.133 docker/kubeadm/kubel

    2024年02月04日
    浏览(46)
  • 【云原生】使用kubeadm搭建K8S

    服务器 IP 配置 master(2C/4G,cpu核心数要求大于2) 192.168.243.107 docker、kubeadm、kubelet、kubectl、flannel node01(2C/2G) 192.168.243.108 docker、kubeadm、kubelet、kubectl、flannel node02(2C/2G) 192.168.243.109 docker、kubeadm、kubelet、kubectl、flannel master02 192.168.243.110 docker、kubeadm、kubelet、kubectl、flann

    2024年02月14日
    浏览(48)
  • kubeadm搭建k8s集群

    二进制部署 部署难,管理方便,集群伸展性能好 更稳定,集群规模到达一定的规模(几百个节点、上万个Pod),二进制稳定性是要高于kubeadm部署 遇到故障,宿主机起来了,进程也会起来 kubeadm部署 部署简单,管理难 是以一种容器管理容器的方式允许的组件及服务,故障恢复时

    2024年02月04日
    浏览(47)
  • kubeadm创建k8s集群

    kubeadm来快速的搭建一个k8s集群: 二进制搭建适合大集群,50台以上。 kubeadm更适合中下企业的业务集群。 master 192.168.10.10 dockerkubelet kubeadm kubectl flannel node1 192.168.10.20 dockerkubelet kubeadm kubectl flannel node2 192.168.10.30 dockerkubelet kubeadm kubectl flannel harbor 192.168.10.40 docker-compose hargordock

    2024年02月03日
    浏览(37)
  • Kubeadm安装K8s集群

    一、硬件环境 准备3台Linux服务器,此处用Vmware虚拟机。 主机名 CPU 内存 k8smaster 2核 4G k8snode1 2核 4G k8snode2 2核 4G 二、系统前置准备 配置三台主机的hosts文件 设置主机名 关闭selinux、禁用swap分区 ipv4流量转发 关闭防火墙 同步三台服务器的时间 三、环境安装 Docker 安装 Docker卸载

    2024年02月13日
    浏览(36)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包