文档章节

Kubernetes 1.12.3快速升级

openthings
 openthings
发布于 2018/11/25 10:26
字数 747
阅读 289
收藏 3

Kubernetes 1.12.3已经正式发布,快速升级(含国内镜像快速下载链接)包括升级kubeadm/kubectl/kubelet版本、拉取镜像、升级Kubernetes集群三个主要步骤。注意Kubernetes 1.12.3版本暂时不支持最新的Docker 18.09,只能用Docker 18.06及以下版本,参考《Ubuntu上软件锁定版本不更新》安装特定DockerCE版本。

1、升级kubeadm/kubectl/kubelet版本

sudo apt install kubeadm=1.12.3-00 kubectl=1.12.3-00 kubelet=1.12.3-00

查看该版本的容器镜像版本:

kubeadm config images list

输出如下:

~# kubeadm config images list

k8s.gcr.io/kube-apiserver:v1.12.3
k8s.gcr.io/kube-controller-manager:v1.12.3
k8s.gcr.io/kube-scheduler:v1.12.3
k8s.gcr.io/kube-proxy:v1.12.3
k8s.gcr.io/pause:3.1
k8s.gcr.io/etcd:3.2.24
k8s.gcr.io/coredns:1.2.2

2、拉取容器镜像

原始的kubernetes镜像文件在gcr上,不能直接下载。我给镜像到了阿里云的杭州机房的容器仓库里,拉取还是比较快的。

echo ""
echo "=========================================================="
echo "Pull Kubernetes v1.12.2 Images from aliyuncs.com ......"
echo "=========================================================="
echo ""

MY_REGISTRY=registry.cn-hangzhou.aliyuncs.com/openthings

## 拉取镜像
docker pull ${MY_REGISTRY}/k8s-gcr-io-kube-apiserver:v1.12.3
docker pull ${MY_REGISTRY}/k8s-gcr-io-kube-controller-manager:v1.12.3
docker pull ${MY_REGISTRY}/k8s-gcr-io-kube-scheduler:v1.12.3
docker pull ${MY_REGISTRY}/k8s-gcr-io-kube-proxy:v1.12.3
docker pull ${MY_REGISTRY}/k8s-gcr-io-etcd:3.2.24
docker pull ${MY_REGISTRY}/k8s-gcr-io-pause:3.1
docker pull ${MY_REGISTRY}/k8s-gcr-io-coredns:1.2.2


## 添加Tag
docker tag ${MY_REGISTRY}/k8s-gcr-io-kube-apiserver:v1.12.3 k8s.gcr.io/kube-apiserver:v1.12.3
docker tag ${MY_REGISTRY}/k8s-gcr-io-kube-scheduler:v1.12.3 k8s.gcr.io/kube-scheduler:v1.12.3
docker tag ${MY_REGISTRY}/k8s-gcr-io-kube-controller-manager:v1.12.3 k8s.gcr.io/kube-controller-manager:v1.12.3
docker tag ${MY_REGISTRY}/k8s-gcr-io-kube-proxy:v1.12.3 k8s.gcr.io/kube-proxy:v1.12.3
docker tag ${MY_REGISTRY}/k8s-gcr-io-etcd:3.2.24 k8s.gcr.io/etcd:3.2.24
docker tag ${MY_REGISTRY}/k8s-gcr-io-pause:3.1 k8s.gcr.io/pause:3.1
docker tag ${MY_REGISTRY}/k8s-gcr-io-coredns:1.2.2 k8s.gcr.io/coredns:1.2.2

echo ""
echo "=========================================================="
echo "Pull Kubernetes v1.12.3 Images FINISHED."
echo "into registry.cn-hangzhou.aliyuncs.com/openthings, "
echo "           by openthings@https://my.oschina.net/u/2306127."
echo "=========================================================="

echo ""

保存为shell脚本,然后执行。

3、升级Kubernetes集群

先查看一下需要升级的各个组件的版本。

使用kubeadm upgrade plan ,输出的版本升级信息如下:

COMPONENT            CURRENT   AVAILABLE
API Server           v1.11.2   v1.12.3
Controller Manager   v1.11.2   v1.12.3
Scheduler            v1.11.2   v1.12.3
Kube Proxy           v1.11.2   v1.12.3
CoreDNS              1.1.3     1.2.2
Etcd                 3.2.18    3.2.24

确保上面的容器镜像已经下载(如果没有提前下载,可能被网络阻隔导致挂起),然后执行升级:

kubeadm upgrade -y apply v1.12.3

看到下面信息,就OK了。

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

4、工作节点的升级

每个工作节点需要拉取上面对应版本的镜像,以及安装kubelet的对应版本。

检查版本:

~$ kubectl version

Client Version: version.Info{Major:"1", Minor:"12", GitVersion:"v1.12.3", GitCommit:"4ed3216f3ec431b140b1d899130a69fc671678f4", GitTreeState:"clean", BuildDate:"2018-10-05T16:46:06Z", GoVersion:"go1.10.4", Compiler:"gc", Platform:"linux/amd64"}
Server Version: version.Info{Major:"1", Minor:"12", GitVersion:"v1.12.3", GitCommit:"4ed3216f3ec431b140b1d899130a69fc671678f4", GitTreeState:"clean", BuildDate:"2018-10-05T16:36:14Z", GoVersion:"go1.10.4", Compiler:"gc", Platform:"linux/amd64"}

查看Pod信息:

kubectl get pod --all-namespaces

完成。

更多参考:

© 著作权归作者所有

共有 人打赏支持
openthings
粉丝 294
博文 1066
码字总数 587635
作品 1
东城
架构师
私信 提问
Kubernetes 版本锁定到1.12.3

今天对集群节点的操作系统一升级,很多服务都不能用了。 使用 kubectl version检查,发现是kubeadm自动升级到1.13.0了,但是kubelet服务还是1.12.3 。因为kubernetes 1.13的变化比较大,尤其...

openthings
2018/12/05
0
0
Kubernetes 1.13.1快速升级

Kubernetes 1.13.1已经正式发布,快速升级(含国内镜像快速下载链接)包括升级kubeadm/kubectl/kubelet版本、拉取镜像、升级Kubernetes集群三个主要步骤。注意Kubernetes 1.12.3版本暂时不支...

openthings
2018/12/14
0
0
imlzw/Kubernetes-1.12.3-all-auto-install

Kubernetes-1.12.3-all-auto-install 项目介绍 个人整理的Centos7.x + Kubernetes-1.12.3 + Dashboard-1.8.3 无 CVE-2018-1002105 漏洞的master节点全自动快速一键安装部署文件,适用于测试环...

imlzw
2018/12/11
0
0
Kubeflow等镜像部署到集群多节点

为了将Kubeflow(https://github.com/kubeflow/kubeflow)/Kubernetes等镜像放到本地集群部署或者更新,需要一系列的操作。如果集群的多个节点同时访问外部镜像服务,将带来较大的并发网络流...

openthings
2018/11/28
0
0
Kubernetes对Docker的版本支持列表

Kubernetes 1.9 <--Docker 1.11.2 to 1.13.1 and 17.03.x Kubernetes 1.8 <--Docker 1.11.2 to 1.13.1 and 17.03.x Kubernetes 1.7 <--Docker 1.10.3, 1.11.2, 1.12.6 Kubernetes 1.6 <--Doc......

xiaomin0322
前天
0
0

没有更多内容

加载失败,请刷新页面

加载更多

使用keepalived实现nginx的高可用

概述 是这样子的,我想让家中所有的应用服务都从nginx中出去,让nginx处于访问的最边缘地带,为了让nginx可靠性加强,所以nginx就得实现高可用,分别是下面两台机器要做nginx的集群 10.10.10...

bboysoulcn
今天
1
0
Mysql索引机制B+Tree

1、问题引入 有一个用户表,为了查询的效率,需要基于id去构建索引。构建索引我们需要考虑两个方面的问题,1个是查询的效率,1个是索引数据的存储问题。该表的记录需要支持百万、千万、甚至上...

万山红遍
今天
40
0
RDD

1.概念: RDD是spark整个体系中最基础核心的概念,RDD(Resilient Distributed DataSet)即弹性分布式数据集 弹性: RDD支持横向多分区,纵向操作内存不足写入磁盘,hdfs等,实现数据在内存和...

仟昭
今天
1
0
springboot整合mycat

动态数据源项目整合 Maven依赖信息 <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.0.4.RELEASE</version> <relat......

须臾之余
今天
2
0
深入解析Vue 和微信小程序的区别、比较

写了vue项目和小程序,发现二者有许多相同之处,在此想总结一下二者的共同点和区别。 一、生命周期 先贴两张图: vue生命周期 小程序生命周期 相比之下,小程序的钩子函数要简单得多。 vue的...

前端攻城小牛
今天
9
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部