соединение gRPC между двумя разными сетками сбрасывается

У меня есть два разных кластера (EKS, v1.18) со своими сетками (v1.9.0).

У меня есть развертывание Thanos в кластере A и развертывание Prometheus в кластере B (с запущенным сайдкаром thanos). Цель состоит в том, чтобы танос запрашивал эти вспомогательные машины в удаленных кластерах для прокси-запросов к каждому кластеру (сохранение блокировки с использованием S3 или аналогичного выходит за рамки этой проблемы) через внутренний балансировщик нагрузки (классический ELB)

Ресурсы для шлюза, виртуальной службы и службы находятся в кластере B, и я могу запускать Thanos локально при подключении к сети и успешно подключаться к дополнительным машинам в кластере B, используя gRPC.

ServiceEntry для полного доменного имени из кластера B был создан в кластере A, разрешение работает, маршрутизация правильная, но развертывание в кластере A не может подключиться к кластеру B.

Сайдкары Istio (из исходной рабочей нагрузки, Thanos, в кластере A) показывают, что соединение сбрасывается:

      [2021-02-26T14:41:03.509Z] "POST /thanos.Store/Info HTTP/2" 0 - http2.remote_reset - "-" 5 0 4998 - "-" "grpc-go/1.29.1" "50912787-d528-994f-b8ad-78dd42081fea" "thanos.dev.integrations.internal.fqdn:10901" "-" - - 172.20.65.175:10901 172.30.9.174:37594 - default

Я не вижу входящего запроса на входном шлюзе кластера B (у меня есть публичный и частный, я проверил оба, чтобы быть уверенным).

Я пытался:

  • Принудительное обновление http1.1 до http2 с помощью DR
  • Принудительное отключение TLS с помощью DR
  • Исключение частного диапазона LB CIDR для обхода прокси

Ресурсы (кластер A)

ServiceEntry:

      ---
apiVersion: networking.istio.io/v1beta1
kind: ServiceEntry
metadata:
  name: thanos-integrations-dev
  namespace: thanos
spec:
  hosts:
  - thanos.dev.integrations.internal.fqdn
  location: MESH_EXTERNAL
  ports:
  - name: grpc-thanos-int-dev
    number: 10901
    protocol: GRPC
  resolution: DNS

Ресурсы (кластер B)

Шлюз:

      ---
apiVersion: networking.istio.io/v1beta1
kind: Gateway
metadata:
  annotations:
    meta.helm.sh/release-name: istio-routing-layer
    meta.helm.sh/release-namespace: istio-system
  creationTimestamp: "2021-02-25T11:37:49Z"
  generation: 3
  labels:
    app.kubernetes.io/instance: istio-routing-layer
    app.kubernetes.io/managed-by: Helm
    app.kubernetes.io/name: istio-routing-layer
    app.kubernetes.io/version: 0.0.1
    helm.sh/chart: istio-routing-layer-0.0.1
  name: thanos
  namespace: istio-system
spec:
  selector:
    istio: internal-ingressgateway
  servers:
  - hosts:
    - thanos.dev.integrations.internal.fqdn
    port:
      name: grpc-thanos
      number: 10901

VirtualService:

      ---
apiVersion: networking.istio.io/v1beta1
kind: VirtualService
metadata:
  annotations:
    meta.helm.sh/release-name: istio-routing-layer
    meta.helm.sh/release-namespace: istio-system
  creationTimestamp: "2021-02-25T11:37:49Z"
  generation: 3
  labels:
    app.kubernetes.io/instance: istio-routing-layer
    app.kubernetes.io/managed-by: Helm
    app.kubernetes.io/name: istio-routing-layer
    app.kubernetes.io/version: 0.0.1
    helm.sh/chart: istio-routing-layer-0.0.1
spec:
  gateways:
  - thanos
  hosts:
  - thanos.dev.integrations.internal.fqdn
  http:
  - route:
    - destination:
        host: thanos-sidecar.prometheus.svc.cluster.local
        port:
          number: 10901

Служба:

      ---
apiVersion: v1
kind: Service
metadata:
  annotations:
    meta.helm.sh/release-name: prometheus-thanos-istio
    meta.helm.sh/release-namespace: prometheus
  creationTimestamp: "2021-02-25T14:31:02Z"
  labels:
    app.kubernetes.io/instance: prometheus-thanos-istio
    app.kubernetes.io/managed-by: Helm
    app.kubernetes.io/name: prometheus-thanos-istio
    app.kubernetes.io/version: 0.0.1
    helm.sh/chart: prometheus-thanos-istio-0.0.1
spec:
  clusterIP: None
  ports:
  - name: grpc-thanos
    port: 10901
    protocol: TCP
    targetPort: grpc
  selector:
    app: prometheus
    component: server
  sessionAffinity: None
  type: ClusterIP

0 ответов

Другие вопросы по тегам