簡體   English   中英

kubernetes hpa 中外部指標的值很奇怪

[英]value of external metrics is weird in kubernetes hpa

我正在學習 kubernetes 並測試一些示例。

我在將外部指標應用於 hpa 時遇到問題。

我用普羅米修斯適配器制作了一個外部指標。

所以我可以使用外部指標

kubectl get --raw /apis/external.metrics.k8s.io/v1beta1/

命令。

結果如下。

{"kind":"APIResourceList","apiVersion":"v1","groupVersion":"external.metrics.k8s.io/v1beta1","resources":[{"name":"redis_keys","singularName":"","namespaced":true,"kind":"ExternalMetricValueList","verbs":["get"]}]}

我可以使用

kubectl get --raw /apis/external.metrics.k8s.io/v1beta1/namespaces/default/redis_keys

命令。

結果如下。

{"kind":"ExternalMetricValueList","apiVersion":"external.metrics.k8s.io/v1beta1","metadata":{"selfLink":"/apis/external.metrics.k8s.io/v1beta1/namespaces/default/redis_keys"},"items":[{"metricName":"redis_keys","metricLabels":{},"timestamp":"2020-10-28T08:39:09Z","value":"23"}]}

我將該指標應用於 hpa。

下面是hpa配置。

apiVersion: autoscaling/v2beta1
kind: HorizontalPodAutoscaler
metadata:
  name: taskqueue-autoscaler
spec:
  scaleTargetRef:
          #apiVersion: extensions/v1beta1
    apiVersion: apps/v1
    kind: Deployment
    name: taskqueue-consumer
  minReplicas: 1
  maxReplicas: 10
  metrics:
  - type: External
    external:
      metricName: redis_keys
      targetAverageValue: 20

制作hpa后,

我測試了這個命令。

kubectl get hpa

結果很奇怪。

NAME                   REFERENCE                       TARGETS           MINPODS   MAXPODS   REPLICAS   AGE
taskqueue-autoscaler   Deployment/taskqueue-consumer   11500m/20 (avg)   1         10        2          63m

我認為它的值(11500m)是錯誤的,因為查詢值的結果是 23。

在這種情況下我應該在哪里看?

實際上它是對的,但它也很復雜,因為它涉及到 HPA 資源的幾個不同的事情,這些事情不是很明顯。 所以我將一次解釋這一件事。

第一,計量單位。 Metrics API 將在可能的情況下嘗試返回整數單位,但也會返回毫單位,這可能會導致上述情況。 真的,你看到的是11.5轉換成11500m,但兩者是一樣的。 HPA 指標“數量”上查看此鏈接,了解更多。

接下來,您現在看到兩個副本,其 Metrics API 的值為 23。由於您已將度量設置為外部度量的 AverageValue,因此它將度量值除以當您查看 HPA 資源時,集群會導致 11.5 或 11500m。 這解釋了為什么您只看到 2 個副本,而指標的值“高於”您的閾值。 查看有關使用多個和自定義指標進行自動縮放的鏈接,特別是有關“對象”指標的部分 並降低他們在有關外部指標的這一行中滑動的頁面,確認您為什么會看到上述內容。

外部指標同時支持 Value 和 AverageValue 目標類型,其功能與您使用 Object 類型時的功能完全相同。

希望這會有所幫助,並進行一些調整使其更符合您的期望。 祝你好運!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM