首页 > 其他分享 >kubenetes v1.25.0 升级 v 1.25.1

kubenetes v1.25.0 升级 v 1.25.1

时间:2023-01-02 23:45:48浏览次数:44  
标签:upgrade x86 64 kubenetes k8s 1.25 v1.25

升级K8s 版本 v1.25.0 -> v1.25.1 :

# 升级之前 v1.25.0 :
[root@k8s-master-1 ~]# kubectl get node -o wide
NAME           STATUS   ROLES           AGE   VERSION   INTERNAL-IP     EXTERNAL-IP   OS-IMAGE                KERNEL-VERSION           CONTAINER-RUNTIME
k8s-master-1   Ready    control-plane   39d   v1.25.0   192.168.3.101   <none>        CentOS Linux 7 (Core)   3.10.0-1160.el7.x86_64   docker://20.10.21
k8s-node-1     Ready    <none>          39d   v1.25.0   192.168.3.104   <none>        CentOS Linux 7 (Core)   3.10.0-1160.el7.x86_64   docker://20.10.21
k8s-node-2     Ready    <none>          39d   v1.25.0   192.168.3.105   <none>        CentOS Linux 7 (Core)   3.10.0-1160.el7.x86_64   docker://20.10.21
k8s-node-3     Ready    <none>          39d   v1.25.0   192.168.3.106   <none>        CentOS Linux 7 (Core)   3.10.0-1160.el7.x86_64   docker://20.10.21

# 升级之后 v1.25.1 :
[root@k8s-master-1 ~]# kubectl get node -o wide
NAME           STATUS   ROLES           AGE   VERSION   INTERNAL-IP     EXTERNAL-IP   OS-IMAGE                KERNEL-VERSION           CONTAINER-RUNTIME
k8s-master-1   Ready    control-plane   39d   v1.25.1   192.168.3.101   <none>        CentOS Linux 7 (Core)   3.10.0-1160.el7.x86_64   docker://20.10.21
k8s-node-1     Ready    <none>          39d   v1.25.1   192.168.3.104   <none>        CentOS Linux 7 (Core)   3.10.0-1160.el7.x86_64   docker://20.10.21
k8s-node-2     Ready    <none>          39d   v1.25.1   192.168.3.105   <none>        CentOS Linux 7 (Core)   3.10.0-1160.el7.x86_64   docker://20.10.21
k8s-node-3     Ready    <none>          39d   v1.25.1   192.168.3.106   <none>        CentOS Linux 7 (Core)   3.10.0-1160.el7.x86_64   docker://20.10.21

升级管理节点(master) 9步 :

1  查找最新版本号:
yum list --showduplicates kubeadm

2  升级kubeadm
yum install -y kubeadm-1.25.1-0

3  驱逐Node上的pod,并设置为不可调度(有啥提示参数要加的都加上):
kubectl drain k8s-master-1 --ignore-daemonsets

4  检查集群是否可以升级,并获取可以升级的版本(直接升级1.25的最新版本 可以忽略版本号,如果是升级到次新版本 主要要加上版本号):
 kubeadm upgrade plan 1.25.1-0

5  根据提示进行下一步操作:
kubeadm upgrade apply v1.25.1 --etcd-upgrade=false      # --etcd-upgrade=false 默认为true即升级Etcd, 可以用此参数不升级Etcd.

6 升级kubectl 和 kubelet:
yum install kubectl-1.25.1 kubelet-1.25.1 -y

7 重启kubelet:
systemctl daemon-reload
systemctl restart kubelet

8  取消不可调度,重新上线:
kubectl uncordon k8s-master-1

9 查看升级后的master版本: 
kubectl get node -o wide

升级工作节点(node) 7步:

1 升级kubeadm:
yum  install -y kubeadm-1.25.1

2 驱逐Node节点上的pod,且不可调度(master 端操作):
kubectl drain k8s-node-3 --ignore-daemonsets

3 升级kubelet 配置:
kubeadm upgrade node

4 升级kubectl 和 kubelet:
yum install kubectl-1.25.1 kubelet-1.25.1 -y

5 重启kubelet:
systemctl daemon-reload
systemctl restart kubelet

6 取消不可调度,重新上线(master 端操作):
kubectl uncordon k8s-node-3

7 查看升级后的Node节点版本(master 端操作): 
kubectl get node -o wide

至此 Master + Node 升级完成,下面是详细信息,略过即可


升级主节点(k8s-master-1):

1  查找最新版本号:
yum list --showduplicates kubeadm

[root@k8s-master-1 ~]# yum list --showduplicates kubeadm | grep 1.25
kubeadm.x86_64                       1.25.0-0                        @kubernetes
kubeadm.x86_64                       1.25.0-0                        kubernetes 
kubeadm.x86_64                       1.25.1-0                        kubernetes 
kubeadm.x86_64                       1.25.2-0                        kubernetes 
kubeadm.x86_64                       1.25.3-0                        kubernetes 
kubeadm.x86_64                       1.25.4-0                        kubernetes 
kubeadm.x86_64                       1.25.5-0                        kubernetes 


2  升级kubeadm
yum install -y kubeadm-1.25.1-0

3  驱逐Node上的pod,并设置为不可调度(有啥提示参数要加的都加上):
kubectl drain k8s-master-1 --ignore-daemonsets

[root@k8s-master-1 ~]# kubectl get node -o wide
NAME           STATUS                     ROLES           AGE   VERSION   INTERNAL-IP     EXTERNAL-IP   OS-IMAGE                KERNEL-VERSION           CONTAINER-RUNTIME
k8s-master-1   Ready,SchedulingDisabled   control-plane   39d   v1.25.0   192.168.3.101   <none>        CentOS Linux 7 (Core)   3.10.0-1160.el7.x86_64   docker://20.10.21
k8s-node-1     Ready                      <none>          39d   v1.25.0   192.168.3.104   <none>        CentOS Linux 7 (Core)   3.10.0-1160.el7.x86_64   docker://20.10.21
k8s-node-2     Ready                      <none>          39d   v1.25.0   192.168.3.105   <none>        CentOS Linux 7 (Core)   3.10.0-1160.el7.x86_64   docker://20.10.21
k8s-node-3     Ready                      <none>          39d   v1.25.0   192.168.3.106   <none>        CentOS Linux 7 (Core)   3.10.0-1160.el7.x86_64   docker://20.10.21


4  检查集群是否可以升级,并获取可以升级的版本(直接升级1.25的最新版本 可以忽略版本号,如果是升级到次新版本 主要要加上版本号):
 kubeadm upgrade plan 1.25.1-0

[root@k8s-master-1 ~]# [root@k8s-master-1 ~]# kubeadm upgrade plan 1.25.1-0
[upgrade/config] Making sure the configuration is correct:
[upgrade/config] Reading configuration from the cluster...
[upgrade/config] FYI: You can look at this config file with 'kubectl -n kube-system get cm kubeadm-config -o yaml'
[preflight] Running pre-flight checks.
[upgrade] Running cluster health checks
[upgrade] Fetching available versions to upgrade to
[upgrade/versions] Cluster version: v1.25.0
[upgrade/versions] kubeadm version: v1.25.1
[upgrade/versions] Target version: 1.25.1-0
[upgrade/versions] Latest version in the v1.25 series: 1.25.1-0

Components that must be upgraded manually after you have upgraded the control plane with 'kubeadm upgrade apply':
COMPONENT   CURRENT       TARGET
kubelet     4 x v1.25.0   1.25.1-0                         #  这里很重要

Upgrade to the latest version in the v1.25 series:

COMPONENT                 CURRENT   TARGET
kube-apiserver            v1.25.0   1.25.1-0
kube-controller-manager   v1.25.0   1.25.1-0
kube-scheduler            v1.25.0   1.25.1-0
kube-proxy                v1.25.0   1.25.1-0
CoreDNS                   v1.9.3    v1.9.3
etcd                      3.5.4-0   3.5.4-0

You can now apply the upgrade by executing the following command:

	kubeadm upgrade apply 1.25.1-0 --allow-experimental-upgrades

_____________________________________________________________________


The table below shows the current state of component configs as understood by this version of kubeadm.
Configs that have a "yes" mark in the "MANUAL UPGRADE REQUIRED" column require manual config upgrade or
resetting to kubeadm defaults before a successful upgrade can be performed. The version to manually
upgrade to is denoted in the "PREFERRED VERSION" column.

API GROUP                 CURRENT VERSION   PREFERRED VERSION   MANUAL UPGRADE REQUIRED
kubeproxy.config.k8s.io   v1alpha1          v1alpha1            no
kubelet.config.k8s.io     v1beta1           v1beta1             no
_____________________________________________________________________


[upgrade/config] Making sure the configuration is correct:
[upgrade/config] Reading configuration from the cluster...
[upgrade/config] FYI: You can look at this config file with 'kubectl -n kube-system get cm kubeadm-config -o yaml'
[preflight] Running pre-flight checks.
[upgrade] Running cluster health checks
[upgrade] Fetching available versions to upgrade to
[upgrade/versions] Cluster version: v1.25.0
[upgrade/versions] kubeadm version: v1.25.1
[upgrade/versions] Target version: 1.25.1-0
[upgrade/versions] Latest version in the v1.25 series: 1.25.1-0

Components that must be upgraded manually after you have upgraded the control plane with 'kubeadm upgrade apply':
COMPONENT   CURRENT       TARGET
kubelet     4 x v1.25.0   1.25.1-0

Upgrade to the latest version in the v1.25 series:

COMPONENT                 CURRENT   TARGET
kube-apiserver            v1.25.0   1.25.1-0
kube-controller-manager   v1.25.0   1.25.1-0
kube-scheduler            v1.25.0   1.25.1-0
kube-proxy                v1.25.0   1.25.1-0
CoreDNS                   v1.9.3    v1.9.3
etcd                      3.5.4-0   3.5.4-0

You can now apply the upgrade by executing the following command:

	kubeadm upgrade apply 1.25.1-0 --allow-experimental-upgrades

_____________________________________________________________________


The table below shows the current state of component configs as understood by this version of kubeadm.
Configs that have a "yes" mark in the "MANUAL UPGRADE REQUIRED" column require manual config upgrade or
resetting to kubeadm defaults before a successful upgrade can be performed. The version to manually
upgrade to is denoted in the "PREFERRED VERSION" column.

API GROUP                 CURRENT VERSION   PREFERRED VERSION   MANUAL UPGRADE REQUIRED
kubeproxy.config.k8s.io   v1alpha1          v1alpha1            no
kubelet.config.k8s.io     v1beta1           v1beta1             no
_____________________________________________________________________


5  根据提示进行下一步操作:
kubeadm upgrade apply v1.25.1

[root@k8s-master-1 ~]# kubeadm upgrade apply 1.25.1
[upgrade/config] Making sure the configuration is correct:
[upgrade/config] Reading configuration from the cluster...
[upgrade/config] FYI: You can look at this config file with 'kubectl -n kube-system get cm kubeadm-config -o yaml'
[preflight] Running pre-flight checks.
[upgrade] Running cluster health checks
[upgrade/version] You have chosen to change the cluster version to "v1.25.1"
[upgrade/versions] Cluster version: v1.25.0
[upgrade/versions] kubeadm version: v1.25.1
[upgrade] Are you sure you want to proceed? [y/N]: y
[upgrade/prepull] Pulling images required for setting up a Kubernetes cluster
......
[addons] Applied essential addon: CoreDNS
[addons] Applied essential addon: kube-proxy

[upgrade/successful] SUCCESS! Your cluster was upgraded to "v1.25.1". Enjoy!

[upgrade/kubelet] Now that your control plane is upgraded, please proceed with upgrading your kubelets if you haven't already done so.


6 升级kubectl 和 kubelet:
yum install kubectl-1.25.1 kubelet-1.25.1 -y

[root@k8s-master-1 ~]# yum install kubectl-1.25.1 kubelet-1.25.1 -y
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
Resolving Dependencies
--> Running transaction check
---> Package kubectl.x86_64 0:1.25.0-0 will be updated
---> Package kubectl.x86_64 0:1.25.1-0 will be an update
---> Package kubelet.x86_64 0:1.25.0-0 will be updated
---> Package kubelet.x86_64 0:1.25.1-0 will be an update
--> Finished Dependency Resolution

Dependencies Resolved

===============================================================================================================================================================================================================================================================
 Package                                                      Arch                                                        Version                                                        Repository                                                       Size
===============================================================================================================================================================================================================================================================
Updating:
 kubectl                                                      x86_64                                                      1.25.1-0                                                       kubernetes                                                       10 M
 kubelet                                                      x86_64                                                      1.25.1-0                                                       kubernetes                                                       21 M

Transaction Summary
===============================================================================================================================================================================================================================================================
Upgrade  2 Packages

Total download size: 31 M
Is this ok [y/d/N]: 


7 重启kubelet:
systemctl daemon-reload
systemctl restart kubelet

8  取消不可调度,重新上线:
kubectl uncordon k8s-master-1


[root@k8s-master-1 ~]# systemctl daemon-reload
[root@k8s-master-1 ~]# systemctl restart kubelet
[root@k8s-master-1 ~]# kubectl uncordon k8s-master-1
node/k8s-master-1 uncordoned

[root@k8s-master-1 ~]# kubectl get node -o wide
NAME           STATUS   ROLES           AGE   VERSION   INTERNAL-IP     EXTERNAL-IP   OS-IMAGE                KERNEL-VERSION           CONTAINER-RUNTIME
k8s-master-1   Ready    control-plane   39d   v1.25.1   192.168.3.101   <none>        CentOS Linux 7 (Core)   3.10.0-1160.el7.x86_64   docker://20.10.21
k8s-node-1     Ready    <none>          39d   v1.25.0   192.168.3.104   <none>        CentOS Linux 7 (Core)   3.10.0-1160.el7.x86_64   docker://20.10.21
k8s-node-2     Ready    <none>          39d   v1.25.0   192.168.3.105   <none>        CentOS Linux 7 (Core)   3.10.0-1160.el7.x86_64   docker://20.10.21
k8s-node-3     Ready    <none>          39d   v1.25.0   192.168.3.106   <none>        CentOS Linux 7 (Core)   3.10.0-1160.el7.x86_64   docker://20.10.21

升级工作节点(k8s-node-3):

1 升级kubeadm:
yum  install -y kubeadm-1.25.1


2 驱逐Node节点上的pod,且不可调度:
kubectl drain k8s-node-3 --ignore-daemonsets

[root@k8s-master-1 ~]# kubectl get node -o wide
NAME           STATUS                     ROLES           AGE   VERSION   INTERNAL-IP     EXTERNAL-IP   OS-IMAGE                KERNEL-VERSION           CONTAINER-RUNTIME
k8s-master-1   Ready                      control-plane   39d   v1.25.1   192.168.3.101   <none>        CentOS Linux 7 (Core)   3.10.0-1160.el7.x86_64   docker://20.10.21
k8s-node-1     Ready                      <none>          39d   v1.25.0   192.168.3.104   <none>        CentOS Linux 7 (Core)   3.10.0-1160.el7.x86_64   docker://20.10.21
k8s-node-2     Ready                      <none>          39d   v1.25.0   192.168.3.105   <none>        CentOS Linux 7 (Core)   3.10.0-1160.el7.x86_64   docker://20.10.21
k8s-node-3     Ready,SchedulingDisabled   <none>          39d   v1.25.0   192.168.3.106   <none>        CentOS Linux 7 (Core)   3.10.0-1160.el7.x86_64   docker://20.10.21

3 升级kubelet:
kubeadm upgrade node

4 升级kubectl 和 kubelet
[root@k8s-node-3 ~]# yum install kubectl-1.25.1 kubelet-1.25.1 -y
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
Resolving Dependencies
--> Running transaction check
---> Package kubectl.x86_64 0:1.25.0-0 will be updated
---> Package kubectl.x86_64 0:1.25.1-0 will be an update
---> Package kubelet.x86_64 0:1.25.0-0 will be updated
---> Package kubelet.x86_64 0:1.25.1-0 will be an update
--> Finished Dependency Resolution
.......

5 重启kubelet:
[root@k8s-node-3 ~]# systemctl daemon-reload
[root@k8s-node-3 ~]# systemctl restart kubelet

6 取消不可调度,重新上线
[root@k8s-node-3 ~]# systemctl restart kubelet

7 master上查看结果:

[root@k8s-master-1 ~]# kubectl get node -o wide
NAME           STATUS   ROLES           AGE   VERSION   INTERNAL-IP     EXTERNAL-IP   OS-IMAGE                KERNEL-VERSION           CONTAINER-RUNTIME
k8s-master-1   Ready    control-plane   39d   v1.25.1   192.168.3.101   <none>        CentOS Linux 7 (Core)   3.10.0-1160.el7.x86_64   docker://20.10.21
k8s-node-1     Ready    <none>          39d   v1.25.0   192.168.3.104   <none>        CentOS Linux 7 (Core)   3.10.0-1160.el7.x86_64   docker://20.10.21
k8s-node-2     Ready    <none>          39d   v1.25.0   192.168.3.105   <none>        CentOS Linux 7 (Core)   3.10.0-1160.el7.x86_64   docker://20.10.21
k8s-node-3     Ready    <none>          39d   v1.25.1   192.168.3.106   <none>        CentOS Linux 7 (Core)   3.10.0-1160.el7.x86_64   docker://20.10.21

标签:upgrade,x86,64,kubenetes,k8s,1.25,v1.25
From: https://www.cnblogs.com/zhenxing06/p/17020864.html

相关文章

  • Kubernets V1.25.0 集群部署
    生产环境部署K8S的2种方式服务器硬件配置推荐使用kubeadm快速部署一个k8s集群部署的网络组件起什么作用Kubernets将弃用Docker!kubeconfig配置文件kubectl命令行管......
  • k8s1.25版本安装metrice
    在新版的Kubernetes中系统资源的采集均使用Metrics-Server,可以通过Metrics采集节点和Pod的内存、磁盘、CPU和网络的使用率。1 wget下载cd/opt/kubernetes/addonswget......
  • kubeadm安装k8s 1.25单master集群
    百度网盘链接:https://pan.baidu.com/s/15t_TSH5RRpCFXV-93JHpNw?pwd=8od31kubeadm安装k8s1.25单master集群1.1初始化安装k8s集群的实验环境K8S集群角色IP......
  • Xmind 2022 for Mac(思维导图软件) 22.11.2556中文版
    Xmind2022forMac是一款全功能的思维导图软件,拥有专业实用的功能,包括思维管理、商务演示、与办公软件协同工作等功能,让您的办公更有效,还加入了演讲模式,在演说模式可自动生......
  • kubenetes搭建后续
    1k8s里安装openstackopenstack-helm​​https://docs.openstack.org/openstack-helm/latest/install/multinode.html​​kolla-ansible​​https://www.jianshu.com/p/7d1a3......
  • Xmind 2022 for Mac(思维导图软件) 22.11.2508中文版
    Xmind2022forMac是一款全功能的思维导图软件,拥有专业实用的功能,包括思维管理、商务演示、与办公软件协同工作等功能,让您的办公更有效,还加入了演讲模式,在演说模式可自动生......
  • kuberentes 1.25 安装及指南
    1.25较之前版本有什么区别在1.25及之后的版本中,k8s将docker-shim进行了移除,代之的是cri-containerd与containerd进行直接交互,从某种意义上来说,和docker进行了解绑。另......
  • k8s1.25安装
    一、基础环境准备1)主机名解析为了方便后面集群节点间的直接调用,在这配置一下主机名解析,企业中推荐使用内部DNS服务器#主机名成解析编辑三台服务器的/etc/hosts文件,添......
  • 微信电脑版 v3.8.1.25 绿色便携版
    修改历史:2022.12.14:自改官方3.8.1.25最新正式版本2022.08.30:自改官方3.7.6.29最新正式版本2022.06.15:自改官方3.6.0.18最新正式版本2022.03.19:自改官方3.5.0.46最......
  • Centos 7.9 基于二进制文件部署kubernetes v1.25.5集群
    简述Kubernetes(简称为:k8s)是Google在2014年6月开源的一个容器集群管理系统,使用Go语言开发,用于管理云平台中多个主机上的容器化的应用,Kubernetes的目标是让部署容器化的应用......