如何使用 ISTIO Service Mesh 配置 NIFI?

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

在浏览器上加载页面时出错:上游连接错误或在标题之前断开/重置。重置原因:协议错误

我已使用 helm 在 Oracle Kubernetes 集群上部署了 ISTIO 版本 1.14.0 和 NIFI 版本 1.16.0 以下是我的 ISTIO 网关配置:

apiVersion: networking.istio.io/v1beta1
kind: Gateway
metadata:
  annotations:
    meta.helm.sh/release-name: istio-system
    meta.helm.sh/release-namespace: istio-system
  name: gateway
  namespace: istio-system
spec:
  selector:
    istio: ingress
  servers:
  - hosts:
    - '*'
    port:
      name: http
      number: 80
      protocol: HTTP
    tls:
      httpsRedirect: true
  - hosts:
    - '*'
    port:
      name: https
      number: 443
      protocol: HTTPS
    tls:
      credentialName: secret
      mode: SIMPLE 

下面是我的NIFI虚拟服务配置

apiVersion: networking.istio.io/v1beta1
kind: VirtualService
metadata:
  annotations:
    meta.helm.sh/release-name: nifi
    meta.helm.sh/release-namespace: nifi
  labels:
    app.kubernetes.io/managed-by: Helm
  name: nifi-virtual-service
  namespace: nifi
spec:
  gateways:
  - ops-gateway
  hosts:
  - FQDN
  http:
  - match:
    - uri:
        prefix: /nifi
    route:
    - destination:
        host: nifi-headless
        port:
          number: 8443

Istio Ingress 日志:

"GET /nifi HTTP/2" 502 UPE upstream_reset_before_response_started{protocol_error} - "-" 0 87 5

有人可以分享解决这个问题的想法吗?

需要解决以下问题:

在浏览器上加载页面时出错:上游连接错误或在标题之前断开/重置。重置原因:协议错误

kubernetes apache-nifi istio istio-gateway istio-sidecar
1个回答
0
投票

请确保虚拟服务中提及的网关名称正确。如下所述,但与创建的网关名称不匹配。另外,最好在应用程序命名空间本身而不是 istio-system 命名空间中创建网关。

spec:
  gateways:
  - ops-gateway

要求您映射网关和虚拟服务中提到的主机名。在网关中,其被称为“*”,虚拟服务被称为“- FQDN”。有关更多详细信息,请参阅网关虚拟服务文档。

在网关定义中请更改选择器如下

spec:
  selector:
    istio: ingressgateway
© www.soinside.com 2019 - 2024. All rights reserved.