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