Kubernetes 升级记录:从 1.16.3 升级至 1.17.0
参考官方文档 Upgrading kubeadm clusters 在 ubuntu 18.04 上完成了升级,记录一下升级步骤。
一、升级第一个 master 节点
apt-get 安装 kubeadm 1.17.0
apt-mark unhold kubeadm && \
apt-get update && apt-get install -y kubeadm=1.17.0-00 && \
apt-mark hold kubeadm
放空当前节点($CP_NODE为当前升级的节点名称)
kubectl drain $CP_NODE --ignore-daemonsets
升级前检查
kubeadm upgrade plan
出现告警
[preflight] Running pre-flight checks.
[WARNING CoreDNSUnsupportedPlugins]: there are unsupported plugins in the CoreDNS Corefile
通过 github 上 的 相关 issue 知道这个问题没有影响,可以忽略。
use the --ignore-preflight-errors=CoreDNSUnsupportedPlugins while upgrading. The proxy plugin will be replaced to use forward automatically.
执行升级命令
kubeadm upgrade apply v1.17.0 --ignore-preflight-errors=CoreDNSUnsupportedPlugins
升级成功
[upgrade/successful] SUCCESS! Your cluster was upgraded to "v1.17.0". Enjoy!
解除当前节点的放空状态
kubectl uncordon $CP_NODE
二、升级其他 master 节点的 kubeadm
apt-get 安装 kubeadm 1.17.0
apt-mark unhold kubeadm && \
apt-get update && apt-get install -y kubeadm=1.17.0-00 && \
apt-mark hold kubeadm
执行升级命令
kubeadm upgrade node
三、升级所有 master 节点的 kubelet 与 kubectl
执行升级命令
apt-mark unhold kubelet kubectl && \
apt-get update && apt-get install -y kubelet=1.17.0-00 kubectl=1.17.0-00 && \
apt-mark hold kubelet kubectl && \
systemctl restart kubelet
四、升级 worker 节点的 kubeadm 以及 kubelet 与 kubectl
apt-get 安装 kubeadm 1.17.0
apt-mark unhold kubeadm && \
apt-get update && apt-get install -y kubeadm=1.17.0-00 && \
apt-mark hold kubeadm
在 master 上放空所升级的 worker 节点
NODE=k8s-node4 && \
kubectl drain $NODE --ignore-daemonsets
在 worker 节点上执行升级命令
kubeadm upgrade node
在 worker 节点上升级 kubelet 与 kubectl
apt-mark unhold kubelet kubectl && \
apt-get update && apt-get install -y kubelet=1.17.0-00 kubectl=1.17.0-00 && \
apt-mark hold kubelet kubectl && \
systemctl restart kubelet
在 master 上解除 worker 节点的放空
kubectl uncordon $NODE
到此所有节点升级完成。
NAME STATUS ROLES AGE VERSION
k8s-master0 Ready master 19d v1.17.0
k8s-master1 Ready master 19d v1.17.0
k8s-master2 Ready master 19d v1.17.0
k8s-node3 Ready <none> 22h v1.17.0
k8s-node4 Ready <none> 22h v1.17.0
k8s-node5 Ready <none> 28h v1.17.0
Kubernetes 升级记录:从 1.16.3 升级至 1.17.0的更多相关文章
- Kubernetes 升级过程记录:从 1.17.0 升级至最新版 1.20.2
本文记录的是将 kubernetes 集群从 1.17.0 升级至最新版 1.20.2 的实际操作步骤,由于 1.17.0 无法直接升级到 1.20.2,需要进行2次过滤升级,1.17.0 -> ...
- Docker集群管理工具 - Kubernetes 部署记录 (运维小结)
一. Kubernetes 介绍 Kubernetes是一个全新的基于容器技术的分布式架构领先方案, 它是Google在2014年6月开源的一个容器集群管理系统,使用Go语言开发,Kubernete ...
- 二进制搭建Kubernetes集群(最新v1.16.0版本)
目录 1.生产环境k8s平台架构 2.官方提供三种部署方式 3.服务器规划 4.系统初始化 5.Etcd集群部署 5.1.安装cfssl工具 5.2.生成etcd证书 5.2.1 创建用来生成 CA ...
- XUbuntu18.04(Bionic河狸)正式发布,系统安装升级记录
XUbuntu18.04(Bionic河狸)正式发布,系统安装升级记录 详细介绍: https://blog.pythonwood.com/2018/04/XUbuntu18.04(Bionic河狸) ...
- python-爬虫技能升级记录
====== python-爬虫技能升级记录 ====== ===== (一)感知爬虫及爬取流程 =====<code>从简单存取一个页面到 爬取到大量的定量数据,对技术要求更高,以百度百 ...
- Kubernetes V1.16.2部署Dashboard V2.0(beta5)
Kubernetes V1.16.2部署Dashboard V2.0(beta5) 在Master上部署Dashboard 集群安装部署请看安装Kubernetes V1.16.2 kubectl g ...
- Log4j2又爆雷!2.16.0存在DOS风险,升级2.17.0可解决
本以为,经过上周的2.16.0版本升级,Log4j2的漏洞修复工作,大家基本都要告一段落了. 万万没想到,就在周末,Log4j官方又发布了新版本:2.17.0 该版本主要修复安全漏洞:CVE-2021 ...
- AIX 7.1 RAC 11.2.0.4.0升级至11.2.0.4.6(一个patch跑了3个小时)
1.环境 DB:两节点RAC 11.2.0.4.0升级至11.2.0.4.6 OS:AIX 7.1(205G内存 16C) 2.节点1.节点2(未建库) 2.1.patch 20420937居然用了3 ...
- Oracle 10g 升级至10.2.0.4
http://weihaoluo.blog.163.com/blog/static/224418832010112102355652/ 单实例环境 Vmware Server 1.0.6 +Cen ...
随机推荐
- Git分支规范说明
1.分支类型说明 分支名称 分支描述 唯一 权限管理 release 发布分支,内部分支,当确定需要发布版本时,从develop分支拉出此分支 唯一 最高权限,由版本经理或者团队核心成员组管理 mas ...
- substring && substr
let string = '0123456';string.substring(0,3);//start: number, end?: number 012(而非 0123)string.substr ...
- Spark Streaming:updateStateByKey报错 is not applicable for the arguments...
ones.updateStateByKey(new Function2<List<Integer>, Optional<Integer>, Optional<Int ...
- AspxGridView 客户端点击获取对应的列值
Html 内容: <dx:ASPxGridView ID="ASPxGridViewCluster" runat="server" Width=" ...
- python3练习100题——035
原题链接:http://www.runoob.com/python/python-exercise-example34.html 题目:文本颜色设置. 学习了一下python3 的文本颜色设置. 其实 ...
- php 对接国外支付 ipay88支付
ipay88支付 近期接了一个国外的项目,客户指定要这种支付,就搞搞呗,其实流程和思路都是差不多的,往下看 他的流程其实非常简单 下面的流程仔细看看,看懂了就会了 1 首先我们需要先获取下单所需要的 ...
- mysql5.6创建账户不能本地登录
1.通过xshell连接linux,命令登录mysql 2.创建一个新的库(其实创建不创建都可以) 3.创建账号权限 创建账号luffy 密码luffy 针对库luffy所有权限,允许任何人远程登录 ...
- centos7下编译安装redis5.05
准备环境: 1.一台centos7机器,配置没有什么要求(能联网) 2.下载好redis压缩包 下载redis包: 1.登录redis官网: https://redis.io/download 2.选 ...
- python UI自动化之处理多窗口
前言 有些页面的链接打开后,会重新打开一个窗口,想要在新页面上操作,就需要先切换窗口了.获取窗口的唯一标识用句柄表示,所以只需要切换句柄,我们就能在多个页面上灵活自如的操作了. 1.元素有属性,浏览器 ...
- vue的一些基础知识点,后续会更新最全的vue知识点
axios中jq的基础 jq语法 $(this).hide() 隐藏当前的html元素 $(''#test").hide() 隐藏id='test'的元素 添加新的 HTML 内容 我们将学 ...