【.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)Scaling使问题进一步复杂化为了充分利用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成本是有风险的;它们通常很耗时、容易出错且难以维护。部署自动化成本管理解决方案可以为组织省去很多麻烦,并帮助他们专注于对业务最重要的事情——为客户提供优质服务。原标题:5CostlyKubernetesTrapsandTheirSolutions,作者:VitoClover
