-
Beta Was this translation helpful? Give feedback.
Replies: 14 comments
-
|
Hello |
Beta Was this translation helpful? Give feedback.
-
|
Hi @KasyapG , long answer: You can have a single HPA managing a workload. ScaledObject uses HPA under the hood and HTTPScaledObject uses ScaledObject under the hood, so if you create a ScaledObject and a HTTPScaledObject, you're generating 2 HPA to manage the same workload and depending on your KEDA version you'll get admission errors or unexpected scaling behaviours. To achieve this, you could disable the SO creation and just include the trigger in your already existing ScaleedObject |
Beta Was this translation helpful? Give feedback.
-
|
Thank you @JorTurFer The httpscaledobject is now showing target details. However, I am trying to use the httpscaledobject and it is unable to show any metrics. And I do not see any scaling happening. I only have httpscaledobject on the application. I have followed the below instructions https://github.com/kedacore/http-add-on/blob/main/docs/install.md Could you please let me know if there is any step that is needed for metrics to be identified. Regards, |
Beta Was this translation helpful? Give feedback.
-
|
so, you have deployed a HTTPScaledObject and it doesn't work, right? Do you see the ScaledObject generated by this? Is there any error in keda add-on operator? |
Beta Was this translation helpful? Give feedback.
-
Beta Was this translation helpful? Give feedback.
-
|
Do you have any network policy or so managing the traffic? based on scaler error, it looks like your scaler can't reach the interceptors |
Beta Was this translation helpful? Give feedback.
-
|
I can check that, however could you please let ne know how does the traffic is intercepted once the request hits the ingress. How will the http addon know that the request has come to ingress. In the httpscaledobject what exactly is the value for service parameter? Regards, |
Beta Was this translation helpful? Give feedback.
-
|
Hi @KasyapG , the traffic flow looks like this:
Without the HTTP Add-on you would create an Ingress/HTTPRoute/... that points directly to your applications Service, but with the HTTP Add-on you point it to a proxy Service of the interceptor instead. Example proxy service and ingress: apiVersion: v1
kind: Service
metadata:
name: app-proxy
namespace: default
spec:
type: ExternalName
externalName: keda-add-ons-http-interceptor-proxy.keda
---
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: app-ingress
namespace: default
spec:
rules:
- host: app.example.com
http:
paths:
- backend:
service:
name: app-proxy # not your normal "app" service
port:
number: 8080
path: /
pathType: PrefixIn the HTTPSO (which is in the same namespace as your app) you will then specify the normal app service that points to your application pods. The interceptor will receive all traffic from the ingress controller, buffer it if scaling is needed and forward it to the application pods. As Jorge mentioned the problem you see is because the Scaler cannot find any endpoints of the Interceptor to connect to. env:
- name: KEDA_HTTP_SCALER_TARGET_ADMIN_NAMESPACE
value: keda
- name: KEDA_HTTP_SCALER_TARGET_ADMIN_SERVICE
value: keda-add-ons-http-interceptor-adminBTW: We are currently implementing a new resource (InterceptorRoute) that makes your use-case simpler as you can add just this resource to an existing ScaledObject. Documentation will also be improved very soon. |
Beta Was this translation helpful? Give feedback.
-
|
Hello @linkvt , Thank you for the update. For your point "Without the HTTP Add-on you would create an Ingress/HTTPRoute/... that points directly to your applications Service, but with the HTTP Add-on you point it to a proxy Service of the interceptor instead." How is this being achieved is there any update being done to our ingress controller (or does require a change to point to the proxy)? Are there changes needed on the ingress controller apart from the keda http Add-on installation? And I have noticed the args that you have mentioned are present under the keda-add-ons-http-external-scaler
|
Beta Was this translation helpful? Give feedback.
-
|
Hi, there are no changes needed on your ingress controller but you would need to update your ingress resource as shown in the code snippet for the service/ingress, see With regards to the scaler error: The env vars look good and it should work in theory as you also used our helm chart. Does the error still appear, maybe it was old and from the initial deployment? Do you see ❯ kubectl get endpointslices -n keda -l kubernetes.io/service-name=keda-add-ons-http-interceptor-admin
NAME ADDRESSTYPE PORTS ENDPOINTS AGE
keda-add-ons-http-interceptor-admin-2kmjk IPv4 9090 10.244.0.199 27d |
Beta Was this translation helpful? Give feedback.
-
Beta Was this translation helpful? Give feedback.
-
|
Hi @KasyapG ,
Yes correct! After that change traffic will flow from ingress controller through interceptor to the pods. |
Beta Was this translation helpful? Give feedback.
-
|
Is HTTP Add-On feature stable and recommended for prod deployments? |
Beta Was this translation helpful? Give feedback.
-
|
Not yet as indicated by the note in the README, but we are very close. We are improving the HTTP Addon heavily since 2-3 months and made really good changes already with new features and massive performance improvements. |
Beta Was this translation helpful? Give feedback.







Hi @KasyapG ,
Yes correct! After that change traffic will flow from ingress controller through interceptor to the pods.