五个代价高昂的Kubernetes成本陷阱及其解决方案

人们需要了解Kubernetes在成本管理方面带来的挑战,并使用一些优秀实践解决Kubernetes成本优化的问题。 2021-06-28 09:00:00 Kubernetes容器云计算 快手取消大小周,互联网大厂不卷了... 近日,腾讯光子工作室强制员工 18 点下班引发热议。而字节跳动 CEO 梁汝波 17 日在公司例行 OpenDay 上公布的调研结果表示字节跳动 1/3 员工不支持取消大小周。 2021-06-28 08:57:29 快手腾讯员工 抓包就明白CoreDNS域名解析 DNS 其实就是一个分布式的树状命名系统,它就像一个去中心化的分布式数据库,存储着从域名到 IP 地址的映射。k8s中利用CoreDNS进行域名解析。 2021-06-28 08:26:29 CoreDNS域名 JavaScript 异步编程指南 — 解决方案 Async/Await ES7 之后引入了 Async/Await 解决异步编程,这种方式在 JavaScript 异步编程中目前也被称为 “终极解决方案”。 2021-06-28 08:10:59 JavaScript异步编程 JS 中的函数表达式和函数声明你混淆了吗? 在本文中,我们来看一下,如何使用function关键字来定义函数声明和函数表达式,以及这两种函数之间的区别又是什么。 2021-06-28 08:01:57 JS 函数表达式函数声明 如何排查Python中的内存问题? 译文 内存问题很难在Python中加以诊断和修复。本文介绍了如何使用流行的开源Python软件包查明和修复内存泄漏。 2021-06-28 08:00:00 Python开发编程语言 面试侃集合 | DelayQueue篇 今天我们再来聊聊和它相关的DelayQueue吧?DelayQueue也是一个无界阻塞队列,但是和之前我们聊的其他队列不同,不是所有类型的元素都能够放进去,只有实现了Delayed接口的对象才能放进队列。 2021-06-28 07:44:11 面试 DelayQueue任务调度 Gulp打包支持Await/Async语法 在项目中,最近需要对node代码进行混淆编译,原来曾经解决过ES6打包混淆的问题,在使用的是gulp打包,为了提升代码质量还有异步操作顺序问题,使用了async/await语法,原来的gulpfile混淆又出问题了。 2021-06-28 07:27:43 AwaitAsync语法 为了上班摸鱼,我用Python开发“BOSS来了”! 作为打工人来说,特别是996,、007的工作,除了干饭之外,最紧张刺激的莫过于上班的时候偶尔偷偷闲,去池塘里面摸摸鱼。 2021-06-28 07:13:35 Python工作996 使Vue开发如鱼得水的 VS Code 扩展 作为一个 Vue 搬砖工,我一直在为 Vue 开发寻找合适的 VS Code 扩展。以下是一些好用的扩展,可以让我们在搬砖时更加轻松。 2021-06-28 07:13:34 Vue Code 扩展 正则表达式杂记:入门笔记速查,进阶:组属性,Vim Magic 与练习场地 几乎所有写代码的朋友都或多或少接触过一点 regex ,但你真的会用吗?比如,用于全匹配 aabc 的 regex 为 ^(?.)\k(?!\k)(?.)(?!\k(b)|\k).$ ,你可以给出解释吗? 2021-06-28 07:13:33 进阶Vim笔记 前端百题斩之赋值、浅拷贝、深拷贝大PK 相信老铁们不管是在学习还是面试过程中,都会遇到赋值、浅拷贝、深拷贝,特别是浅拷贝和深拷贝,我记忆比较深刻的遇到这个问题有两次:1.一次系统写出bug就是因为对深浅拷贝理解不清楚;2.百度面试。 2021-06-28 07:12:28 赋值浅拷贝深拷贝 后端技术:Mybatis中resultMap用法示例笔记 resultMap属于mybatis返回操作结果的一个标签,可以用来映射select查询出来结果的集合,主要作用是将实体类中的字段与数据库表中的字段进行关联映射。

人们需要了解Kubernetes在成本管理方面带来的挑战,并使用一些优秀实践解决Kubernetes成本优化的问题。

[[407505]]

【清一色.com快译】人们需要了解Kubernetes在成本管理方面带来的挑战,并使用一些优秀实践解决Kubernetes成本优化的问题。

如今,Kubernetes的成本管理变得越来越复杂,越来越多的组织面临这个问题。根据调研机构Gartner公司的调查,到2022年,75%的组织将在生产中运行容器化应用程序。

如果你在AWS云平台上使用Kubernetes,可能已经在实施优秀实践来减少运营费用。但是,为了最大限度地节省云计算成本,需要了解Kubernetes在成本管理和优化方面带来的具体挑战,并了解它们是什么以及如何处理它们。

为什么Kubernetes云计算成本如此令人困惑?

在组织采用容器化技术之前,分配资源和成本要容易得多。只需将资源标记为特定项目或团队,这足以让FinOps (成本优化)确定组织的典型成本结构,并更好地控制预算。一旦组织映射了供应商标签并确定了拥有该项目的团队,则计算项目总成本就会变得更加容易。

当然,在这种情况下,组织也会面临过度配置资源的风险。开发人员可能会订购比他们需要更多的资源,以确保应用程序不间断地运行。随着Kubernetes和其他容器化工具的普及,传统的成本分配和报告流程不再适用。而弄清楚Kubernetes的成本估算、分配和报告并不容易。

如果你仍然无法详细了解团队的成本,不要担心,因为你并不是唯一一个努力控制成本的人。为了改进成本控制,首先要探索这些成本带来的挑战。

需要避免的5个Kubernetes成本陷阱

(1)计算每个容器的成本

计算单个容器的成本并不难,但它需要基础设施和更多的时间来完成。

Kubernetes集群是由多个团队运行的共享服务,拥有许多容器并包含各种应用程序。在部署容器之后,你将使用集群的一些资源,并为属于该集群的每个服务器实例支付费用。

现在假设你有三个团队在开发10个独特的应用程序,了解哪个应用程序使用集群资源几乎是不可能的,因为这些项目中的每个项目都使用多个容器,因此你不知道给定团队使用的是哪个部分,以及在特定项目中使用了多少。

简而言之,尚不清楚单个容器从一台特定服务器使用了多少资源。这使得计算和分配成本变得更加困难。

(2)通过不同的成本中心支付费用

如果你所在的组织包含多个成本中心,并非所有开发成本都来自DevOps预算。某些应用程序可能由组织的产品团队、研发团队或IT部门的另一个团队为影子IT项目创建。

这里的关键是组织的规模和结构。如果你的组织提供多个数字服务,其中每个数字服务都有其特定团队和预算,跟踪云计算服务的成本将变得更加复杂。当多个团队使用同一个集群时,确定哪个团队或项目负责最终账单的哪个部分将成为挑战。

(3)跨云平台跟踪成本并不容易

如果使用多云,跟踪其成本就会变得更加困难。Gartner公司对公共云用户的调查表明, 81%的受访者正在与两个或更多的云计算提供商合作。根据ICD公司的调查,到2022年,90%的组织将采用多个云平台或内部部署、私有云、混合云和公共云的组合。

因此,很快组织可能会在多个云平台运行Kubernetes集群,并且其容器将使用不同的节点。组织的应用程序可以分散在不同的云平台中,例如AWS、谷歌云、Azure等。它们中的每一个可能只承载组织整体工作负载的一小部分,这进一步使跟踪节点和集群变得更加复杂。

(4)扩展使问题进一步复杂化

为了充分利用Kubernetes,大多数团队使用内置的Kubernetes自动扩展机制。配置得越紧密,运行集群的浪费就越少,成本也就越低。

Vertical Pod Autoscaler(VPA)会自动调整请求,并限制配置以降低成本,而Horizo​​ntal Pod Autoscaler(HPA)专注于横向扩展,以达到分配给现有实例的合适CPU或内存数量的目的。

然而,这些扩展机制会影响成本计算。VPA不断地改变容器上的请求数量、扩大和缩小其资源分配。另一方面,HPA会动态更改容器的数量。例如,假设三个Web服务器容器在夜间运行。而在高峰时段,HPA从3个容器扩展到50个容器。然后,其数量在每天的中午减小,然后再逐渐扩展。而到了晚上,其数量稳定在一个更低的水平。

这意味着容器的数量及其大小是非常动态的,这使得计算和预测成本的过程变得更加困难。

(5)容器更加动态

借助容器,组织可以跨区域、专区或实例类型重新安排工作负载。通常一个容器的寿命只有一天,与虚拟机的持续时间相比很短。越来越多的组织在Kubernetes上运行函数和cron作业,它们的寿命从几秒到几分钟不等。

容器化环境的动态特性为混合增加了另一层复杂性,组织的成本管理系统需要能够处理这个问题。

如何处理这些Kubernetes成本问题

为避免落入上述陷阱之一,组织需要一个基于可靠数据源的可靠成本分析流程。以下是处理Kubernetes成本问题的一个示例:

(1)找到一个成本可见性工具来详细跟踪成本,例如在微服务级别。

(2)一旦有了成本可见性,就可以设置精确的预算,并监控流量成本等要素,以更好地了解它们。

(3)接下来,按命名空间、Pod、部署和标签分配成本。

(4)分析定价信息以预测下个月需要支付的费用。

(5)继续根据估计查明成本或使用异常以进一步分析它们。

目前,大多数组织都通过人工解决了这个问题,但如果可以将整个过程实现自动化呢?

解决方案:自动化Kubernetes成本管理

分配资源、计算成本和分析Kubernetes定价不应该像现在这样具有挑战性。同步成本和资源分配是必经之路。

Kubernetes成本管理的自动化工具必须具备以下功能:

(1)具有高级云计算账单分析和成本可见性的功能,能够分析单个微服务的成本,并获得任何云计算提供商的通用指标。

(2)自动实例选择和调整大小。

(3)使用Spot实例最多可节省90%的成本。

(4)预测项目、集群、命名空间和部署的费用。

自动化成本管理

期望用于控制Kubernetes成本的人工策略是有风险的,它们通常是耗时、容易出错且难以维护的。部署自动化成本管理解决方案可以为组织省去很多麻烦,并帮助组织专注于对业务最重要的事情——为客户提供优质服务。

原文标题:5 Costly Kubernetes Traps and Their Solutions,作者:Vito Clover

【清一色译稿,合作站点转载请注明原文译者和出处为清一色.com】

©本文为清一色官方代发,观点仅代表作者本人,与清一色无关。清一色对文中陈述、观点判断保持中立,不对所包含内容的准确性、可靠性或完整性提供任何明示或暗示的保证。本文不作为投资理财建议,请读者仅作参考,并请自行承担全部责任。文中部分文字/图片/视频/音频等来源于网络,如侵犯到著作权人的权利,请与我们联系(微信/QQ:1074760229)。转载请注明出处:清一色财经

(0)
打赏 微信扫码打赏 微信扫码打赏 支付宝扫码打赏 支付宝扫码打赏
清一色的头像清一色管理团队
上一篇 2023年5月5日 17:37
下一篇 2023年5月5日 17:37

相关推荐

发表评论

登录后才能评论

联系我们

在线咨询:1643011589-QQbutton

手机:13798586780

QQ/微信:1074760229

QQ群:551893940

工作时间:工作日9:00-18:00,节假日休息

关注微信