NVIDIA / NVIDIA/GenerativeAIExamples

Frontend app works ok with Port forwarded localhost endpoint but fails with an ingress endpoint

Aperta
#254 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Lingua principale
Jupyter Notebook
Stelle
4.2k
Fork
1.1k
Merge medio
10h 15m
PR unite (30g)
1

Descrizione

I am able to access the chatbot front end using port forwarded local host ep.
Now I want to expose this endpoint using Ingress. I have added an ingress to expose the chatbot’s front end using the below manifest
e125830@W76CYQCV44 nim-operator % cat cr8-rag-chatbot-ingress.yaml
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: rag-chatbot-ep
namespace: rag-sample
spec:
ingressClassName: nginx
rules:

  • host: rag-chatbot-ep.k8s-performance.stage.stl.k8s.int
    http:
    paths:
    • backend:
      service:
      name: rag-playground-multiturn-rag
      port:
      number: 3001
      path: /
      pathType: Prefix
      tls:
  • hosts:
    • rag-chatbot-ep.k8s-performance.stage.stl.k8s.int

I am able to get to the chatbot front end using the new ingress ep https://rag-chatbot-ep.k8s-performance.stage.stl.k8s.int/converse, but when I submit a prompt I get error
Below are the logs and my analysis…

Below are the logs when Chatbot is accessed via nginx ingress ep
[1] Nov 01 17:08:10 [ INFO] - uvicorn.access - 10.42.69.131:37658 - "GET /converse HTTP/1.1" 200
[1] Nov 01 17:08:10 [ INFO] - uvicorn.access - 10.42.69.131:37658 - "GET /content/converse/?__theme=light HTTP/1.1" 200
[1] Nov 01 17:08:10 [ INFO] - uvicorn.access - 10.42.69.131:37658 - "GET /assets/index-CKyT5UbA.css HTTP/1.1" 404
[1] Nov 01 17:08:10 [ INFO] - uvicorn.access - 10.42.69.131:37658 - "GET /theme.css?v=a2458843f5ddb2d155d001fdae495187847b01c05a840ddb350be829a269d776 HTTP/1.1" 404
[1] Nov 01 17:18:22 [ INFO] - uvicorn.access - 10.42.171.194:36704 - "POST /queue/join?__theme=light HTTP/1.1" 405

Below are the logs when Chatbot is accessed via port forwarded local host ep
[1] Nov 01 17:08:29 [ INFO] - uvicorn.access - 127.0.0.1:57842 - "GET /converse HTTP/1.1" 200
[1] Nov 01 17:08:29 [ INFO] - uvicorn.access - 127.0.0.1:57842 - "GET /content/converse/?__theme=light HTTP/1.1" 200
[1] Nov 01 17:08:30 [ INFO] - uvicorn.access - 127.0.0.1:57842 - "GET /assets/index-CKyT5UbA.css HTTP/1.1" 404
[1] Nov 01 17:08:30 [ INFO] - uvicorn.access - 127.0.0.1:57842 - "GET /content/converse/theme.css?v=a2458843f5ddb2d155d001fdae495187847b01c05a840ddb350be829a269d776 HTTP/1.1" 200
[1] Nov 01 17:20:12 [ INFO] - uvicorn.access - 127.0.0.1:52396 - "POST /content/converse/queue/join?__theme=light HTTP/1.1" 200
[1] Nov 01 17:20:12 [ INFO] - frontend.pages.converse - processing inference request - {'prompt': 'Testing', 'use_knowledge_base': False}
[1] Nov 01 17:20:12 [ INFO] - uvicorn.access - 127.0.0.1:52396 - "GET /content/converse/queue/data?session_hash=rdgwzvtp9w8 HTTP/1.1" 200

Main issue is the POST call is missing /content/converse in the ingress ep case

Looks like the the URL posted by the Client itself does not have them for ingress case…

Can one of you please check this and let us know what might be causing this difference in the POST URL’s when using the above endpoints…

Guida per i contributori

Apri la guida per i contributori

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Direzione di ricerca

Inizia con cr8-rag-chatbot-ingress.yaml e confronta i percorsi delle richieste ingress con i log ottenuti tramite port forwarding. Traccia il modo in cui il frontend costruisce l’URL POST per /queue/join e verifica che l’endpoint ingress conservi il prefisso /content/converse; il lavoro è completato quando l’invio di un prompt tramite ingress riesce come tramite port forwarding.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
kubernetes, nginx
Ambito
frontend, infrastructure
Tipo di issue
Bug
Difficoltà
3/5
Tempo stimato
1-2 giorni
Stato di attività
Ferma
Chiarezza
Abbastanza chiara
Idoneità per principianti
35/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.