kubernetes自动缩放队列大小与运行的吊舱数量

kubernetes自动缩放队列大小与运行的吊舱数量,kubernetes,Kubernetes,有没有一种方法可以使用完全定制的算法设置自动缩放? 1.我想根据azure存储队列的大小与当前运行的pod数量的比率来自动缩放我的pod,这意味着每个pod需要处理的平均消息数量。 2.我是否可以根据这些指标自由创建指标和规模?像 如果是,我可以在哪里设置自动缩放算法?您可以使用keda和相应的触发器: 下面是来自docs for azure存储队列的示例 apiVersion: keda.k8s.io/v1alpha1 kind: TriggerAuthentication metadata

有没有一种方法可以使用完全定制的算法设置自动缩放? 1.我想根据azure存储队列的大小与当前运行的pod数量的比率来自动缩放我的pod,这意味着每个pod需要处理的平均消息数量。 2.我是否可以根据这些指标自由创建指标和规模?像


如果是,我可以在哪里设置自动缩放算法?

您可以使用keda和相应的触发器:

下面是来自docs for azure存储队列的示例

 apiVersion: keda.k8s.io/v1alpha1
kind: TriggerAuthentication
metadata:
  name: azure-queue-auth
spec:
  podIdentity:
    provider: azure
---
apiVersion: keda.k8s.io/v1alpha1
kind: ScaledObject
metadata:
  name: azure-queue-scaledobject
  namespace: default
spec:
  scaleTargetRef:
    deploymentName: azurequeue-function
  triggers:
  - type: azure-queue
    metadata:
      # Required
      queueName: functionsqueue
      # Required: connection OR authenticationRef that defines connection
      connection: STORAGE_CONNECTIONSTRING_ENV_NAME # Default: AzureWebJobsStorage. Reference to a connection string in deployment
      # or authenticationRef as defined below
      #
      # Optional
      queueLength: "5" # default 5
    authenticationRef:
        name: azure-queue-auth # 

还支持所有类型的其他触发器。

但是如何将队列长度与活动POD的数量结合起来,以设置自定义算法?
 apiVersion: keda.k8s.io/v1alpha1
kind: TriggerAuthentication
metadata:
  name: azure-queue-auth
spec:
  podIdentity:
    provider: azure
---
apiVersion: keda.k8s.io/v1alpha1
kind: ScaledObject
metadata:
  name: azure-queue-scaledobject
  namespace: default
spec:
  scaleTargetRef:
    deploymentName: azurequeue-function
  triggers:
  - type: azure-queue
    metadata:
      # Required
      queueName: functionsqueue
      # Required: connection OR authenticationRef that defines connection
      connection: STORAGE_CONNECTIONSTRING_ENV_NAME # Default: AzureWebJobsStorage. Reference to a connection string in deployment
      # or authenticationRef as defined below
      #
      # Optional
      queueLength: "5" # default 5
    authenticationRef:
        name: azure-queue-auth #