系统运维

半夜偷偷烧钱的服务器?用这套方案每年白捡一辆特斯拉

字号+作者:创站实验室来源:物联网2025-11-26 19:31:09我要评论(0)

你是一个程序员,前后端是你,运维还是你。公司有一批云服务器,上面部署了视频推荐,语音识别,前端网页等各种应用服务。你经常要手动将应用服务挨个部署到各个服务器上,服务器出问题了,还得跑到别的服务器上手动

你是半夜白捡一个程序员 ,前后端是偷偷你 ,运维还是烧钱斯拉你。

公司有一批云服务器,用套上面部署了视频推荐 ,每年语音识别,辆特前端网页等各种应用服务。半夜白捡

你经常要手动将应用服务挨个部署到各个服务器上,偷偷服务器出问题了,烧钱斯拉还得跑到别的用套服务器上手动部署一遍  。每天都累得嗷嗷叫。每年

随着业务发展,辆特用户变多 ,高防服务器半夜白捡应用 cpu 使用率变高,偷偷你需要手动部署更多应用到更多服务器上 。烧钱斯拉

可老板发现了问题,服务器实时计费,大晚上的没人用,放着也是浪费钱,如果能及时归还 ,那岂不是能省下一大笔服务器费用?

这。。 。难不成要你晚上手动归还服务器,第二天早上再重新申请新服务器,然后手动部署应用服务吗 ?

经常当牛马的模板下载兄弟都知道 ,这听起来虽然很离谱,但也并非不可能。

那有更好的解决方案吗?有 !没有什么是加一层中间层不能解决的,如果有  ,那就再加一层。

图片

这次我们要加的中间层有俩,分别是 Kubernetes 和 节点伸缩工具 ,比如Cluster Autoscaler和Karpenter  。在介绍它们之前,亿华云我们先来了解下 Kubernetes 的几个概念 。

节点扩容工具

k8s 是什么

Kubernetes, 简称 k8s,我们可以把它当做服务器和应用服务之间的中间层。在腾讯云里,它叫 TKE ,Tencent Kubernetes Engine 。

k8s是什么

有了它,你不再需要苦哈哈手动部署服务,你只要写好一份类似 todo list 的配置文件 ,k8s 就可以自动将应用部署到各个服务器上,应用崩了还能自动帮你找到另外一台服务重新部署 。源码库

通过yaml文件部署服务

那它是怎么做到的呢 ?

我们知道,公司里通常会维护一批云服务器 ,它们可以是物理机或虚拟机 。

k8s 会将这些服务器分为两类,一部分叫控制平面(control plane) ,另一部分叫工作节点 ,也就是 Node 。

控制平面和工作节点

control plane决定应用部署到具体哪个 node 上。而 node 则负责实际部署各种应用服务,这些千奇百怪的应用服务 ,我们统一管它叫 pod ,建站模板它们共同构成 k8s 集群 。

k8s集群

举个例子 ,不同的 node 可以是不同规格的服务器 ,有些 4c8g,有些 8c32g. 如果你想要部署一个 4c16g 的视频推荐服务,以前你需要手动选择服务器部署 ,但现在你只需要执行一行命令 ,control plane 就会自动帮你选择好 node  , 做自动部署 。

并且随着业务发展 ,用户变多,应用的 cpu 使用率变高 ,云计算k8s 还能帮你自动增加 pod ,也就是所谓的扩容 。晚上资源利用率下来了,k8s 也能自动减少 pod 数量,完成缩容  ,很省心  ,让你感觉未来可期 。

节k点伸缩工具是什么

可是问题又来了 ,k8s 的扩缩容是针对 pod 的 ,不是针对 node 的  。也就是说,有了 k8s ,你不需要手动部署服务了,可一旦 k8s 集群内总的工作节点 CPU 内存不足,你就还得手动到腾讯云上开关服务器 ,并手动将它们加入到 k8s 集群中  。那有办法让node节点也支持弹性伸缩吗?

k8s的扩缩容维度

有 ,既然加一层中间层不能解决问题,那就再加一层 。

我们可以在 k8s 和云厂商服务器之间,加一层自动化节点管理工具来实现节点自动伸缩  。

自动化节点管理工具

这类工具有很多,以腾讯云TKE为例,它同时支持 CA (Cluster Autoscaler)和Karpenter两种主流方案。它们都可以实现节点伸缩功能 ,前者是K8s社区标准方案 ,后者则是新一代弹性伸缩方案 。我们来看下它们有哪些区别。

TKE同时支持两种节点伸缩方案

节点扩容

不管是Karpenter还是CA  ,它们实际上都会以 pod 的形式部署到 node 上,然后通过 control plane 获取 k8s 集群资源状态 。

当它们识别到 k8s 集群内出现了一些想要部署但却由于 node 资源不足,导致无法部署的 pod 应用服务时 ,就会尝试去调用腾讯云的接口,创建云服务器 。再将它加入到 k8s 集群内 ,成为新的 node,完成扩容 。

这时,之前得不到资源的 pod 就能部署到新的 node 上。

节点扩容

不同点在于 ,CA会预先设置好静态服务器的配置 ,相同配置的服务器们构成一个池子,也就是节点池 。资源不足时就在池子里建个新的同配置服务器  。

CA扩容

而Karpenter 则会动态实时计算当前缺了多少 cpu 和内存等信息,然后拿着这些信息调用腾讯云接口创建个资源大小合适、成本最优的服务器 ,相对来说扩容配置参数会少一些。

Karpenter 扩容

node 扩容看完了 ,我们再来看缩容 。

节点缩容

每当夜幕降临 ,蝙蝠侠在哥谭市到处找你那不成器的兄弟时 ,k8s 的流量就会迎来低峰,pod 会缩容,此时节点伸缩工具 识别到部分 node 上面长时间没有正在跑的 pod,就会触发腾讯云的接口 ,将云服务器回收 ,实现 Node 缩容 。对于按时计费的服务器 ,可以大省一笔 。

节点缩容

这部分能力,CA和Karpenter类似 ,但Karpenter会综合考虑服务器成本 ,资源分配等更多因素 ,因此成本控制更精细。

缩容的差异

节点整合

节点缩容后,剩下的一些 node 上虽然跑着 pod ,但可能会出现 cpu 和内存等资源分配率过低的情况 ,这时候 Karpenter 还能通过计算,重新将多个 node 上的 pod 整合到一个更合适的 node上 。从而提升单个 node 的资源利用率,这时候多出来的 node ,就还能进一步缩容。这样就又省了一大笔 。CA虽然不支持节点整合,但是也可以通过缩容分配率低的节点 ,提升其他节点的利用率 。

节点整合

节点替换

这还不够,当节点出现故障 ,比如底层硬件坏了  ,状态异常时, Karpenter 还能立马向腾讯云申请新的云服务器作为 node  ,并将 pod 迁移到新 node 上  ,实现节点替换,保证系统正常运行 。同样CA也可以通过搭配TKE的节点自动修复功能实现类似的效果 。

TKE 的优势

有了CA和Karpenter的加持,腾讯云TKE不仅能根据资源需求自动伸缩  ,还能优化服务器成本,确保你用的每一分钱都花在刀刃上 。只需简单的配置 ,就能轻松将节点伸缩工具集成到你的K8s集群中 ,是绝对的懒人福音。

图片

同时腾讯云还在持续探索更多降本增效的方案 ,比如Karpenter on TKE还在原生Karpenter的基础上结合了 TKE FinOps 调度策略优化 ,助力业务进一步降低资源成本 。

图片

用了它,你老板里子有了,面子也有了 。

现在大家通了吗 ?

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

相关文章
  • Twitter 源代码表明,端到端加密私信即将到来

    Twitter 源代码表明,端到端加密私信即将到来

    2025-11-26 17:51

  • 黑客组织 FIN7 借用 Google Ads 传播恶意软件

    黑客组织 FIN7 借用 Google Ads 传播恶意软件

    2025-11-26 17:43

  • 苹果向92个国家的iPhone用户发送间谍软件警报

    苹果向92个国家的iPhone用户发送间谍软件警报

    2025-11-26 17:09

  • 适用于任何公司的网络安全架构

    适用于任何公司的网络安全架构

    2025-11-26 16:51

网友点评