kubeadm平滑升级kubernetes集群

1、检查集群可更新到的最新正式版

这步需要访问google上的文件,被Wall,超时
I0215 11:50:19.097435   24591 version.go:94] could not fetch a Kubernetes version from the internet: unable to get URL "https://dl.k8s.io/release/stable.txt": Get https://storage.googleapis.com/kubernetes-release/release/stable.txt: net/http: request canceled (Client.Timeout exceeded while awaiting headers)

2、直接在master节点升级kubeadm,kubelet,kubectl

sudo yum install kubeadm kubelet kubectl

3、再次检查可以升级到哪个版本

通过下面信息可以看出目前的版本是v1.13.3,可以升级到的最新版本是v1.14.1

$ sudo 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.13.3
[upgrade/versions] kubeadm version: v1.14.1
I0508 11:57:25.991569   31894 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)
I0508 11:57:25.991643   31894 version.go:97] falling back to the local client version: v1.14.1
[upgrade/versions] Latest stable version: v1.14.1
I0508 11:57:36.077088   31894 version.go:96] could not fetch a Kubernetes version from the internet: unable to get URL "https://dl.k8s.io/release/stable-1.13.txt": Get https://dl.k8s.io/release/stable-1.13.txt: net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers)
I0508 11:57:36.077123   31894 version.go:97] falling back to the local client version: v1.14.1
[upgrade/versions] Latest version in the v1.13 series: v1.14.1

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

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

COMPONENT            CURRENT   AVAILABLE
API Server           v1.13.3   v1.14.1
Controller Manager   v1.13.3   v1.14.1
Scheduler            v1.13.3   v1.14.1
Kube Proxy           v1.13.3   v1.14.1
CoreDNS              1.2.6     1.3.1
Etcd                 3.2.24    3.3.10

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

    kubeadm upgrade apply v1.14.1

_____________________________________________________________________

4、升级集群

sudo kubeadm upgrade apply v1.14.1

5、所有node节点升级kubeadm,kubelet,并重启kubelet

sudo yum install -y kubeadm kubelet kubectl
sudo systemctl restart kubelet

6、升级kubelet的配置

sudo kubeadm upgrade node config --kubelet-version v1.14.1

7、查看

$ kubectl get node
NAME            STATUS   ROLES    AGE    VERSION
k8s-master-45   Ready    master   167d   v1.14.1
k8s-work-46     Ready    worker   167d   v1.14.1
k8s-work-47     Ready    worker   167d   v1.14.1

8、升级网络组件

$ kubectl apply -f "https://cloud.weave.works/k8s/net?k8s-version=$(kubectl version | base64 | tr -d '\n')"

其他组件根据对应的yaml文件看是否需要升级

9、参考

kubeadm-upgrade官方参考

原文地址:https://www.cnblogs.com/knmax/p/12141588.html

时间: 2024-07-30 05:21:32

kubeadm平滑升级kubernetes集群的相关文章

手动升级kubernetes集群

手动升级kubernetes集群 在我最开始写作本书的时候,kubernetes刚发布1.6.0版本,而kubernetes基本按照每三个月发布一个大版本的速度迭代,为了使用新特性和只支持新版本kubernetes的配套软件,升级kubernetes就迫在眉睫,在此我们使用替换kubernets的旧的二进制文件这种暴力的方式来升级测试集群,若升级生产集群还望三思. 另外,自kubernetes1.6版本之后发布的1.7和1.8版本又增加了一些新特性,参考: Kubernetes1.7更新日志 K

CentOS7.5 使用 kubeadm 安装配置 Kubernetes 集群(四)

在之前的文章,我们已经演示了 yum 和二进制方式的安装方式,本文我们将用官方推荐的 kubeadm 来进行安装部署. kubeadm 是 Kubernetes 官方提供的用于快速安装Kubernetes集群的工具,伴随Kubernetes每个版本的发布都会同步更新,kubeadm会对集群配置方面的一些实践做调整,通过实验kubeadm可以学习到Kubernetes官方在集群配置上一些新的最佳实践. 一.环境准备 1.软件版本 软件 版本 kubernetes v1.12.2 CentOS 7.

使用kubeadm平滑地升级kubenetes集群(v1.10.2到v1.10.3)

写在前面 kubernetes是目前最炙手火热的容器管理.调度.编排平台,不仅拥有全面的生态系统,而且还开源.开放自治,谁贡献的多,谁的话语权就大,云提供商都有专门的工程师来从事kubernetes开源项目,其软件的升级迭代非常快,今天我们就来谈谈如何使用kubeadm平滑地升级kubenetes集群到v1.10.3. 备注:kubeadm是一个快速构建kubernetes集群的工具. 查看目前集群版本 从上面可以看到,master节点kubelete版本低于woker节点,kubernetes

使用Kubeadm(1.13)快速搭建Kubernetes集群

Kubeadm是管理集群生命周期的重要工具,从创建到配置再到升级,Kubeadm处理现有硬件上的生产集群的引导,并以最佳实践方式配置核心Kubernetes组件,以便为新节点提供安全而简单的连接流程并支持轻松升级.随着Kubernetes 1.13 的发布,现在Kubeadm正式成为GA. 准备 首先准备2台虚拟机(CPU最少2核),我是使用Hyper-V创建的2台Ubuntu18.04虚拟机,IP和机器名如下: 172.17.20.210 master 172.17.20.211 node1

使用kubeadm部署kubernetes集群

使用kubeadm部署kubernetes集群 通过docker,我们可以在单个主机上快速部署各个应用,但是实际的生产环境里,不会单单存在一台主机,这就需要用到docker集群管理工具了,本文将简单介绍使用docker集群管理工具kubernetes进行集群部署. 1 环境规划与准备 本次搭建使用了三台主机,其环境信息如下:| 节点功能 | 主机名 | IP || ------|:------:|-------:|| master | master |192.168.1.11 || slave1

kubernetes系列03—kubeadm安装部署K8S集群

1.kubernetes安装介绍 1.1 K8S架构图 1.2 K8S搭建安装示意图 1.3 安装kubernetes方法 1.3.1 方法1:使用kubeadm 安装kubernetes(本文演示的就是此方法) 优点:你只要安装kubeadm即可:kubeadm会帮你自动部署安装K8S集群:如:初始化K8S集群.配置各个插件的证书认证.部署集群网络等.安装简易. 缺点:不是自己一步一步安装,可能对K8S的理解不会那么深:并且有那一部分有问题,自己不好修正. 1.3.2 方法2:二进制安装部署k

Kubeadm部署Kubernetes集群

Kubeadm部署Kubernetes1.14.1集群 原理kubeadm做为集群安装的"最佳实践"工具,目标是通过必要的步骤来提供一个最小可用的集群运行环境.它会启动集群的基本组件以及必要的附属组件,至于为集群提供更丰富功能(比如监控,度量)的组件,不在其安装部署的范围.在环境节点符合其基本要求的前提下,kubeadm只需要两条基本命令便可以快捷的将一套集群部署起来.这两条命令分别是: kubeadm init:初始化集群并启动master相关组件,在计划用做master的节点上执行

kubeadm搭建kubernetes集群

一.环境准备首先我的三个ubuntu云主机的配置如下 cpu数量 内存 磁盘 Ubuntu 2 8G 20G 18.04LTS 而且能保证三台机器都能连接外网这里的所有命令都是在root用户下操作的二.安装 1.在所有的节点上安装Docker和kubeadm [email protected]:~# apt-get install curl -y [email protected]:~# curl -s https://packages.cloud.google.com/apt/doc/apt-

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