Kubernetes部署充分利用了cpu和内存,而不会给它带来压力



我已经在Kubernetes上部署了一个应用程序,并想测试hpa。使用kubectl top-nodes命令,我注意到cpu和内存增加了,但没有给它带来压力。这有道理吗?

此外,在强调使用apachebench进行部署的同时,cpu和内存的增加不足以通过目标并制作副本。

我的部署yaml文件太大了,无法提供它。这是我的一个容器。

- name: web
image: php_apache:1.0
imagePullPolicy: Always
resources:
requests:
memory: 50Mi
cpu: 80m
limits:
memory: 100Mi
cpu: 120m
volumeMounts:
- name: shared-data
mountPath: /var/www/html
ports:
- containerPort: 80

它由15个集装箱组成我有一个虚拟机,它包含一个有2个节点(主节点、工作节点(的集群。

我想强调部署,这样我就可以看到它的规模扩大。但我觉得这里有个问题!在不给应用程序带来压力的情况下,

Pod的CPU/Memory已经通过目标,并且已经制作了2个副本(而没有强调(。我知道我向容器提供的请求越多,这个百分比就越低。但是,在不增加压力的情况下,从一开始就增加内存/cpu的使用量有意义吗?

我希望,目标的左侧部分(pod中内存的使用率(处于0%的起点,并尽我所强调的那样增加它并创建副本。但正如我在apache bench上强调的那样,该值最多增加了10%的

我们可以在这里看到CPU的使用情况:kubectl顶部吊舱

NAME CPU(cores) MEMORY(bytes)x-app-55b54b6fc8-7dqjf 76m 765Mi

!!59%是pod的内存使用率,由内存请求/内存之和(内存使用率(描述。在我的情况下59%=765Mi/1310Mi

HPA yaml文件:

apiVersion: autoscaling/v2beta2
kind: HorizontalPodAutoscaler
metadata:
name: hpa
spec:
maxReplicas: 10
minReplicas: 1
scaleTargetRef:
apiVersion: apps/v1
kind: Deployment
name: myapp
metrics:
- type: Resource
resource:
name: memory
target:
type: Utilization
averageUtilization: 35 

使用kubectl top nodes命令,我注意到cpu和内存在增加的同时没有增加压力。这有意义吗

是的,这很有道理。如果您要查看Google Cloud关于请求和限制

请求和限制是Kubernetes用来控制CPU和内存等资源的机制请求是容器保证得到的如果容器请求资源,Kubernetes只会将其安排在可以为其提供资源的节点上限制,另一方面,确保容器永远不会超过某个值。容器只允许上升到极限,然后就受到限制。

但是,从一开始就增加内存/cpu的使用量,而不增加压力,这有意义吗

是的,例如您的容器www,它可以从memory: 50Micpu: 80m开始,但可以增加到memory: 100Micpu: 120m。此外,正如您所提到的,您总共有15个容器,因此根据它们的requestlimits,它可以达到您的memory中的35%以上。

在HPA文档-算法细节中,您可以找到信息:

当指定targetAverageValue或targetAverageUtilization时,currentMetricValue是通过取HorizontalPodAutoscaler刻度目标中所有Pod的给定度量的平均值来计算的。然而,在检查公差并决定最终值之前,我们会考虑吊舱准备情况和缺失指标。

所有设置了删除时间戳的Pod(即处于关闭过程中的Pod(和所有失败的Pod都将被丢弃。

如果某个特定Pod缺少度量,则将其留作以后使用;缺少度量的Pods将用于调整最终缩放量。

不确定最后一个问题:

!!59%是pod的内存使用率,由内存请求/内存之和(内存使用率(描述。在我的情况下,59%=765Mi/1310Mi

在您的HPA中,您设置在averageUtilization:达到memory35%时创建另一个pod。它到达59%,并创建了另一个吊舱。由于HPA目标是memory,因此HPA根本不计算CPU。此外,请记住,由于这是average,更改值大约需要1分钟。

为了更好地了解HPA是如何工作的,请尝试此演练。

如果这没有帮助,请澄清你到底在问什么。

相关内容

  • 没有找到相关文章

最新更新