首页 > 其他分享 >kubeadm 部署的集群升级教程

kubeadm 部署的集群升级教程

时间:2023-08-16 13:12:24浏览次数:33  
标签:kubectl 教程 -- 升级 集群 版本 kubeadm 节点

1、确定升级的集群版本,查看现有的集群版本

kubectl  get nodes

2、执行如下命令确定升级的版本,目标版本是v1.27.4

yum list --showduplicates kubeadm --disableexcludes=kubernetes

3、升级master节点,所有master节点都要操作,并升级完验证版本

yum install -y kubeadm-1.27.4-0 --disableexcludes=kubernetes  # --disableexcludes=kubernetes:禁掉除了这个kubernetes之外的别的仓

kubeadm version

4、升级master1(master节点1操作即可)

#验证升级计划,检查当前集群是否可以被升级

kubeadm upgrade plan

最高可以升级到 v1.27.4 版本,正好与我们的目标版本一致;只要可允许升级的最高版本高于你的目标版本,就可以升级,注:kubeadm upgrade命令也会自动对kubeadm在节点上所管理的证书执行续约操作。如果需要略过证书续约操作,可以使用标志--certificate-renewal=false

#确定集群升级目标版本,并且查看升级计划符合条件后,就可以在 master1 节点上执行升级集群的命令了

5、 将master1升级到目标版本

kubeadm upgrade apply v1.27.4

6、升级master2&& master3

注:升级master2 & master3 节点与 master1 节点相同,但是使用下面的命令,而不是kubeadm upgrade apply命令

kubeadm upgrade node

7、升级kubectl和kubelet

三台 master 节点操作,操作顺序:master1——>master2——>master3

7.1、将当前节点标记为不可调度,并驱逐节点上的Pod

kubectl drain master-1 --ignore-daemonsets

##说明:
## --ignore-daemonsets 无视DaemonSet管理下的Pod。即--ignore-daemonsets往往需要指定的,这是
#因为deamonset会忽略unschedulable标签(使用kubectl drain时会自动给节点打上不可调度标签),
#由于deamonset控制器控制的pod被删除后可能马上又在此节点上启动起来,这样就会成为死循环。因此
#这里忽略daemonset

# 升级kubelet和kubectl组件

 yum install -y kubelet-1.27.4-0 kubectl-1.27.4-0 --disableexcludes=kubernetes

7.2、重启kubelet

systemctl daemon-reload
systemctl restart kubelet

7.3、恢复当前节点上的Pod调度,使其上线

kubectl uncordon nodes/master-1

#查看节点版本,发现master节点已经升级完成

8、 升级work 节点(其他work节点也执行如下相同步骤)

说明:

工作节点上的升级过程应该一次执行一个节点,或者一次执行几个节点,以不影响运行工作负载所需的最小容量,如果你的集群中有多个worker节点,每个节点都需要操作

#升级kubeadm

yum install -y kubeadm-1.27.4-0 --disableexcludes=kubernetes

#查看版本

kubeadm version

#升级work节点

kubeadm upgrade node

# 设置节点不可调度并排空节点。只有1个worker节点时忽略此步,因为可能会报错

kubectl drain node1 --ignore-daemonsets

# 升级kubelet和kubectl组件

 yum install -y kubelet-1.27.4-0 kubectl-1.27.4-0 --disableexcludes=kubernetes

# 重启kubelet
systemctl daemon-reload
systemctl restart kubelet

# 恢复当前节点上的Pod调度。只有1个worker节点时忽略此步
kubectl uncordon node1 

9、 验证集群是否正常

kubectl  get node

标签:kubectl,教程,--,升级,集群,版本,kubeadm,节点
From: https://www.cnblogs.com/zbhlinux/p/17633733.html

相关文章

  • 无涯教程-Perl - sin函数
    描述此函数返回EXPR的正弦值;如果未指定,则返回$_。此函数始终返回浮点数。语法以下是此函数的简单语法-sinEXPRsin返回值此函数返回EXPR的浮点正弦值例以下是显示其基本用法的示例代码-#!/usr/bin/perl$temp=sin(4);print"sinvalueof4is$temp";执行上......
  • IDEA 2023.2 最新安装使用教程(附激活码,亲测好用)
    申明:本教程IntelliJIDEA补丁、激活码均收集于网络,请勿商用,仅供个人学习使用,如有侵权,请联系作者删除。若条件允许,希望大家购买正版!PS:本教程最新更新时间:2023年7月28日,持续更新,收藏防失联哟说明本教程适用于JetBrains全系列产品,包括IDEA、Pycharm、WebStorm、Phpstorm、Da......
  • 客服系统搭建教程,这些技巧你必须掌握!
    随着企业对客户服务需求的不断增加,客服系统的搭建成为了一项重要的任务。一个高效、稳定的客服系统能够提升客户满意度,增强企业竞争力。那么,在搭建客服系统时,有哪些技能是我们必须掌握的呢?了解客户需求在搭建客服系统之前,我们需要深入了解客户的需求,包括客户群体、服务内容、......
  • 嵌入式教程_DSP教学实验箱:2-9 VGA显示实验
    实验目的本节视频的目的是了解VGA接口的功能和使用,掌握VGA显示的原理并实现VGA显示图像数据。实验原理底板原理图控制VGA的管脚是VPIF总线,和控制LCD显示的管脚是复用的VGA(VideoGraphicsArray)VGA是视频图形阵列,是一种使用模拟信号进行视频传输的标准协议,由IBM公司于1987年推出,因其......
  • k1s 使用 nsenter 轻松实现调试 k8s 集群节点
    调试宿主机如果您的集群无外网,则无法下载基础镜像,需要设置内网镜像exportK1S_IMAGE="hub.local.io/alpine:lateset"基础操作命令:#查看node列表k1snoNAMESTATUSROLESAGEVERSION192.168.1.100Readygpu......
  • 【开源分享】在线客服系统搭建-基于php和swoole客服系统CRMchat(附源码完整搭建教程)
    CRMChat是一款开源的在线客服系统,后台管理使用thinkphp框架,消息通讯使用swoole扩展,现在我来部署搭建一下。这是一款不可商用的开源客服系统,如果有商用需求可以访问我的网站:gofly.v1kf.com域名解析以阿里云为例,我添加了自己的二级域名crmchat.v1kf.com到服务器IPPHP扩展安装......
  • 执行kubeadm 出现 FATAL: the ConfigMap "kubeadm-config" in the kube-system namesp
    现象: [upgrade/config]Makingsuretheconfigurationiscorrect:[upgrade/config]Readingconfigurationfromthecluster...[upgrade/config]FYI:Youcanlookatthisconfigfilewith'kubectl-nkube-systemgetcmkubeadm-config-oyaml'[upgrade/c......
  • Python教程(9)——Python变量类型列表list的用法介绍
    (目录)在Python中,列表(list)是一种有序、可变的数据结构,用于存储多个元素。列表可以包含不同类型的元素,包括整数、浮点数、字符串等。实际上列表有点类似C++语言中的数组,但仅仅只是类似,和数组还是有点不一样的。列表非常适合利用顺序和位置定位某一元素,尤其是当元素的顺序或内容经常......
  • Python教程(9)——Python变量类型列表list的用法介绍
    在Python中,列表(list)是一种有序、可变的数据结构,用于存储多个元素。列表可以包含不同类型的元素,包括整数、浮点数、字符串等。实际上列表有点类似C++语言中的数组,但仅仅只是类似,和数组还是有点不一样的。列表非常适合利用顺序和位置定位某一元素,尤其是当元素的顺序或内容经常发生改......
  • 网站建设与网页设计案例教程
    网站建设与网页设计是现代社会中非常重要的技能,对于任何一个企业或个人来说都至关重要。本文将介绍一个网站建设与网页设计的案例教程,帮助读者了解如何进行网站建设和网页设计。首先,网站建设是一个包括多个步骤的过程。首先,需要确定网站的目标和受众,明确网站的定位和功能。然后,进行......