-
Notifications
You must be signed in to change notification settings - Fork 108
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
following documentation throws errors #361
Comments
Hi @dariuszbz - after you did the After the |
Hello @arschles. Thank You for your prompt feedback. I don't know what is that mean "does your app scale properly" ? I can describe how it actually works. Just after installation the xkcd pod doesn't exist. I installed ingress: helm repo add ingress-nginx https://kubernetes.github.io/ingress-nginx and after calling: the xkcd Pod is created. btw: pod disappears after some time if there is no requests - and it is awesome :) ! What I want is to be able to setup scaling option. Let's say 10 http requests per pod. Is it possible, please? And if yes, could you describe how to do it, please. Thank You! |
Hello again. I did some digging and I think I've found. Consider you definition: kind: HTTPScaledObject and implementation: and comparing to: type HTTPScaledObjectSpec struct { Implementation should be: but even than it won't work throwing an error: I don't know how to move forward and install http addon with custom value for pending request - and this is my goal. Any advice? |
@dariuszbz there's no way to specify a max value of requests per pod at the moment. The closest thing we have for that is the
If you're looking to set that |
Just to add another note, you can always submit this value by building your own |
Thank You @arschles any help - custom object would be the best at the moment, but PR as a future, as well as updating the documentation ;) |
Sorry ... it's me again. How does it work " That value is the target number of total requests that should be in flight at one time, across all the pods. If there are more in flight than that number, the HTTP Addon will scale up." ? let's say there is one pod (literally one), and targetPendingRequests value is 200. when there are 201 requests, the add-on will create a second pod. And what will happen if request numbers increases and after a few second there are 2000 request. Do we still have two pods only? |
I don't give up and want to make it work :) http object: kind: HTTPScaledObject keda and add-on installed in keda-system namespace , an app installed in k8sdemo namespace. logs from pod-keda-operator (NOTE: there is no such a thing "k8sdemo-app" in my cluster) 2022-01-18T10:47:38.252Z INFO controller.scaledobject Reconciling ScaledObject {"reconciler group": "keda.sh", "reconciler kind": "ScaledObject", "name": "k8sdemo-app", "namespace": "keda-system"} I |
Sorry about the delay @dariuszbz!
I've added the ability to set the
On the other hand, if the two pods can't process them fast enough, there will be
The
So, what those logs are saying is that KEDA can't find your |
Thank You @arschles . the problem is there is k8sdemo Deployment, and k8sdemo Service. They are in namespace: k8sdemo. Where do you want me to install http-add-on: k8s-demo namespace or keda-system namespace. |
@dariuszbz ah, sorry - I misunderstood what you said. Thought you were saying that
can you install it into the
Can you please install the |
Thank You @arschles . I've done as you described. Now the keda-oparator: 2022-01-24T09:54:14.935Z ERROR external_scaler error calling IsActive on external scaler {"error": "rpc error: code = Unavailable desc = connection error: desc = "transport: Error while dialing dial tcp: lookup keda-add-ons-http-external-scaler on 10.0.0.10:53: no such host""} I assume it's not bad as it refer to external scaler, and external scaler logs: {"level":"error","ts":1643017917.1607754,"logger":"GetMetricSpec","caller":"scaler/handlers.go:127","msg":"error getting target for host","host":"myhost.com","error":"Target not found","stacktrace":"main.(*impl).GetMetricSpec\n\t/go/src/github.com/kedacore/http-add-on/scaler/handlers.go:127\ngithub.com/kedacore/http-add-on/proto._ExternalScaler_GetMetricSpec_Handler\n\t/go/src/github.com/kedacore/http-add-on/proto/scaler_grpc.pb.go:178\ngoogle.golang.org/grpc.(*Server).processUnaryRPC\n\t/go/pkg/mod/google.golang.org/grpc@v1.41.0/server.go:1279\ngoogle.golang.org/grpc.(*Server).handleStream\n\t/go/pkg/mod/google.golang.org/grpc@v1.41.0/server.go:1608\ngoogle.golang.org/grpc.(*Server).serveStreams.func1.2\n\t/go/pkg/mod/google.golang.org/grpc@v1.41.0/server.go:923"} I run the following line to run test: but i don't see scaling effect. :( httpobject: "kind: HTTPScaledObject btw: targetPendingRequests is still no available. Throws an error during deployment, so it is commented in above yaml. I did helm repo update. install keda into keda-system namespace, and add-on, httpobject and the app into the k8sdemo namespace. Could you advise please? I think we are one step to complete my tests. Thank You! |
@arschles - hello mate. any advice? |
sorry @dariuszbz - I was preparing for and then releasing v0.3.0. Regarding this:
I suspect something went wrong when the HTTP Addon was installed to your cluster. can you show me the output of your
Also, now that |
Thank You, and appreciate your feedback. NAME READY STATUS RESTARTS AGE I'm going to reinstall with 0.3.0 now. Can't wait to make it work :) |
I did upgrade: helm uninstall http-add-on $namespace = "k8sdemo" requested output is: NAME READY STATUS RESTARTS AGE the error is still appearing: and in external scaler pod: and from keda-operator pod: |
ok, thanks for trying that. do you have any network security policies defined in your cluster? |
Hi @arschles . Nop. No security. I'm happy to setup a qcall with screen sharing if it helps. |
hm, yes let's do that. are you on the Kubernetes slack? if so, can you send me a message so we can set it up? my name is |
This issue has been automatically marked as stale because it has not had recent activity. It will be closed in 7 days if no further activity occurs. Thank you for your contributions. |
This issue has been automatically closed due to inactivity. |
let's follow the steps (i put them into one list - your welcome)
install helm with choco
install choco
Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1'))
install helm
choco install kubernetes-helm
add keda chart
helm repo add kedacore https://kedacore.github.io/charts
make sure all charts in your repo are updated
helm repo update
make a new k8s namespace for keda
kubectl create namespace keda
install keda
helm install keda kedacore/keda --namespace keda
##install http addon
helm install http-add-on kedacore/keda-add-ons-http --namespace keda
clone repo https://github.com/kedacore/http-add-on
cd to the cloned folder
install test applicattion
helm install xkcd ./examples/xkcd -n keda
until now all is well. Great!
now you suggest:
kubectl create -f -n keda examples/v0.0.2/httpscaledobject.yaml
first error:
error: Unexpected args: [keda examples/v0.0.2/httpscaledobject.yaml]
See 'kubectl create -h' for help and examples
Let's fix that:
kubectl create -n keda -f ./examples/v0.0.2/httpscaledobject.yaml
and we get error:
error: error validating "./examples/v0.0.2/httpscaledobject.yaml": error validating data: ValidationError(HTTPScaledObject.spec): missing required field "host" in sh.keda.http.v1alpha1.HTTPScaledObject.spec; if you choose to ignore these errors, turn validation off with --validate=false
Let us try the latest version:
kubectl create -n keda -f ./examples/v0.2.0/httpscaledobject.yaml
but we get:
Error from server (AlreadyExists): error when creating "./examples/v0.2.0/httpscaledobject.yaml": httpscaledobjects.http.keda.sh "xkcd" already exists.
I'd assume it is unnecessary step, but how can we update scaler ? I'm not an expert so please: could you tell me how to update scaler to scale up/down on every X http requests.
following your documentation: https://github.com/kedacore/http-add-on/blob/main/docs/ref/v0.2.0/http_scaled_object.md
I was trying to add:
targetPendingRequests: X
under: spec.scaleTagetRef
as part of httpscaledobject.yaml
but when I try to deploy I got:
Error: INSTALLATION FAILED: unable to build kubernetes objects from release manifest: error validating "": error validating data: ValidationError(HTTPScaledObject.spec.scaleTargetRef): unknown field "targetPendingRequests" in sh.keda.http.v1alpha1.HTTPScaledObject.spec.scaleTargetRef
Thank You in advance!
The text was updated successfully, but these errors were encountered: