0

我正在尝试使用 azure 存储队列设置 KEDA 以进行实验。我想将存储帐户的连接字符串用于身份验证,但 KEDA 操作员无法解析连接字符串。ScaledObject 已创建,其状态为“就绪”,但无法获取有关队列长度的信息或根本无法与队列交谈。我创建了一个不透明的秘密,并使用文档中描述的authenticationRef部分引用它。

我在日志中看到的错误是:

ERROR azure_queue_scaler error) {"error": "can't parse storage connection string. Missing key or name"}

我仔细阅读了文档并查看了 KEDA 源代码,但我仍然感到困惑。

这是我的秘密定义:

kind: Secret
metadata:
  name: azure-st-conn-string-secret
type: Opaque
data:
  connectionString: MY_BASE_64_ENCODED_CONNECTION_STRING

还有我的 TriggerAuth 和 ScaledObjects:

apiVersion: keda.sh/v1alpha1
kind: TriggerAuthentication
metadata:
  name: azure-queue-auth
spec:
  secretTargetRef:
  - parameter: connection
    name: azure-st-conn-string-secret
    key: connectionString  
---
apiVersion: keda.sh/v1alpha1
kind: ScaledObject
metadata:
  name: azure-queue-scaledobject
spec:
  scaleTargetRef:
    name: my-deployment-target
  triggers:
  - type: azure-queue
    metadata:
      queueLength: '5'
      queueName: my-queue-name
    authenticationRef:
      name: azure-queue-auth

通过 KEDA 源代码,如果连接字符串的格式不正确,则会引发此错误。但是,我验证了在集群中创建的秘密完全符合源代码的预期,即:

DefaultEndpointsProtocol=https;AccountName=THE_ACCOUNT_NAME;AccountKey=THE_ACCOUNT_KEY;EndpointSuffix=core.windows.net

我究竟做错了什么?

4

0 回答 0