Keda с Rabbitmq и Spring boot

Я пытаюсь запустить KEDA с Rabbitmq и Spring Boot. Но это не работает. В основном KEDA не генерирует объект Kubernetes HPA.

Я попробовал образец кода (который предоставляется KEDA на языке GO), и он работает нормально.

У меня есть код производителя / потребителя, написанный при весенней загрузке. Когда я пытаюсь применить KEDA, он не масштабирует потребителей rabbitmq (в основном даже не создает объект HPA)

https://github.com/sky29/rabbitmq-k8s-broker-publisher-consumer https://github.com/sky29/rabbitmq-k8s-keda-spring-boot https://github.com/sky29/rabbitmq-k8s-keda-spring-boot/tree/master/app/myclients https://github.com/sky29/rabbitmq-k8s-keda-spring-boot/blob/master/app/04_scaled-object-new.yaml

1 ответ

Я могу добиться того же. Делюсь на случай, если кто-то столкнется с такой же проблемой.

Я использую версию KEDA: 2.8.2.

      apiVersion: v1
kind: Secret
metadata:
  name: keda-rabbitmq-secret
  namespace: default
data:
  host: <HTTP API endpoint> # base64 encoded value of format http://guest:password@localhost:15672/vhost
---
apiVersion: keda.sh/v1alpha1
kind: TriggerAuthentication
metadata:
  name: trigger-auth-rabbitmq-conn
  namespace: default
spec:
  secretTargetRef:
    - parameter: host
      name: keda-rabbitmq-secret
      key: host
---
apiVersion: keda.sh/v1alpha1
kind: ScaledObject
metadata:
  name: test-analysis
  namespace: default
spec:
  scaleTargetRef:
    apiVersion:    apps/v1
    kind:          Deployment
    name:          test-celery      # Mandatory. Must be in the same namespace as the ScaledObject
  pollingInterval:  10                        # Optional. Default: 10 seconds
  cooldownPeriod:   3600                      # Optional. Default: 300 seconds
  minReplicaCount:  1                              # Optional. Default: 0
  maxReplicaCount:  2                            # Optional. Default: 100
  fallback:                                        # Optional. Section to specify fallback options
    failureThreshold: 3                            # Mandatory if fallback section is included
    replicas: 1                                    # Mandatory if fallback section is included
  advanced:                                          # Optional. Section to specify advanced options
    restoreToOriginalReplicaCount: true     # Optional. Default: false
    horizontalPodAutoscalerConfig:                   # Optional. Section to specify HPA related options
      name: keda-hpa-auto-analysis               # Optional. Default: keda-hpa-{scaled-object-name}
      behavior:                                     # Optional. Use to modify HPA's scaling behavior
        scaleDown:
          stabilizationWindowSeconds: 600
          policies:
            - type: Percent
              value: 100
              periodSeconds: 15
  triggers:
  - type: rabbitmq
  metadata:
    protocol: amqp
    queueName: test_queue
    queueLength: "1"
    activationValue: "0"
  authenticationRef:
    name: trigger-auth-rabbitmq-conn

Ссылка: https://keda.sh/docs/2.9/scalers/rabbitmq-queue/

Другие вопросы по тегам