是否有必要用 K8S

2021-06-02 20:29:40 +08:00
 beryl

公司是做 ToB 私有化部署,预估每个月有 5-10 个项目,产品加上中间件 大约十几个进程,有专门的交付同学,需要交付部署。现在方案是采用 docker 容器方式,准备上 K8S 。

但是老板今天质疑为什么要上 K8S,主要是两点:

  1. 多了 K8S, 部署的时候服务资源就要多占用,毕竟 K8S 本身也需要资源
  2. K8S 能够带来哪些显著收益

这两个问题也是自己在纠结的,同时也在想 K8S 能够带来什么,交付更快?

18573 次点击
所在节点    Kubernetes
109 条回复
beryl
2021-06-02 22:21:08 +08:00
@12101111 单个节点的概念一般是多大配置呢

另外节点一般几个 pod 呢

谢谢
calmzhu
2021-06-02 22:34:57 +08:00
@beryl 存粹 toB 不高频私有化部署的话。个人觉得 docker-compose pxe/系统自定义镜像+hook 脚本更好 。k8s 优势在于可以把各种变更的成本降低到极致之后,做一些高抽象层级的事更方便
calmzhu
2021-06-02 22:35:39 +08:00
@calmzhu 用 ansible 吧
12101111
2021-06-02 22:40:49 +08:00
@beryl 单节点建议改用 k3s, k8s 至少 3 节点吧
Pod 数量一般两位数, 一位数就高射炮打蚊子了,三位数没有 CPU 带的动, 至于是十几个还是几十个,那就看 CPU 和内存配置了
lucays
2021-06-02 22:53:49 +08:00
k8s 细节太复杂了,,我前公司把握不住后来换回 docker-compose 了
djoiwhud
2021-06-02 23:45:27 +08:00
面向练手编程。

应届生:什么新,什么高大上,怎么搞。毕竟只看一下博客写高大上的技术心里没底。搞黄了企业可以再找工作 double 一下。
老员工:什么简单稳定用什么,毕竟瞎搞公司黄了要找工作。
mazyi
2021-06-03 00:02:56 +08:00
k8s 比几十个进程复杂几十倍。。。
beryl
2021-06-03 00:10:16 +08:00
@djoiwhud 我的目标是哪个可以帮助公司
zqcolor
2021-06-03 00:15:13 +08:00
应该要上,之后跳槽简历好看很多
用上 helm chart 后,ci cd 很方便
mooyo
2021-06-03 00:19:12 +08:00
你们现有的服务会需要经常进行调整么?
目前的发版流程方便么?
常规发布是无损的么?

上了 k8s 以后还能比较方便的对不同服务进行扩缩容,也可以考虑下这些是不是你们现在的痛点。
mooyo
2021-06-03 00:20:54 +08:00
上 k8s 不一定会导致复杂性的增加,常规使用并不需要用到高级特性,只需要有一个能 cover 住的人搞定环境其他人上去点点点就行。 但是服务多起来以后会有其他额外的问题需要考虑....以及你现有的服务是不是可以比较方便的改造成适合 k8s 部署的状态。
dayeye2006199
2021-06-03 01:31:46 +08:00
给你老板看看这个:F16 战斗机里面跑 k8s - https://www.cncf.io/blog/2020/05/07/with-kubernetes-the-u-s-department-of-defense-is-enabling-devsecops-on-f-16s-and-battleships/

如果你们交付都在一台机器上,只是想用容器,推荐 docker-compose ;
如果你们需要在私有网络内多机部署,推荐轻量级 k3s
如果你们在公有云上部署,推荐云厂商提供的 managed k8s

k8s 的一些好处:
* 持续交付速度比较快,原生支持 zero downtime 部署
* 原生支持配置中心
* 周边生态比较丰富,如果需要动态服务伸缩,监控,日志等服务,都有比较成熟的周边产品


但推荐至少团队里面得有一个老司机对这块比较熟悉,否则至少得做一下 POC,一下直接上生产环境,在 deadline 的逼迫下会比较挣扎。
ReferenceE
2021-06-03 02:50:48 +08:00
K8S 这业务量没必要,框架学习成本远大于收益
kennylam777
2021-06-03 04:53:24 +08:00
證明你公司的東西太簡單.....有時候用簡單的 docker-compose 做 deployment,health-check 麻煩點太多而且不好 scale,果斷換回 k8s 。

雖然 k8s master 節點也是資源,但三台 4GB RAM+的機器面對業務來說不是錢吧。要不就上 EKS 一類的 managed k8s 。
zenwong
2021-06-03 06:18:08 +08:00
老板想用,所以有必要。
holulu
2021-06-03 07:01:42 +08:00
看实际情况,如果没几十上百个微服务要管理就没必要。服务数量少,维护 k8s 的成本比管理服务还要高。
xuanbg
2021-06-03 07:04:27 +08:00
私有化部署不是发布到客户的服务器上面吗?服务器资源不是客户提供?不知道你们老板为啥要纠结资源的问题。

如果是动态范围不是很大的,需要随时自动横向扩展 /收缩的,k8s 就完全没有必要了。增加无谓的复杂度,提高运维的工作量。直接 docker run 也不是不行。反正我的经验是,只要脚本写好,就是一个命令的事情,要什么 k8s 。
plko345
2021-06-03 08:30:34 +08:00
@beryl ansible salt 有太多方案能解决交付,完全能做到一键搞定
csdreamdong
2021-06-03 09:01:27 +08:00
@xuanbg 强烈赞同!
Rwing
2021-06-03 09:03:12 +08:00
我觉得可以用,不要被吓到,其实没那么难,你又不进行二次开发,只是使用而已,找一个专门的人专门运维这一块就可以了

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

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

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

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

© 2021 V2EX