我看到有 2 个单独的指标ApproximateNumberOfMessagesVisible
和 ApproximateNumberOfMessagesNotVisible
.
使用可见消息数会导致处理 pod 在从队列中获取消息后立即触发终止,因为它们不再可见。如果我使用不可见的消息数量,它将不会扩大。
我正在尝试使用水平 pod 自动缩放器和 SQS 的外部指标来扩展 kubernetes 服务。这是模板外部指标:
apiVersion: metrics.aws/v1alpha1
kind: ExternalMetric
metadata:
name: metric-name
spec:
name: metric-name
queries:
- id: metric_name
metricStat:
metric:
namespace: "AWS/SQS"
metricName: "ApproximateNumberOfMessagesVisible"
dimensions:
- name: QueueName
value: "queue_name"
period: 60
stat: Average
unit: Count
returnData: true
这是 HPA 模板:
kind: HorizontalPodAutoscaler
apiVersion: autoscaling/v2beta1
metadata:
name: hpa-name
spec:
scaleTargetRef:
apiVersion: apps/v1beta1
kind: Deployment
name: deployment-name
minReplicas: 1
maxReplicas: 50
metrics:
- type: External
external:
metricName: metric-name
targetAverageValue: 1
如果我可以定义另一个自定义指标,它是这两个指标的总和,问题将得到解决,我还能如何解决这个问题?