一个 Kubernetes Ingress 用于前端多个集群?范围问题

One Kubernetes Ingress to front multiple clusters? Scope issues

所以我现在有两个集群(一旦我开始工作,很快就会有更多),ClusterA 和 ClusterB。

一个入口是否可以与来自两个集群的服务接口?

ClusterA 托管前端和入口,而 ClusterB 托管后端。

入口摘录如下。除后端外一切正常。

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  annotations:{...}  
  selfLink: /apis/extensions/v1beta1/namespaces/default/ingresses/test-frontend-ingress
  uid: //
  spec:
  backend:
    serviceName: idu-frontend-XYZ
    servicePort: 80
  rules:
  - http:
      paths:
      - backend:
          serviceName: test-backend-app-service
          servicePort: 8080
        path: /api/v2/
      - backend:
          serviceName: idu-frontend-XYZ
          servicePort: 80
        path: /
  tls:
  - secretName: tls-cert-name
status:
  loadBalancer:
    ingress:
    - ip: 123.456.789.012

后端服务URL:
https://console.cloud.google.com/kubernetes/service/asia-southeast1-b/test-backend/default/test-backend-app-service...

URL 入口试图指向:
https://console.cloud.google.com/kubernetes/service/asia-southeast1-b/standard-cluster-1/default/test-backend-app-service...

所以我收集到的是入口只能与与它们位于同一集群中的事物交互? test-backendstandard-cluster-1 是集群名称,它们都在默认命名空间中。这不是毫无意义,因为您只能向每个集群部署一个东西吗?除非你的图像包含多个应用程序,在这种情况下它不再是真正的微服务。

我想用 Kubernetes 连接两个集群很难。

相反,您可以将这两种服务部署在同一个集群上。您可以创建两个部署并将它们公开为服务。然后入口可以重定向它们之间的流量。

为什么每个服务都需要一个集群?

如果没有其他选择,您将不得不这样做: https://appscode.com/products/voyager/7.1.1/guides/ingress/http/external-svc/