kubernetes之二---基于kubeadm升级K8S版本

升级kubernetes到指定版本实战

1、在master节点上查看此时的kubernetes的版本

因为是yum安装的kubernetes,需要查看此时的版本,然后再去官网查看1.14.1的最新版本是多少

[[email protected] ~]# rpm -qi  kubeadm
Name        : kubeadm
Version     : 1.14.1
Release     : 0
Architecture: x86_64
Install Date: Mon 13 Jan 2020 02:41:35 PM CST
Group       : Unspecified
Size        : 39588940
License     : ASL 2.0
Signature   : RSA/SHA512, Tue 09 Apr 2019 05:09:51 AM CST, Key ID f09c394c3e1ba8d5
Source RPM  : kubelet-1.14.1-0.src.rpm
Build Date  : Tue 09 Apr 2019 05:02:41 AM CST
Build Host  : bf8516edf970
Relocations : (not relocatable)
URL         : https://kubernetes.io
Summary     : Command-line utility for administering a Kubernetes cluster.
Description :
Command-line utility for administering a Kubernetes cluster.

github官方网站:https://github.com/kubernetes/kubernetes/tags 

2、在master上升级kubeadm到指定版本

1、在官网上查看此时1.14的最新版本是1.14.10版本,因此直接在master安装1.14.3版本的kubeadm

[[email protected] ~]# yum -y install kubeadm-1.14.3

2、在master查看kubeadm帮助

[[email protected] ~]# kubeadm upgrade --help
Upgrade your cluster smoothly to a newer version with this command.

Usage:
  kubeadm upgrade [flags]
  kubeadm upgrade [command]

Available Commands:
  apply       Upgrade your Kubernetes cluster to the specified version.
  diff        Show what differences would be applied to existing static pod manifests. See also: kubeadm upgrade apply --dry-run
  node        Upgrade commands for a node in the cluster. Currently only supports upgrading the configuration, not the kubelet itself.
  plan        Check which versions are available to upgrade to and validate whether your current cluster is upgradeable. To skip the internet check, pass in the optional [version] parameter.

Flags:
  -h, --help   help for upgrade

Global Flags:
      --log-file string   If non-empty, use this log file
      --rootfs string     [EXPERIMENTAL] The path to the ‘real‘ host root filesystem.
      --skip-headers      If true, avoid header prefixes in the log messages
  -v, --v Level           number for the log level verbosity

Use "kubeadm upgrade [command] --help" for more information about a command.
[[email protected] ~]#

3、在master节点查看升级计划,验证是否可以升级到此版本

[[email protected] ~]# kubeadm upgrade plan
[preflight] Running pre-flight checks.
[upgrade] Making sure the cluster is healthy:
[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 -oyaml‘
[upgrade] Fetching available versions to upgrade to
[upgrade/versions] Cluster version: v1.14.1
[upgrade/versions] kubeadm version: v1.14.10
I0118 12:04:06.330170    5191 version.go:96] could not fetch a Kubernetes version from the internet: unable to get URL "https://dl.k8s.io/release/stable.txt": Get https://dl.k8s.io/release/stable.txt: net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers)
I0118 12:04:06.330206    5191 version.go:97] falling back to the local client version: v1.14.10
[upgrade/versions] Latest stable version: v1.14.10
I0118 12:04:16.392134    5191 version.go:96] could not fetch a Kubernetes version from the internet: unable to get URL "https://dl.k8s.io/release/stable-1.14.txt": Get https://dl.k8s.io/release/stable-1.14.txt: net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers)
I0118 12:04:16.392166    5191 version.go:97] falling back to the local client version: v1.14.10
[upgrade/versions] Latest version in the v1.14 series: v1.14.10

Components that must be upgraded manually after you have upgraded the control plane with ‘kubeadm upgrade apply‘:
COMPONENT   CURRENT       AVAILABLE
Kubelet     3 x v1.14.1   v1.14.3

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

COMPONENT            CURRENT   AVAILABLE
API Server           v1.14.1   v1.14.3  #可以看到此时要升级的版本
Controller Manager   v1.14.1   v1.14.3
Scheduler            v1.14.1   v1.14.3
Kube Proxy           v1.14.1   v1.14.3
CoreDNS              1.3.1     1.3.1
Etcd                 3.3.10    3.3.3

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

	kubeadm upgrade apply v1.14.3

4、在master节点开始升级到指定的版本

[[email protected] ~]# kubeadm upgrade  apply v1.14.3

显示以下框的内容就说明已经升级成功!!!

5、在master节点上升级各node节点配置文件

[[email protected] ~]# kubeadm upgrade node config --kubelet-version 1.14.3
[kubelet-start] Downloading configuration for the kubelet from the "kubelet-config-1.14" ConfigMap in the kube-system namespace
[kubelet-start] Writing kubelet configuration to file "/var/lib/kubelet/config.yaml"
[upgrade] The configuration for this node was successfully updated!
[upgrade] Now you should go ahead and upgrade the kubelet package using your package manager.

3、在各个node节点上安装最新版本的kubeadm、kubelet、kubectl包

[[email protected] ~]# yum -y install kubelet-1.14.3  kubeadm-1.14.3 kubectl-1.14.3
[[email protected] ~]# yum -y install kubelet-1.14.3  kubeadm-1.14.3 kubectl-1.14.3

4、验证最后K8S升级后的版本    

[[email protected] network-scripts]# kubectl get node
NAME     STATUS   ROLES    AGE   VERSION
master   Ready    master   21m   v1.14.3
node1    Ready    <none>   20m   v1.14.3
node2    Ready    <none>   20m   v1.14.3

  

  

  

 

 

 

原文地址:https://www.cnblogs.com/struggle-1216/p/12209150.html

时间: 2024-07-30 05:20:42

kubernetes之二---基于kubeadm升级K8S版本的相关文章

k8s版本升级脚本(一键升级k8s版本脚本)

hi!~今天对咱们的k8s脚本修复完毕,修改了不少函数.另外写了一个k8s升级脚本,只要是用波哥的k8s一键部署脚本部署的集群,您可以升级到任意版本啦!如是最好,这样我就不用每个版本都写一个部署脚本了.那么能升到哪些版本呢? 凡是用 yum list --showduplicates kubeadm --disableexcludes=kubernetes 能查到的版本都可以一键升级包括(1.17.0),当然前提是你老版本的k8s集群是用我写的一键部署脚本部署的. 波哥直接将1.14.1升级至1

搭建Kubernetes,基于Kubeadm

基于Kubeadm搭建Kubernetes v1.11.2全记录所需镜像k8s.gcr.io/pause:3.1k8s.gcr.io/corednsquay.io/coreos/flannel:v0.10.0-amd64k8s.gcr.io/etcd-amd64:3.2.18k8s.gcr.io/kube-proxy-amd64:v1.11.2k8s.gcr.io/kube-apiserver-amd64:v1.11.2k8s.gcr.io/kube-controller-manager-amd

Kubernetes 集群升级docker版本

Kubernetes 集群升级docker版本 原则:升级完一台正常后再接着升下一台. Work Node 一.迁移上的pod(保证业务,但期间会出现抖动) kubectl drain $NODE --ignore-daemonsets --delete-local-data --force 迁移的过程中如果提示pod无法删除,则需要手动delete. 二.升级docker版本至18.09.9 1.停掉kubelet及docker服务 systemctl stop kubelet systemc

Kubernetes/3.使用Kubeadm部署k8s集群

使用Kubeadm部署k8s集群 kubeadm是一个提供了"kubeadm init"和"kubeadm join"最佳实践命令,且用于快速构建一个kubernetes集群的工具,你可以使用此工具快速构建一个kubernetes学习环境.通过本章节的学习,你将能够使用kubeadm工具,成功构建出一个基础的kubernetes集群环境. 环境准备 Hosts文件准备 Docker环境配置 其他准备工作 使用Kubeadm部署k8s集群 参考文档 备注 环境准备 i

基于kubeadm部署kubernetes集群(一)

一.主机规划 角色名称 配置 域名 IP地址 master 2C8G/4G master.example.com 192.168.0.1 node1 2C4G/2G node1.example.com 192.168.0.2 node2 2C4G/2G node2.example.com 192.168.0.3 二.软件要求 操作系统版本: CentOS Linux release 7.3.1611 (Core) Docker版本:1.13.1, build 07f3374/1.13.1 Kub

kubernetes实战(二十七):CentOS 8 二进制 高可用 安装 k8s 1.16.x

1. 基本说明 本文章将演示CentOS 8二进制方式安装高可用k8s 1.16.x,相对于其他版本,二进制安装方式并无太大区别.CentOS 8相对于CentOS 7操作更加方便,比如一些服务的关闭,无需修改配置文件即可永久生效,CentOS 8默认安装的内核版本是4.18,所以在安装k8s的过程中也无需在进行内核升级,系统环境也可按需升级,如果下载的是最新版的CentOS 8,系统升级也可省略. 2. 基本环境配置 主机信息 192.168.1.19 k8s-master01 192.168

Kubernetes学习之路(一)之Kubeadm部署K8S集群

一个星期会超过多少阅读量呢??发布一篇,看看是否重新在51上写学习博文,有老铁支持嘛?? 使用kubeadm部署集群 节点名称 ip地址 部署说明 Pod 网段 Service网段 系统说明 k8s-master 192.168.56.11 docker.kubeadm.kubectl.kubelet 10.244.0.0/16 10.96.0.0/12 Centos 7.4 k8s-node01 192.168.56.12 docker.kubeadm.kubelet 10.244.0.0/1

基于hdp2.5升级phoenix版本为4.8

hdp2.5自带的phoenix是4.7的,而客户的驾驶舱项目跑在4.7的phoenix上是有问题的,如:如果表中没有数据,执行select count(*) from 表,返回的是空,这时导致驾驶舱项目报错误.所以决定升级phoenix版本为4.8,过程如下 1.在ambari中关闭Hbase.Ambari Metrics 2.备份原来的phoenix mv phoenix phoenixbak 3.上传phoenix安装包apache-phoenix-4.8.2-HBase-1.2-bin.

使用Kubeadm创建k8s集群之节点部署(三十一)

前言 本篇部署教程将讲述k8s集群的节点(master和工作节点)部署,请先按照上一篇教程完成节点的准备.本篇教程中的操作全部使用脚本完成,并且对于某些情况(比如镜像拉取问题)还提供了多种解决方案.不过基于部署环境和k8s的复杂性,我们需要对k8s集群部署过程中的一些步骤都有所了解,尤其是“kubeadm init”命令. 目录 主节点部署  Kubeadm以及相关工具包的安装 批量拉取k8s相关镜像 使用“kubeadm init”启动k8s主节点 启动k8s主节点 kubectl认证 安装f