您当前的位置:首页 > 电脑百科 > 程序开发 > 架构

运维总监怒怼开发:你真的需要 K8s 吗?

时间:2024-05-15 13:37:49  来源:dbaplus社群  作者:

Kube.NETes 以其自动化管理与可扩展性等优点不断吸引着新用户,然而,它的配置复杂与资源消耗高等特点也一直被诟病,开发人员或许都曾扪心自问:我们真的需要 Kubernetes 吗?

秉持着和平交流的学习态度,小编精选了几位高赞知乎网友的精彩回答,分享给大家学习交流(勿上升、勿引战):

1号知乎网友:林英

说句难听点的,很多项目,springcloud+k8s,整了10几个后端,一堆服务器;

日活都没上万,日增数据就万条,那点量,整几个springboot 弄弄就行,服务器费用,开发费用一砍,拿来做市场多好,别和我谈解耦,你就这点并发,写个 for 循环,里面可劲写 select 语句都不会蹦。

2号知乎网友:泰酷啦

我最近几年待过的公司,我只要一进公司,基本上都是主导或力推全面容器化、K8s 化,不论业务体量(当然,微服务是必须的)。

对于连续用了4年 K8s 的我来说,哪怕你只有三台服务器,我也要给你部署 K8s。

如果你只有一台物理机,我恨不得给你虚拟化三台机器出来再装个 K8s(只是恨不得而已)。

如果你说没必要,我下意识的感觉就是你肯定还不熟悉K8s。

下面简单说一下我已经离不开 K8s 的理由。

从线上费用来讲,各种云已经有托管 master 的集群在售,你直接买 node 就行,一个 node 和 一个 ecs 的费用相差也不大(同等配置)。

从线下费用来讲,不管你用不用 k8s,服务器是必须的吧,这个无论如何免不了。

从服务器维护来讲,相对传统的公司服务器一般会用 esxi 等虚拟化技术将物理机分配成若干个虚拟机,而你用了 k8s 之后,你直接可以将物理机作为集群的一个 node,免去虚拟化的时间和维护成本,新购机器直接作为 node 加入资源池。

从维护难度来讲,你只要能熟练使用 kubectl,你的大部分运维工作都可以免去 ssh 这个操作了。

我要运行一个应用:

kubectl create deploy xx --image=xxx

我要让服务可以外部访问:

kubectl expose deploy xx --type xx --target-port xx --port xx

我的应用要扩展一下副本,做下负载均衡:

kubectl scale deploy xx --replicas xx

我要配下域名、转发、黑白名单:

kubectl edit ing ...

对于CI/CD、服务发布更新:

kubectl set image xxx App image=xxx 或 helm upgrade ...

回想一下多年以前你写了一个 300 行的 Shell 只为所谓的平滑更新一个应用的版本,K8s 依然只要你 kubectl 一下。

再进阶一点,你如果稍具开发技能,对接一下 K8s 的 api,把上面的这些操作做到 UI 让开发点点点,你会发现,如果你公司本来有 10 个运维,这么一搞可能两个就够了(留一个陪另一个吃饭)。

额,写到这里的时候重新看了下题,是对开发来讲的哈……那我只能说,K8s 真的牛……

3号知乎网友:匿名好友

我司都没有运维部门,技术总监让我们只用 Docker 来部署一下,我们写好 Dockerfile 之后让生产机器让跑镜像,SLB 去反向代理。但容器 down 了 2 天大家都不知道,还是另一个同事闲的没事做看看日志才发现不对劲。半夜突然要扩容了怎么做?随手挑一台机器去部署容器然后手动改 Nginx/SLB ?

很多「总监」意识不到上云到底上的啥,毕竟它们连 Docker 这种 CRI 容器运行时接口是什么都没有搞清楚(不是所有人)。

云原生除了容器、微服务之外,核心的基础设施就是容器编排!google 15 年的积累你说不需要就不需要?

现代运维部门、后端的架构部门,掌握 Kubernetes 已经是必备的了,因为它解决了微服务的部署问题,而且已然是容器编排的事实标准。别和我说 Docker Swarm,Docker 公司自己都放弃了。

4号知乎网友:作死w

不知道该不该用,那就不该用。

前后干了几家公司上 K8s 微服务了,统一的体验就是架构设计稀烂,微服务不微,各种基础设施缺失或者没人维护。有的是把 K8s 当 docker-compose 用,有的是野心很大,这也要那也要,但开发维护的人手一只手数的过来。

想上 K8s 最好问问自己,上 K8s 想解决啥问题?K8s是不是最佳解决方案?做好长期和 K8s 相处的准备了吗,CI/CD 自动测试 QA 发布流程怎么迁移?以及想上微服务的,有足够的人手维护基础设施和迁移架构吗?有踩过坑带过队的领导,给你们拆服务、划边界、安排渐进重构吗?

从零开始的项目上 K8s 除了不用在x山代码里重构之外,拆服务划边界写文档还有基础设施维护等等细碎而且让人头大的工作,都是要跟老板要人力的。

除非上 K8s 还是老办法一把梭,无非把 docker run 换成 deployment,那这 K8s 其实用了就跟没用一样。像是另一位答主说服务 down了几个月没人知道。换到K8s上,Pod 不知道啥时候 evicted 了几个月也一样没人知道,节点啥时候挂了几个月也没人知道,某台节点莫名其妙挂上了 tAInt 也不会有人注意,又或者内存配额不够服务OOM重启了,代码报错了,死锁了,难道就有人注意了吗。

问题显然不是出在用 docker 还是 K8s,换 K8s 出的问题只会比用 docker run 直接跑的时候更多、更频繁、更隐蔽。

别把 K8s 当银弹,回归理性,好好想想为什么去用它,怎么用好它。

5号知乎网友:runzhliu

Kubernetes 的重点在于服务编排,这个才是 Kubernetes 真正流行的原因,当然基于 Kubernetes 上做一些架构的创新的想法一直都没停止过,未来会有更多的玩法。

回到问题,开发同学想用 Kubernetes 经常都是被 Kubernetes 强大的社区的宣传所洗脑……这个现象跟十年前 Hadoop/Spark 为代表的大数据框架开始流行很像。

因为很多宣发的文章都把这些新技术宣传的非常高大上,而比较少会提到这些新技术带来的技术管理和运维上的负担。

虽然说大家都是从0开始摸着石头过河的,但是能过河终究要看人才能力上的储备,这就要通过存量的员工或者招聘来的员工来实现团队的建设了。

假设你公司的运维总监找来一个所谓搞过 K8S 的 Leader(实际只是做 K8S 机器运维的工作),要让这样的 Leader 带领公司的容器化工作,肯定是吃苦头的,因为实际他只是搞了机器交付的环节,对 K8S 内部的运作机器、容器、内核都不够熟悉,那么在招聘人才的时候,也经常会走漏眼,毕竟他自己都不懂,很难指望他能够建立一个足以应付大型业务的容器团队。

所以关于到底用不用,除了要考虑公司业务的形态,还得考虑人才和团队储备,而不是看了一堆通稿或者分享之后就兴致勃勃开始容器化。

6号知乎网友:RLLvmd

开发代码逻辑有问题,容易服务终止。K8s 自愈功能自动重启容器,一小时重启三千多次,硬生生扛下了所有,用户没发现服务中断。

7号知乎网友:网瘾大爷

上个月为了成本优化,把全部200多个节点都轮转了一遍,除了数据库节点和一些有状态服务节点,没麻烦其他人,总计2天。

这种操作在没有 K8s 的时候估计得加班搞几周,稍微不小心就是个P0故障。

8号知乎网友:Chen Moore

一共3、5台EC实例的规模你别说K8s了,上个SpringCloud 我都嫌麻烦。

整个 SpringBoot 前面扔个 Nginx 完事,这还是建立在必须得前后端分离用 JAVA 的基础上。

真要从0开始,这点规模

我选择 react / vue + next.js 一把梭。

"你真的需要 K8s 吗?"欢迎在留言区交流,留下你的观点~

整理丨dbaplus社群

来源丨zhihu.com/question/430952886/



Tags:K8s   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,不构成投资建议。投资者据此操作,风险自担。如有任何标注错误或版权侵犯请与我们联系,我们将及时更正、删除。
▌相关推荐
运维总监怒怼开发:你真的需要 K8s 吗?
Kubernetes 以其自动化管理与可扩展性等优点不断吸引着新用户,然而,它的配置复杂与资源消耗高等特点也一直被诟病,开发人员或许都曾扪心自问:我们真的需要 Kubernetes 吗?秉持着...【详细内容】
2024-05-15  Search: K8s  点击:(0)  评论:(0)  加入收藏
我们一起聊聊K8s定时备份MySQL并发送到指定邮箱
边车容器(sidecar):边车容器就是与主容器一起在一个pod中运行的容器,为业务容器赋能,共享一个网络空间,所以可以用127.0.0.1:3306连接主容器的数据库。一、背景:一开始的初衷是,想...【详细内容】
2023-12-29  Search: K8s  点击:(83)  评论:(0)  加入收藏
升级就崩溃,K8s需要LTS版本!
Kubernetes集群不是在升级,就是在升级的路上。而对于维护K8s集群的团队来说,最担心的莫过于,系统因为K8s升级而引发了服务器大规模崩溃。想象一下,K8s升级发生在某个晚上,突然某...【详细内容】
2023-12-05  Search: K8s  点击:(255)  评论:(0)  加入收藏
k8s部署维护问题汇总
集群问题系统Error: unknown flag: --etcd-quorum-read删除service 里面的相应字段start request repeated too quickly for kube-apiserver.service查看是不是有之前的进程...【详细内容】
2023-11-30  Search: K8s  点击:(208)  评论:(0)  加入收藏
五分钟 k8s 实战-滚动更新与优雅停机
当我们在生产环境发布应用时,必须要考虑到当前系统还有用户正在使用的情况,所以尽量需要做到不停机发版。所以在发布过程中理论上之前的 v1 版本依然存在,必须得等待 v2 版本启...【详细内容】
2023-11-30  Search: K8s  点击:(260)  评论:(0)  加入收藏
五分钟 K8s 实战-应用探针
今天进入 kubernetes 的运维部分(并不是运维 kubernetes,而是运维应用),其实日常我们大部分使用 kubernetes 的功能就是以往运维的工作,现在云原生将运维和研发关系变得更紧密了...【详细内容】
2023-11-27  Search: K8s  点击:(195)  评论:(0)  加入收藏
Kubernetes创始人发声!K8s在被反噬!
Kubernetes 变得太复杂了,它需要学会克制,否则就会停止创新,直至丢失大本营。Kubernetes 联合创始人Tim Hockin 罕见发声。在今年的 KubeCon 上,他建议,Kubernetes 核心维护者应...【详细内容】
2023-11-27  Search: K8s  点击:(175)  评论:(0)  加入收藏
K8s-服务网格实战-配置 Mesh(灰度发布)
在上一篇 k8s-服务网格实战-入门Istio中分享了如何安装部署 Istio,同时可以利用 Istio 实现 gRPC 的负载均衡。今天我们更进一步,深入了解使用 Istio 的功能。从 Istio 的流量...【详细内容】
2023-11-08  Search: K8s  点击:(376)  评论:(0)  加入收藏
Wasm的野心:取代K8s,不如结合K8s
作者丨B. Cameron Gain编译丨诺亚出品 | 51CTO技术栈(微信号:blog51cto)虽然WebAssembly (Wasm)已被证明在浏览器和某些有针对性的服务器部署中可以很好地工作,但允许开发人员“...【详细内容】
2023-11-07  Search: K8s  点击:(393)  评论:(0)  加入收藏
在本地 K8s 中轻松部署自签 TLS 证书
随着互联网的飞速发展,安全性日益成为我们关注的焦点。HTTPS 已从一项奢侈的技术逐渐成为现代网络交互的标准。它不仅仅是保护信息的重要工具,更是实现信任和品质的象征...【详细内容】
2023-11-03  Search: K8s  点击:(272)  评论:(0)  加入收藏
▌简易百科推荐
运维总监怒怼开发:你真的需要 K8s 吗?
Kubernetes 以其自动化管理与可扩展性等优点不断吸引着新用户,然而,它的配置复杂与资源消耗高等特点也一直被诟病,开发人员或许都曾扪心自问:我们真的需要 Kubernetes 吗?秉持着...【详细内容】
2024-05-15    dbaplus社群  Tags:K8s   点击:(0)  评论:(0)  加入收藏
2024年的云原生架构需要哪些技术栈
背景时间过得很快啊,一转眼已经到了 2024 年,还记得 15 年刚工作那会掌握个 SSM/H(Spring/Struts2/Mybatis/Hibernate) 框架就能应付大部分面试了。现在 CS 专业的新同学估计...【详细内容】
2024-04-22    dbaplus社群  Tags:架构   点击:(11)  评论:(0)  加入收藏
对于微服务架构监控应该遵守的原则
随着软件交付方式的变革,微服务架构的兴起使得软件开发变得更加快速和灵活。在这种情况下,监控系统成为了微服务控制系统的核心组成部分。随着软件的复杂性不断增加,了解系统的...【详细内容】
2024-04-03  步步运维步步坑    Tags:架构   点击:(16)  评论:(0)  加入收藏
大模型应用的 10 种架构模式
作者 | 曹洪伟在塑造新领域的过程中,我们往往依赖于一些经过实践验证的策略、方法和模式。这种观念对于软件工程领域的专业人士来说,已经司空见惯,设计模式已成为程序员们的重...【详细内容】
2024-03-27    InfoQ  Tags:架构模式   点击:(32)  评论:(0)  加入收藏
哈啰云原生架构落地实践
一、弹性伸缩技术实践1.全网容器化后一线研发的使用问题全网容器化后一线研发会面临一系列使用问题,包括时机、容量、效率和成本问题,弹性伸缩是云原生容器化后的必然技术选择...【详细内容】
2024-03-27  哈啰技术  微信公众号  Tags:架构   点击:(23)  评论:(0)  加入收藏
DDD 与 CQRS 才是黄金组合
在日常工作中,你是否也遇到过下面几种情况: 使用一个已有接口进行业务开发,上线后出现严重的性能问题,被老板当众质疑:“你为什么不使用缓存接口,这个接口全部走数据库,这怎么能扛...【详细内容】
2024-03-27  dbaplus社群    Tags:DDD   点击:(40)  评论:(0)  加入收藏
高并发架构设计(三大利器:缓存、限流和降级)
软件系统有三个追求:高性能、高并发、高可用,俗称三高。本篇讨论高并发,从高并发是什么到高并发应对的策略、缓存、限流、降级等。引言1.高并发背景互联网行业迅速发展,用户量剧...【详细内容】
2024-03-13    阿里云开发者  Tags:高并发   点击:(21)  评论:(0)  加入收藏
如何判断架构设计的优劣?
架构设计的基本准则是非常重要的,它们指导着我们如何构建可靠、可维护、可测试的系统。下面是这些准则的转换表达方式:简单即美(KISS):KISS原则的核心思想是保持简单。在设计系统...【详细内容】
2024-02-20  二进制跳动  微信公众号  Tags:架构设计   点击:(52)  评论:(0)  加入收藏
详解基于SpringBoot的WebSocket应用开发
在现代Web应用中,实时交互和数据推送的需求日益增长。WebSocket协议作为一种全双工通信协议,允许服务端与客户端之间建立持久性的连接,实现实时、双向的数据传输,极大地提升了用...【详细内容】
2024-01-30  ijunfu  今日头条  Tags:SpringBoot   点击:(38)  评论:(0)  加入收藏
PHP+Go 开发仿简书,实战高并发高可用微服务架构
来百度APP畅享高清图片//下栽のke:chaoxingit.com/2105/PHP和Go语言结合,可以开发出高效且稳定的仿简书应用。在实现高并发和高可用微服务架构时,我们可以采用一些关键技术。首...【详细内容】
2024-01-14  547蓝色星球    Tags:架构   点击:(170)  评论:(0)  加入收藏
站内最新
站内热门
站内头条