K8S集群平滑升级技巧


现在版本是1.15.4,,太高了可以回退版本
在这里插入图片描述

两个节点都是1.15.4,升级k8s的时候,要在流量低谷的时候做
在这里插入图片描述

现在集群了有不少pod,因为scheduler帮你去做平衡,先去升级21
在这里插入图片描述

先把node从k8s集群里摘出来
在这里插入图片描述

就剩一个节点了
在这里插入图片描述

原来在21上的coredns就跑到22节点上了
在这里插入图片描述

coredns完全没受影响,尽管从一个节点到了另外一个节点,这就是容器编排的特性
在这里插入图片描述

做的好一点,就把11上的nginx,把21的upstream注释掉
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

7层的负载均衡也注释掉
在这里插入图片描述
在这里插入图片描述

现在上1.15.4回退到1.15.2
在这里插入图片描述
在这里插入图片描述

生产中解压,还是需要慎重一点
在这里插入图片描述
在这里插入图片描述

这时候就有两个版本,1.15.2和1.15.4

在这里插入图片描述

原来kubernetes是一个软连接
在这里插入图片描述

要把源码包先删除
在这里插入图片描述
在这里插入图片描述

把这些都删除了
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

把所有的.sh拷贝一下
在这里插入图片描述

现在只要把软连接删除,指向1.15.2,启动即可
在这里插入图片描述

把软连接重建
在这里插入图片描述

重启这个进程就是新的软连接
在这里插入图片描述

只要kubelet一重启,就帮你加到集群里了
在这里插入图片描述

现在的版本就升级到2了
在这里插入图片描述

要换成1.15.4就把这个软连接继续删除
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

生产上不建议 kill -9
在这里插入图片描述
在这里插入图片描述

再启动一下
在这里插入图片描述

生产上平滑升级就这么做,把集群流量先断掉,node节点摘掉,新的软件包准备好,软连接也准备好,挨个重启服务
在这里插入图片描述

treafik只是daemonset,再21上起了一个

在这里插入图片描述

Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐