K8S集群平滑升级技巧


现在版本是1.15.4,,太高了可以回退版本


【K8S运维知识汇总】第4天8:K8S集群平滑升级技巧_软连接

两个节点都是1.15.4,升级k8s的时候,要在流量低谷的时候做

【K8S运维知识汇总】第4天8:K8S集群平滑升级技巧_软连接_02

现在集群了有不少pod,因为scheduler帮你去做平衡,先去升级21

【K8S运维知识汇总】第4天8:K8S集群平滑升级技巧_软连接_03

先把node从k8s集群里摘出来

【K8S运维知识汇总】第4天8:K8S集群平滑升级技巧_edn_04

就剩一个节点了

【K8S运维知识汇总】第4天8:K8S集群平滑升级技巧_软连接_05

原来在21上的coredns就跑到22节点上了

【K8S运维知识汇总】第4天8:K8S集群平滑升级技巧_edn_06

coredns完全没受影响,尽管从一个节点到了另外一个节点,这就是容器编排的特性

【K8S运维知识汇总】第4天8:K8S集群平滑升级技巧_软连接_07

做的好一点,就把11上的nginx,把21的upstream注释掉

【K8S运维知识汇总】第4天8:K8S集群平滑升级技巧_重启_08


【K8S运维知识汇总】第4天8:K8S集群平滑升级技巧_重启_09

【K8S运维知识汇总】第4天8:K8S集群平滑升级技巧_edn_10

7层的负载均衡也注释掉

【K8S运维知识汇总】第4天8:K8S集群平滑升级技巧_重启_11


【K8S运维知识汇总】第4天8:K8S集群平滑升级技巧_edn_12

现在上1.15.4回退到1.15.2

【K8S运维知识汇总】第4天8:K8S集群平滑升级技巧_软连接_13


【K8S运维知识汇总】第4天8:K8S集群平滑升级技巧_edn_14

生产中解压,还是需要慎重一点

【K8S运维知识汇总】第4天8:K8S集群平滑升级技巧_edn_15


【K8S运维知识汇总】第4天8:K8S集群平滑升级技巧_edn_16

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

【K8S运维知识汇总】第4天8:K8S集群平滑升级技巧_软连接_17

原来kubernetes是一个软连接

【K8S运维知识汇总】第4天8:K8S集群平滑升级技巧_软连接_18

要把源码包先删除

【K8S运维知识汇总】第4天8:K8S集群平滑升级技巧_重启_19


【K8S运维知识汇总】第4天8:K8S集群平滑升级技巧_重启_20

把这些都删除了

【K8S运维知识汇总】第4天8:K8S集群平滑升级技巧_软连接_21


【K8S运维知识汇总】第4天8:K8S集群平滑升级技巧_软连接_22


【K8S运维知识汇总】第4天8:K8S集群平滑升级技巧_软连接_23

把所有的.sh拷贝一下

【K8S运维知识汇总】第4天8:K8S集群平滑升级技巧_edn_24

现在只要把软连接删除,指向1.15.2,启动即可

【K8S运维知识汇总】第4天8:K8S集群平滑升级技巧_重启_25

把软连接重建

【K8S运维知识汇总】第4天8:K8S集群平滑升级技巧_软连接_26

重启这个进程就是新的软连接

【K8S运维知识汇总】第4天8:K8S集群平滑升级技巧_软连接_27

只要kubelet一重启,就帮你加到集群里了

【K8S运维知识汇总】第4天8:K8S集群平滑升级技巧_重启_28

现在的版本就升级到2了

【K8S运维知识汇总】第4天8:K8S集群平滑升级技巧_重启_29

要换成1.15.4就把这个软连接继续删除

【K8S运维知识汇总】第4天8:K8S集群平滑升级技巧_软连接_30


【K8S运维知识汇总】第4天8:K8S集群平滑升级技巧_软连接_31


【K8S运维知识汇总】第4天8:K8S集群平滑升级技巧_软连接_32

生产上不建议 kill -9

【K8S运维知识汇总】第4天8:K8S集群平滑升级技巧_软连接_33


【K8S运维知识汇总】第4天8:K8S集群平滑升级技巧_edn_34

再启动一下

【K8S运维知识汇总】第4天8:K8S集群平滑升级技巧_重启_35

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

【K8S运维知识汇总】第4天8:K8S集群平滑升级技巧_软连接_36

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

【K8S运维知识汇总】第4天8:K8S集群平滑升级技巧_edn_37