一个Kubernetes进入多个集群的前端?范围问题

一个Kubernetes进入多个集群的前端?范围问题,kubernetes,google-cloud-platform,load-balancing,google-kubernetes-engine,kubernetes-ingress,Kubernetes,Google Cloud Platform,Load Balancing,Google Kubernetes Engine,Kubernetes Ingress,所以我现在有两个集群(一旦我开始工作,很快还会有几个集群),ClusterA和ClusterB 一个入口是否可以与来自两个集群的服务接口 ClusterA承载前端和入口,而ClusterB承载后端 下面是摘录的入口。除了后端之外的所有功能都正常工作 apiVersion: extensions/v1beta1 kind: Ingress metadata: annotations:{...} selfLink: /apis/extensions/v1beta1/namespaces/

所以我现在有两个集群(一旦我开始工作,很快还会有几个集群),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...


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

我想用Kubernetes连接两个集群是很困难的

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

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

如果没有其他选择,您将不得不这样做:

有什么原因不能将所有内容部署到一个集群吗?我想给后端每个节点提供更多的vCPU,后端可以有相对低功耗的节点。如果我将所有内容部署到一个集群,我的理解是,我不能选择每个部署获得的计算机类型。您可以添加不同的节点池。在GKE上,这非常简单——只需编辑集群,并添加第二个节点池。您可以在节点上使用标签,在POD上使用nodeAffinity,以确保在正确池中的节点上调度它们。我们在代码转换集群中使用了2个节点池:第一个包含2台1-CPU机器,它们托管队列处理器吊舱,另一个是一个由4台CPU机器组成的自动缩放集群,它们实际运行代码转换作业。我们使用污点、标签和nodeAffinity来确保在正确的节点上安排正确的pod。看起来这可能是一种方法!根据另一条评论,我的推理是:“我想给后端每个节点提供更多的VCPU,后端可以有相对低功耗的节点。如果我将所有设备部署到一个集群,我的理解是我无法选择每个部署获得的机器类型。”是否可以指定所需的机器类型,每个部署?签出资源。那应该能解决你的问题。您可以为每个pod分配多少CPU和多少内存。您可以为后端分配较低的值。您还可以使用节点池关联在特定类型的计算机上调度特定类型的工作负载。