Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

165
Vistas
Solicitud http simple entre dos pods usando Istio

Mi pod de frontend está tratando de comunicarse con mi pod de backend para buscar a todos los usuarios en una base de datos. La llamada es sencilla y funciona cuando uso curl dentro de AMBOS contenedores frontend e istio-proxy en el pod frontend:

 kubectl exec -it frontend-pod -c frontend-container -- bash curl backend-svc:8000/users/ # returns correct response kubectl exec -it frontend-pod -c istio-proxy -- bash curl backend-svc:8000/users/ # returns correct response

Sin embargo, mi aplicación de reacción frontal tiene problemas para llegar a este punto final en Chrome. Aquí están los registros de la consola:

 GET http://backend-svc:8000/users/ net::ERR_NAME_NOT_RESOLVED

Parece que el nombre de dominio no se puede resolver. ¿Alguna idea de lo que estoy haciendo mal aquí?

Estoy usando nginx para servir mi aplicación de reacción de interfaz (no estoy seguro de si eso puede ser un problema).

EDITAR: algunos comentarios dicen que necesito ajustar mis archivos de Gateway y/o servicio virtual. Así es como se ven ahora:

 # Source: myapp/gateway.yaml apiVersion: networking.istio.io/v1alpha3 kind: Gateway metadata: name: myapp-gateway spec: selector: istio: ingressgateway # use istio default controller servers: - port: number: 80 name: http protocol: HTTP hosts: - '*' --- # Source: myapp/virtual-service.yaml apiVersion: networking.istio.io/v1alpha3 kind: VirtualService metadata: name: myapp spec: hosts: - '*' gateways: - myapp-gateway http: - route: - destination: host: frontend-svc port: number: 80
over 4 years ago · Santiago Trujillo
2 Respuestas
Responde la pregunta

0

Un par de cosas se ven mal en sus ejemplos de código:

  1. Sus rutas de Istio VirtualService no coinciden con la solicitud. El formato correcto se vería así:

 apiVersion: networking.istio.io/v1alpha3 kind: VirtualService metadata: name: bookinfo spec: hosts: - "*" gateways: - bookinfo-gateway http: - match: - uri: exact: /frontend route: - destination: host: frontend-svc port: number: 80

  1. En el mismo VirtualService, necesita una ruta para el backend.
  2. Debe modificar su código de interfaz para llamar a la URL de backend de Gateway. Esta URL debe incluir la IP externa o el nombre de dominio de su puerta de enlace, así como el puerto HTTP externo.

Un buen recurso para juntar estas cosas es la página de inicio de Istio.

over 4 years ago · Santiago Trujillo Denunciar

0

Solo para asegurarse: ¿su llamada se activa en el lado del cliente? En caso afirmativo, esa es la razón, ya que http://backend-svc:8000/users/ son entradas de DNS emitidas por componentes principales y que solo están disponibles internamente en el clúster.

Dicho esto, debe crear un recurso personalizado de puerta de enlace. La descripción completa está aquí

Una puerta de enlace permite que se apliquen características de Istio, como la supervisión y las reglas de ruta, al tráfico que ingresa al clúster.

Espero haber ayudado.

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda