Kubernetes 集群升级docker版本

Kubernetes 集群升级docker版本

 
原则:升级完一台正常后再接着升下一台。

Work Node 

一、迁移上的pod(保证业务,但期间会出现抖动)

1
kubectl drain $NODE --ignore-daemonsets --delete-local-data --force

迁移的过程中如果提示pod无法删除,则需要手动delete。

二、升级docker版本至18.09.9

1.停掉kubelet及docker服务
1
2
systemctl stop kubelet
systemctl stop docker
2.卸载旧版本
1
sudo yum remove docker docker-common  docker-selinux docker-engine

 只会删除相关软件及依赖,数据目录/var/lib/docker会保留

3.安装依赖
1
sudo yum install -y yum-utils device-mapper-persistent-data  lvm2
添加yum仓库
1
sudo yum-config-manager --add-repo  https://download.docker.com/linux/centos/docker-ce.repo
4.安装新版本
1
sudo yum install -y docker-ce-18.09.9-3.el7 docker-ce-cli-18.09.9-3.el7 containerd.io
5.启动docker服务
1
systemctl start docker
6.检查版本
1
docker version
7.启动kubelet
1
systemctl start kubelet
8.去掉禁止调度
1
kubelet uncordon $NODE

 K8s Master

work node都升级完加入集群正常后,建议现将master服务器做快照,以防万一升级出现问题。

一、

master 上跑的基本上是静态pod,mater相关组件,不需要迁移也迁移不了。

二、升级docker版本至18.09.9

重复上边的步骤。

 
posted @   西门运维  阅读(2184)  评论(0编辑  收藏  举报
编辑推荐:
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· AI与.NET技术实操系列(六):基于图像分类模型对图像进行分类
历史上的今天:
2017-12-21 通过traceroute追踪并打印成图片
2017-12-21 6 个 Linux 运维典型问题
2017-12-21 glob模块
点击右上角即可分享
微信分享提示