Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

215
Visualizações
Vanilla JS ERR_NAME_NOT_RESOLVED en el clúster de minikube

Tengo una aplicación web mínima ejecutándose en un clúster minikube local. El backend expone una API en /be/test/hi y el nombre del servicio también es be. Cuando envío una solicitud GET de frontend a backend, obtengo:

 main.js:15 GET http://be/be/test/hi net::ERR_NAME_NOT_RESOLVED

Si ejecuto nslookup be desde el POD frontend, obtengo la resolución dns correcta, y ejecuto curl be/be/test/hi , obtengo la respuesta correcta del backend (una cadena simple de 'Hola mundo')

¿Qué me estoy perdiendo?

backend.yaml

 apiVersion: v1 kind: Service metadata: name: be spec: ports: - port: 80 targetPort: 8080 selector: app: be type: LoadBalancer --- apiVersion: apps/v1 kind: Deployment metadata: name: be spec: replicas: 1 selector: matchLabels: app: be template: metadata: labels: app: be spec: containers: - name: be image: kubebe imagePullPolicy: Never ports: - containerPort: 8080

frontend.yaml

 apiVersion: v1 kind: Service metadata: name: fe spec: ports: - port: 80 targetPort: 8080 selector: app: fe type: LoadBalancer --- apiVersion: apps/v1 kind: Deployment metadata: name: frontend spec: replicas: 1 selector: matchLabels: app: fe template: metadata: labels: app: fe spec: containers: - name: fe image: kubefe imagePullPolicy: Never ports: - containerPort: 8080

principal.js

 const URL="http://be/be/test/hi" function httpGetAsync(){ var xmlHttp = new XMLHttpRequest(); xmlHttp.onreadystatechange = function() { if (xmlHttp.readyState == 4 && xmlHttp.status == 200) console.log(xmlHttp.responseText); } xmlHttp.open("GET", URL, true); xmlHttp.send(null); }

Frontend Dockerfile (imagen de kubefe):

 FROM centos/httpd-24-centos7:2.4 RUN mkdir -p /var/www/html/fe COPY ./index.html ./main.js /var/www/html/fe/

EDITAR: he resuelto mis problemas, pero creo que la pregunta real aún no ha sido respondida.

Para resolver esto, simplemente eliminé el protocolo y el host de mi URL y configuré las reglas de proxy en /etc/httpd/conf.d/default-site.conf

predeterminado-sitio.conf

 <VirtualHost *:8080> ProxyPreserveHost Off ProxyRequests Off ProxyPass /be/ http://be/be/ </VirtualHost>
about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

Su código de interfaz (javascript) se está ejecutando en su navegador, no dentro del clúster de kubernetes (pod de nginx)

Tienes 3 opciones aquí,

  1. Cree un servicio NodePort para su interfaz
  2. Confíe en kubeproxy para realizar un reenvío de puertos
  3. Crear una entrada
about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda