很多博主说的 K8S“降本增效”的体现在哪里?

2022-10-06 22:58:37 +08:00
 cs3230524

新人问一下: 自动扩缩 pod 不都是基于物理主机现有资源吗?而物理主机的资源都是预付费了的,缩到 1 个和 20 个都不会影响成本啊?难道这句只能是云原生吗?还是说在云上的话有办法自动帮你购买主机然后添加进 Node 里面,缩的时候自动帮你把按量付费的主机释放了??

4725 次点击
所在节点    Kubernetes
31 条回复
qiyuey
2022-10-06 22:59:19 +08:00
节省了造轮子的研发人员
orFish
2022-10-06 23:03:30 +08:00
momocraft
2022-10-06 23:05:52 +08:00
资源总量不变 也可能因为调度而增加利用率

比如用空闲资源跑允许中断的任务
cs3230524
2022-10-06 23:11:14 +08:00
那只能在 pod 层面意义不是很大啊,我还是得自己提前买主机放到集群里咯?
lhx2008
2022-10-06 23:12:51 +08:00
云上的玩法当然是可以扩缩节点的,直接装到物理机上面的话可以考虑加上云上的节点。另外,如果程序数量少的话,只会增本。
learningman
2022-10-06 23:15:09 +08:00
你自己不是把答案说出来了吗,你猜为啥云厂商要精确到按秒计费
fisherwei
2022-10-06 23:18:58 +08:00
这话题说起来可大了。

简单来说,你可以把 k8s 简单理解为一个毛坯房,k8s 为你的业务提供了缩放服务、健康检查、(微)服务级的负载均衡、基于容器技术的交付等等,可以开箱即食,也可以让 devops 针对业务需求二开。
当然这些能力,都是基于你现有的物理机、虚拟机等计算资源实现的。

如果你的运维团队可以 7*24 无休的手工处理这些运维事务的话,k8s 并不能帮你节省计算资源,但是这样的运维团队开销显然比部署一套 k8s 要贵多了。

类似的,CI/CD 也是一样,这些工作完全可以由运维手动来做,但是当你的业务数量增长、迭代加速之后,需要维持一个庞大的运维团队来做交付、部署工作。

所以,粗略来说,这就是 k8s 降本增效的原理。
novolunt
2022-10-07 00:09:03 +08:00
对研发
降成本,暂时看不出来,量大,该多少内存多少 cpu 一个不拉,java 的坑并没有改善
提高效率,也看不出来,代码量还是那么多,跟业务无关,何来增效
对 DevOps
用的 helm+gitlab-ci +ingress/istio
前期投入比较大,后期几乎完全自动化,做更多的反而是 efk+prometheus
总体来讲,对研发增加工作量,对运维,前期增加工作量,后期变成看监控的技术员。有利于业务的健壮性,其他无
novolunt
2022-10-07 00:10:31 +08:00
@cs3230524 很多厂商是有自动扩容的,比如微软云,可以自动扩容,最大两千多台
dayeye2006199
2022-10-07 00:31:25 +08:00
即使物理机都是你的也可以降低成本。你本来的机器利用率是 50%,跑 10 个任务假设需要 16 台机器。
现在用了 k8s ,机器利用率提升到 80%,现在跑同样的任务量,你只需要 10 台机器。

这样在采购机器的时候,就可以少买机器,电费和维护费用也会降低。
提高利用率也是降低成本的一种
cdlnls
2022-10-07 00:42:46 +08:00
可能在某些大规模的集群场景下,通过对资源的调度,可以更加充分的把一些节点上过剩的计算资源重新利用上,也算是一种降低成本的体现。
xy90321
2022-10-07 01:20:09 +08:00
不要把软件层面的问题和硬件层面的问题过分耦合来考虑,也不要把问题给扩大化

自动扩缩需要解决的问题,不是扩缩以后怎么办,而只是单纯的把扩缩的过程尽量自动化

另外,不是因为用了 K8s ,所以调度效率提高后的剩余资源就可以自动换钱了。

而是因为在调度效率提高后剩余资源可以换钱(不管是退记成本还是划作他用)的前提下,所以才去用 K8s 。

如果像你说的空出来的资源也没能力换钱的话,那么在这个场景下,是不是自动扩缩也确实不影响成本开支。
nulIptr
2022-10-07 01:21:59 +08:00
还是说在云上的话有办法自动帮你购买主机然后添加进 Node 里面,缩的时候自动帮你把按量付费的主机释放了??
---
阿里云的 k8s 确实有这个解决方案,最近花了点时间测了一下也能达到文档说的效果,不过目前还没上生产环境。
对于需要大量 gpu 节点的服务还是有点用的。
soclearn
2022-10-07 03:24:51 +08:00
这是针对专业研究和部署人员说的。因为它可以自动化,接上 devops ,还可以集群伸缩。

对于普通人员,没有所谓的增本降效
1423
2022-10-07 03:33:45 +08:00
可以砍掉 k8s 之前自研的系统了,运维减少,开发裁撤。省钱
JaxXu
2022-10-07 08:46:34 +08:00
混合部署,之前很麻烦啊,而且利用率不高
winglight2016
2022-10-07 09:01:36 +08:00
lz 首先要有集群思维,如果只有单机、单实例部署的经验,那 k8s 只是负担,如果有过集群部署,那就能体会到 k8s 有多么方便了。
其次,k8s 是屏蔽了硬件信息的,就像 ORM 对开发人员屏蔽了表结构,以后的趋势也是越来越专业化,开发人员不再关心部署的事情,只要做好业务实现即可。部署也不再关注要购买几台 VPS ,自动伸缩购买节点是可以实现,但是需要预付费。
最后,k8s 初期投入很大,我在公司项目推 k8s ,一个多月了生产环境还没有迁移过去,开发人员也需要时间理解 k8s 的概念。
xzysaber
2022-10-07 10:02:45 +08:00
对于大规模部署来说确实非常方便,减少很多心智负担。
对于资源管理来说支持各种 autoscaler(包括自定义指标),但是这块想要做好,还是需要不少功夫的。
Alliot
2022-10-07 11:57:20 +08:00
首先,k8s 拥有容器的几乎所有优势,资源隔离, 资源颗粒度细化,在其基础上拥有完善的资源缩放,健康检查,流量与资源的负载均衡,调度。

至于你说的 自动帮你购买主机然后添加进 Node 里面,缩的时候自动帮你把按量付费的主机释放了。 几大云厂商都有这种服务,自己也可以通过接口与脚本实现。

另外就是对于突发的无状态型任务,完全可以调度到按量付费的虚拟节点上,虚拟节点按照你负载实际使用的资源来收费。

k8s 的降本增效,适用于中大规模,一俩个节点上 k8s 没必要。强行 k8s == 然并卵
lancel
2022-10-07 14:34:23 +08:00
资源的自动调度,在增加资源利用率同时缩减运维成本。转对大规模部署

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

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

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

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

© 2021 V2EX