首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >基于RabbitMQ队列长度的KEDA不缩放豆荚

基于RabbitMQ队列长度的KEDA不缩放豆荚
EN

Stack Overflow用户
提问于 2022-07-04 10:16:41
回答 1查看 288关注 0票数 0

我正在尝试使用KEDA根据RabbitMQ消息队列的当前长度自动缩放芹菜工人的吊舱。工作人员按预期运行,但是在负载下不进行缩放。

作为参考,我使用的是KEDA v2.7.1。

来自keda的日志-操作舱:

代码语言:javascript
复制
1.6569289126033094e+09  ERROR   controller.scaledobject Reconciler error        {"reconciler group": "keda.sh", "reconciler kind": "ScaledObject", "name": "celery-worker-scaler", "namespace": "default", "error": "error establishing rabbitmq connection: dial tcp: lookup rabbitmq on 10.96.0.10:53: server misbehaving"}
sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).processNextWorkItem
        /go/pkg/mod/sigs.k8s.io/controller-runtime@v0.11.2/pkg/internal/controller/controller.go:266
sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Start.func2.2
        /go/pkg/mod/sigs.k8s.io/controller-runtime@v0.11.2/pkg/internal/controller/controller.go:227

很明显,连接到兔子舱有一些问题。

keda.yaml:

代码语言:javascript
复制
apiVersion: keda.sh/v1alpha1
kind: ScaledObject
metadata:
  name: celery-worker-scaler
  namespace: default
spec:
  scaleTargetRef:
    name: celery-worker
  pollingInterval: 3
  minReplicaCount: 1
  maxReplicaCount: 10
  triggers:
    - type: rabbitmq
      metadata:
        host: amqp://guest:guest@rabbitmq:5672
        protocol: amqp
        queueName: celery
        mode: QueueLength
        value: "5"

rabbitmq.yaml:

代码语言:javascript
复制
# deployment
apiVersion: apps/v1
kind: Deployment
metadata:
  name: rabbitmq
  labels:
    app: rabbitmq
spec:
  replicas: 1
  selector:
    matchLabels:
      app: rabbitmq
  template:
    metadata:
      labels:
        app: rabbitmq
    spec:
      containers:
      - name: rabbitmq
        image: rabbitmq:management
        env:
          - name: RABBITMQ_DEFAULT_USER
            valueFrom:
              secretKeyRef:
                name: secret
                key: rabbitmq-user
          - name: RABBITMQ_DEFAULT_PASS
            valueFrom:
              secretKeyRef:
                name: secret
                key: rabbitmq-password
        ports:
        - containerPort: 15672
          name: management
        - containerPort: 5672
          name: rabbitmq
---
# service
apiVersion: v1
kind: Service
metadata:
  name: rabbitmq
  labels:
    app: rabbitmq
spec:
  selector:
    app: rabbitmq
  ports:
  - port: 5672
    name: rabbitmq
    targetPort: rabbitmq
    protocol: TCP
  - port: 15672
    name: rabbitmq-mgmt
    targetPort: management
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-07-04 12:40:24

keda.yaml文件应用于keda命名空间中(尽管我在顶部编写了默认值)。因为我的rabbitmq位于默认名称空间中,所以我必须按以下方式设置主机:amqp://guest:guest@rabbitmq.default:5672

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72855141

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档