半吊子如何操作 k8s 升级

2023-06-20 11:31:41 +08:00
 wtfedc

集群在 20 个节点以内,k8s 版本已经落后好多个版本了(八九个),近期证书会过期,看更换证书的流程也挺麻烦的,想着要不一块把 k8s 升级了。鉴于运维不在了,我头有点大。

之前尝试过上云,感觉太不灵活了,踩了几个坑就停下来了。

如果升级的话,是用 kubeadm upgrade 一步步升级,还是重新开 20 个机器,装上最新版 k8s ,把服务都重新部署一遍呢。

我们跑的服务晚上停一阵也没关系。

请大家给点建议,或者跨 N 多版本升级,容易出现什么坑,提点一下

4321 次点击
所在节点    Kubernetes
44 条回复
Evovil
2023-06-20 16:18:54 +08:00
api 更新修改删除会涉及很多,CRD ,ingress , 之类的
c2const
2023-06-20 16:21:29 +08:00
看到"乱升级 k8s 会变得不幸" :(
笑出声了 :)
c2const
2023-06-20 16:22:11 +08:00
确实别乱升级,风险很大.
paxnil
2023-06-20 16:35:33 +08:00
不跨版本,逐次升级,每个版本的 Urgent Upgrade Notes 都要仔细看,必然要处理的有 Docker 换 containerd ,主节点的 label 、taint 从 master 改名成 control-plane 。
网络插件、Ingress Controller 、各种 Operator 之类的调用 Kubernetes API 的组件都要关注兼容性,落后七八个版本确实不如重建。
要不要看看我的 Kubernetes 30 年证书生成 Makefile https://github.com/mk8s/mkcerts ( DNS 后缀是 kube.local ,不是默认的。)
bboysoulcn
2023-06-20 16:53:39 +08:00
部署的时候全部使用 gitops 去部署,如果是使用 argocd 的话,那就新加一个集群,然后在新集群中部署所有的应用,然后把本地的 dns 改成新集群的 ip ,然后测试验证,没问题的话就切流量
Achilless
2023-06-20 17:42:35 +08:00
我们现在就是 1.15 版本,几乎没有升级想法,想想就头疼,能跑就行哈哈哈
BinaryDH
2023-06-20 18:26:33 +08:00
半吊子?全吊子都不敢随便升级,你真的是心大啊。
chenPiMeiHaoChi
2023-06-20 18:51:49 +08:00
@NGXDLK 后来换公司了,不过不是因为这个,哈哈。
johnnyNg
2023-06-20 20:02:15 +08:00
自己部署的 k8s 还是公有云的 k8s ,自己部署的建议别升级了,像上面说的一样,每个版本,api path ,参数都可能有变化,公有云的可以咨询之后升级
E1n
2023-06-20 22:14:38 +08:00
我们公司最旧的版本还是 1.10 ,18 年部署到现在稳如老狗:)二期自建跟华为 CCE 都是 1.19 版本意思 CRI 还不用 containerd
mooyo
2023-06-20 22:19:45 +08:00
我们实践过几次升级,最稳妥的办法是开个新集群,两个集群互为备份相互升级。
jigege2019
2023-06-21 00:11:30 +08:00
从 1.16 一路升级到 1.22 没遇到什么问题
levelworm
2023-06-21 02:37:04 +08:00
最靠谱(也比较麻烦)的是新建然后全挪过去。原地升级最怕的是出问题无法回滚。
ExplodingFKL
2023-06-21 09:05:01 +08:00
不敢升级,甚至为 kubernetes 打补丁让其默认生成 100 年证书

https://imgur.com/xIu63z4
raycheung
2023-06-21 09:11:36 +08:00
只要还在"又不是不能用的状态,以及必须的强需求",坚决不升级,不然很可能变成跑路之旅[手动狗头]
raycheung
2023-06-21 09:12:35 +08:00
@ExplodingFKL #34 老哥可真狠,直接肝 100 年,6666
tudou1514
2023-06-21 11:05:20 +08:00
k8s 不能跨版本升级,比如 1.18 直接升级 1.20 。如果要原地升级,kubeadm 升级很简单的。只需要谨慎,一个版本一个版本挨着升级,最好是有当时部署的 init 文件。证书会直接跟随升级,有效期也会重置。跨版本多话,直接新建集群。
autumnhlf01
2023-06-21 11:15:10 +08:00
请教下各位公司一般通过什么方式来安装 k8s ,二进制或者还是其他?
manning
2023-06-21 11:52:36 +08:00
看阁下的发型,不像是半吊子
wtfedc
2023-06-21 13:40:49 +08:00
@manning 阁下好眼力,在下就是 20 岁的高圾工程师

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/950259

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX