Giter VIP home page Giter VIP logo

Comments (33)

robervexcel avatar robervexcel commented on July 28, 2024 1

Works!!! in my case with ELB (classic load balancer) I only need to modified this:

path: /results/(v\d/executions.*)
to /result/v1 and use different URL,s for API and dashboard (why don't change you in values of chart by default?)

The guide it's perfect when I migrate to ALB in AWS ;) thank you!!

from helm-charts.

vsukhin avatar vsukhin commented on July 28, 2024

Hey, @robervexcel Hope, you saw this guide https://kubeshop.github.io/testkube/using-testkube/UI/#configure-ingress-for-results-endpoint
We don't need to enable cli ingress, only testkube-api ui ingress and dashboard ingress as in a guide above.
Please make sure you properly exposed your Testkube api endpoint
it should be available for requests as curl -v http://yourdomain.com/results/v1/info

from helm-charts.

robervexcel avatar robervexcel commented on July 28, 2024

Thanks for reply

> curl -v http://myURL/results/v1/info
*   Trying X.X.X.170:80...
* TCP_NODELAY set
* Connected to myURL (X.X.X.170) port 80 (#0)
> GET /results/v1/info HTTP/1.1
> Host: myURL
> User-Agent: curl/7.68.0
> Accept: */*
>
* Mark bundle as not supporting multiuse
< HTTP/1.1 200 OK
< Date: Fri, 03 Feb 2023 12:00:29 GMT
< Content-Type: text/html; charset=utf-8
< Content-Length: 3476
< Connection: keep-alive
< Last-Modified: Wed, 01 Feb 2023 17:09:10 GMT
< Vary: Accept-Encoding
< ETag: "63da9cb6-d94"
< Accept-Ranges: bytes

Yes it's available :/ but in my dashboard GUI I receive the error

Is it necessary to perform some test before? (I think that need some test to show...)

from helm-charts.

vsukhin avatar vsukhin commented on July 28, 2024

Sounds like, something is wrong with ingress config. You get html content, when it should return a small json object

from helm-charts.

robervexcel avatar robervexcel commented on July 28, 2024
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: ui-testkube-api-server-testkube
  namespace: testkube
  resourceVersion: '394515385'
  generation: 3
  creationTimestamp: '2023-02-03T08:57:51Z'
  labels:
    app.kubernetes.io/instance: testkube
    app.kubernetes.io/managed-by: Helm
    app.kubernetes.io/name: api-server
    app.kubernetes.io/version: 1.9.1
    gitops.jenkins-x.io/pipeline: namespaces
    helm.sh/chart: testkube-api-1.9.1
  annotations:
    kubectl.kubernetes.io/last-applied-configuration: >
      XXXX
    kubernetes.io/ingress.class: nginx-private
    meta.helm.sh/release-name: testkube
  managedFields:
    - manager: nginx-ingress-controller
      operation: Update
      apiVersion: networking.k8s.io/v1
      time: '2023-02-03T08:57:52Z'
      fieldsType: FieldsV1
      fieldsV1:
        f:status:
          f:loadBalancer:
            f:ingress: {}
      subresource: status
    - manager: kubectl-client-side-apply
      operation: Update
      apiVersion: networking.k8s.io/v1
      time: '2023-02-03T09:24:19Z'
      fieldsType: FieldsV1
      fieldsV1:
        f:metadata:
          f:annotations:
            .: {}
            f:kubectl.kubernetes.io/last-applied-configuration: {}
            f:kubernetes.io/ingress.class: {}
            f:meta.helm.sh/release-name: {}
          f:labels:
            .: {}
            f:app.kubernetes.io/instance: {}
            f:app.kubernetes.io/managed-by: {}
            f:app.kubernetes.io/name: {}
            f:app.kubernetes.io/version: {}
            f:helm.sh/chart: {}
    - manager: node-fetch
      operation: Update
      apiVersion: networking.k8s.io/v1
      time: '2023-02-03T11:05:23Z'
      fieldsType: FieldsV1
      fieldsV1:
        f:spec:
          f:rules: {}
  selfLink: >-
    /apis/networking.k8s.io/v1/namespaces/testkube/ingresses/ui-testkube-api-server-testkube
status:
  loadBalancer:
    ingress:
      - hostname: >-
          XXXXXXXXXXXXXXXXXXXXXXX.XXXXXXXX.amazonaws.com
spec:
  rules:
    - host: testkube.myurl
      http:
        paths:
          - path: /results/(v\d/executions.*)
            pathType: Prefix
            backend:
              service:
                name: testkube-api-server
                port:
                  number: 8088

Do you think something is wrong? I only change the ingresclass and URL name in default values of helm chart

from helm-charts.

vsukhin avatar vsukhin commented on July 28, 2024

yes, /results/(v\d.*)

from helm-charts.

robervexcel avatar robervexcel commented on July 28, 2024

Thank you for your response

Something is wrong here in this case ->

path: /results/(v\d/executions.*)

Anyway, I received the same error:

image

from helm-charts.

vsukhin avatar vsukhin commented on July 28, 2024

and same curl response?

from helm-charts.

ypoplavs avatar ypoplavs commented on July 28, 2024

Also could you please add path: / to dashboard Ingress as well? Also what do you see when you describe Ingress resources?
kubectl describe ingress name -n testkube?

from helm-charts.

ashishkurian avatar ashishkurian commented on July 28, 2024

Hi @ypoplavs . Unfortunately I am also experiencing the same problem.

image

image

I already have the path: / in my dashboard ingress

from helm-charts.

robervexcel avatar robervexcel commented on July 28, 2024

@vsukhin

> curl -v http://testkube.XXXXX.com/results/v1/info
*   Trying 10.100.162.170:80...
* TCP_NODELAY set
* Connected to testkube.XXXX.com (X.X.X.X) port 80 (#0)
> GET /results/v1/info HTTP/1.1
> Host: testkube.XXXXX.com
> User-Agent: curl/7.68.0
> Accept: */*
>
* Mark bundle as not supporting multiuse
< HTTP/1.1 200 OK
< Date: Mon, 06 Feb 2023 10:23:32 GMT
< Content-Type: text/html; charset=utf-8
< Content-Length: 3476
< Connection: keep-alive
< Last-Modified: Wed, 01 Feb 2023 17:09:10 GMT
< Vary: Accept-Encoding
< ETag: "63da9cb6-d94"
< Accept-Ranges: bytes

@ypoplavs My ingress dashboard:
image

from helm-charts.

ypoplavs avatar ypoplavs commented on July 28, 2024

Please add this path to your testkube-api UI Ingress path: /results/(v\d/.*) .
Also can you please send me all your values.yaml file? I will run it on my set-up.

from helm-charts.

robervexcel avatar robervexcel commented on July 28, 2024

I made the change that you said but the error is the same

My values are in the first post :)

from helm-charts.

ypoplavs avatar ypoplavs commented on July 28, 2024

Please set apiServerEndpoint: testkube.myurl.com/results and check the Ingress for errors.
If no luck, let's schedule a call so we can go through the config together: https://calendly.com/yulia-poplavska/30min-1?month=2023-02
You can book a meeting through a Calendly for tomorrow and we can talk today if you're free.

from helm-charts.

ashishkurian avatar ashishkurian commented on July 28, 2024

@ypoplavs : I still have the issue.

Btw, I am using the AWS EKS cluster for the installation. Does that change something?

from helm-charts.

ypoplavs avatar ypoplavs commented on July 28, 2024

@ashishkurian are you available for a call now?

from helm-charts.

ashishkurian avatar ashishkurian commented on July 28, 2024

@ypoplavs : Yes. I can take a call now.

from helm-charts.

ypoplavs avatar ypoplavs commented on July 28, 2024

Please join: https://meet.google.com/aqq-mico-iqp

from helm-charts.

ashishkurian avatar ashishkurian commented on July 28, 2024

@ypoplavs : Did you manage to test it on your aws setup?

from helm-charts.

ypoplavs avatar ypoplavs commented on July 28, 2024

@ashishkurian is the MongoDB pod running?

from helm-charts.

ashishkurian avatar ashishkurian commented on July 28, 2024

@ypoplavs : Yes the mongodb pod is running.

image

Also, there are no errors in the events for the mogodb pod

image

from helm-charts.

ypoplavs avatar ypoplavs commented on July 28, 2024

@ashishkurian I have replicated your configuration in my AWS cluster. Can we schedule a call to go through it?

from helm-charts.

ashishkurian avatar ashishkurian commented on July 28, 2024

@ypoplavs How about 13.30 CET today?

from helm-charts.

ypoplavs avatar ypoplavs commented on July 28, 2024

@ashishkurian sure
Video call link: https://meet.google.com/kqk-zriy-tsm

from helm-charts.

ypoplavs avatar ypoplavs commented on July 28, 2024

hi @robervexcel, any luck with the Ingresses?
Please use my Calendly to schedule a call so we could find issue: https://calendly.com/yulia-poplavska/30min-1?month=2023-02

from helm-charts.

ashishkurian avatar ashishkurian commented on July 28, 2024

@ypoplavs : I can confirm that the setup now works for me after our discussions. However, to help others with the resolution, I am commenting it here.

As I understand, we need to have a unique urls for both the dashboard and testkube-api end points. That is not the case if we are testing with minikube on local setup. Could this be somehow related to the AWS EKS setup I am using, that we need to have a unique url for both dasboard and testkube-api ?

Second thing, we need to specify the api url under the testkube-dashboard values >> testkube-dashboard.apiServerEndpoint

And, the annotations for the services are not necessary as I tested the installation without them and it still works

from helm-charts.

ypoplavs avatar ypoplavs commented on July 28, 2024

Nice to hear that, @ashishkurian!
Yes, this is AWS-related setup. We cannot create the same DNS name in Route 53, thus, endpoints must be unique.

We are now writing a user guide that will ease installation of Testkube in AWS with ALB Ingress Controller.
Thank you for using Testkube :)

from helm-charts.

robervexcel avatar robervexcel commented on July 28, 2024

@ashishkurian If I understand, you put in testkube-dashboard.apiServerEndpoint -> myurl/results/v1 and this "myurl" must be different that testkube-api.ingress.hosts
Does is correct?

@ypoplavs I appreciate this guide :)

from helm-charts.

ashishkurian avatar ashishkurian commented on July 28, 2024

@robervexcel : Yes. The 'myurl' must be the testkube-api.uiIngress.hosts

from helm-charts.

ypoplavs avatar ypoplavs commented on July 28, 2024

@robervexcel was your configuration successful? Please let me know if any assistance is needed.

from helm-charts.

robervexcel avatar robervexcel commented on July 28, 2024

It doesn't work in my case with AWS ELB balancers

I tried 1.9.57 of helm chart, with and without https, incognito windows, differents browsers... etc
My values of chart:

testkube-dashboard:
  ingress:
    enabled: true
    annotations:
      kubernetes.io/ingress.class: nginx
    hosts:
    - testkube.MYURL.com
  apiServerEndpoint: https://testkube-api.MYURL.com/results/v1

testkube-api:
  uiIngress:
    enabled: true
    annotations:
      kubernetes.io/ingress.class: nginx
    hosts:
    - testkube-api.MYURL.com

image

I tried to launch some tests to have "something" inside

image

from helm-charts.

ashishkurian avatar ashishkurian commented on July 28, 2024

@robervexcel : As per my understanding, we need to use the kubernetes.io/ingress.class: alb as mentioned here to create the LBs in the aws.

Or do you already have the LBs created with these annotations?

Otherwise the config looks good to me. Maybe I will advice the following suggestions for you to try.

  • I had set testkube-api.uiIngress.path: /results/v1 and testkube-dashboard.ingress.path:/
  • I would try the urls differently like: testkube-api.MYURL.com and testkube-dashboard.MYURL.com
  • Ingress annotations to make the ALBs external. In my case, they are internal.
  • I do not see the annotations for the ingress like: alb.ingress.kubernetes.io/certificate-arn and external-dns.alpha.kubernetes.io/hostname
  • For the api ingress, we need the health check path to be set using the annotatin: alb.ingress.kubernetes.io/healthcheck-path: "/health"

from helm-charts.

ypoplavs avatar ypoplavs commented on July 28, 2024

@robervexcel please follow the guide below: https://testkube.io/blog/guide-to-deploying-testkube-on-aws
It's important to configure annotations like specified in a guide.

from helm-charts.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.