Zuul代理的kubernetes虚拟服务在没有端口转发的情况下失败

问题描述 投票:0回答:1

我在以下文件中定义的kubernetes中具有虚拟服务,

apiVersion: networking.istio.io/v1alpha3
kind: VirtualService
metadata:
  name: {{ .Chart.Name }}-vs
  namespace: istio-system
spec:
  hosts:
    - {{ .Values.virtualservice.host }}
    - {{ .Chart.Name }}.default.svc.cluster.local
  gateways:
    - {{ .Values.virtualservice.gateway }}
    - mesh
  http:
    - route:
        - destination:
            host: {{ .Chart.Name }}.default.svc.cluster.local
            port:
              number: {{ .Values.service.port }}
      corsPolicy:
        allowOrigin:
          - '*'
        allowMethods:
          - OPTIONS
          - GET
          - POST
          - PUT
          - DELETE
        allowCredentials: true
        allowHeaders:
          - '*'
        maxAge: "24h"

当我移植到它时,我的实际服务正常。这是一个仅提供HTTP服务的Java应用。

但是,当我尝试通过上述定义的虚拟服务使用HTTPS击打它时,它失败了。静态页面加载正常。但是,如果遇到导致应用程序后端运行并访问其他服务的问题,则会失败。该应用实际上是Zuul代理,需要使用后端服务。

我不知道如何调试此问题或可能导致此问题的原因。

感谢

编辑

我注意到了一件奇怪的事。包括api-gw在内的所有服务都在8080端口上监听。它们都是Spring-boot应用。

Fails

  • API-gw服务,SpringBootApp和Docker容器与kube服务-8080
  • 后端服务,SpringBootApp,Docker容器和kube服务-8080

Succeeds

  • API-gw服务,SpringBootApp和Docker容器与kube服务-11243 [除8080外的任何内容]]] >>
  • 后端服务,SpringBootApp,Docker容器和kube服务-8080
  • 原因是什么?

    感谢

我在kuVernetes中有一个虚拟服务,如以下文件apiVersion中所定义:networking.istio.io/v1alpha3种类:VirtualService元数据:名称:{{.Chart.Name}}-vs命名空间:istio-system ...

kubernetes kubernetes-ingress istio
1个回答
0
投票

基于medium和监听器命令,我认为答案是端口冲突。

enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.