使用Linode引擎实现Kubernetes自动缩放的优秀践行
发布时间:2022-05-30 18:50:24 所属栏目:云计算 来源:互联网
导读:众所周知,云服务架构可以随着应用的需求实时扩展,而无需人工进行配置的更改或逐行增加代码。其中,自动化缩放(Autoscaling)就保证了在无需人工干预的情况下,自动增加或减少应用负载的能力。显然,如果调整得当,自动化缩放可以降低我们维护应用的成本、
众所周知,云服务架构可以随着应用的需求实时扩展,而无需人工进行配置的更改或逐行增加代码。其中,自动化缩放(Autoscaling)就保证了在无需人工干预的情况下,自动增加或减少应用负载的能力。显然,如果调整得当,自动化缩放可以降低我们维护应用的成本、以及项目实施的难度。 除了应对应用程序的负载变化,自动调整功能还能够有效地进行成本和容量管理。例如,集群的自动调整功能允许您通过调整集群中的节点数量,来节省在公共云上的租金。此外,如果您有一个静态的架构,那么自动化调整将使您能够动态地管理分配给流量负载的容量,以便您能够更好地利用自己的基础设施。 在实际应用中,自动化缩放主要分为如下两类: 1. 负载的自动调整:动态地管理单个负载的容量,并进行自动分配。 2. 群集的自动缩放:动态地管理群集的容量。 让我们首先了解一下在Kubernetes中扩展负载的细节。目前,在Kubernetes上可被用于自动调整工作负载的标准化工具包括:水平Pod自动化缩放(Horizontal Pod Autoscaler,HPA)、垂直Pod自动化缩放(Vertical Pod Autoscaler,VPA)、以及集群比例自动化缩放(Cluster Proportional Autoscaler,CPA)。下面,让我们通过一个群集和简单的测试应用程序,来模拟Kubernetes的自动化缩放功能。 下面,让我们来构建一个简单的应用程序,以用来测试各种自动化缩放。 Pressure API Pressure API应用运行在两个端点上。它属于.NET REST API,允许您通过如下两种途径,将CPU和内存的压力施加到pod上: 1. /memory/{numMegaBytes}/duration/{durationSec}:此端点将向内存添加指定数量的兆字节,并在指定的持续时间内保持压力。 2. /cpu/{threads}/duration/{durationSec}:此端点将在CPU上运行指定数量的线程,并在指定的持续时间内保持压力。 (编辑:PHP编程网 - 黄冈站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |