Google compute engine 是否可以使用1个Kubernetes入口对象将流量路由到不同集群中的k8s服务?

Google compute engine 是否可以使用1个Kubernetes入口对象将流量路由到不同集群中的k8s服务?,google-compute-engine,kubernetes,google-kubernetes-engine,Google Compute Engine,Kubernetes,Google Kubernetes Engine,我有以下设置: k8s群集A,包含服务SA k8s群集B,包含服务SB和将流量路由到SB的HTTP入口 是否可以将服务SA添加为入口路径之一的后端服务?如果是,我如何在入口配置文件中引用它?(以通常的方式使用选择器不起作用,可能是因为我们在不同的集群中)入口对象有助于为单个集群配置HTTP(S)负载平衡。他们没有多个集群的概念,所以他们不会有一种配置语言来实现您想要实现的目标(也许他们会,但现在肯定不会) 结果是,您可以绕过入口配置并手动配置路由(毕竟,入口实际上只是典型L7配置的一个易于使用的

我有以下设置: k8s群集A,包含服务SA k8s群集B,包含服务SB和将流量路由到SB的HTTP入口


是否可以将服务SA添加为入口路径之一的后端服务?如果是,我如何在入口配置文件中引用它?(以通常的方式使用选择器不起作用,可能是因为我们在不同的集群中)

入口对象有助于为单个集群配置HTTP(S)负载平衡。他们没有多个集群的概念,所以他们不会有一种配置语言来实现您想要实现的目标(也许他们会,但现在肯定不会)

结果是,您可以绕过入口配置并手动配置路由(毕竟,入口实际上只是典型L7配置的一个易于使用的快捷方式)。您可以在GCP中创建自己的L7配置,并设置基于路径的转发,以路由到不同的后端组。然后,您可以将后端组分配给在每个集群中配置的
NodePort
服务

大致步骤如下:

  • 在每个集群中创建一个
    NodePort
    服务
  • 为每个服务创建HTTP运行状况检查
  • 添加防火墙规则以允许http运行状况检查命中后端
  • 将服务添加到群集的实例组(例如,
    gcloud compute实例组托管集命名端口…
  • 为负载平衡器添加后端服务(例如,
    gcloud compute后端服务创建…
  • 将群集的后端添加到此后端服务(例如,
    gcloud compute backend services Add backend…
  • 将该URL映射到后端服务(例如,
    gcloud计算URL映射创建…
  • 为该后端服务创建负载平衡代理(例如,
    gcloud计算目标http代理创建…
  • 为该代理创建转发规则(例如,
    gcloud计算转发规则创建…

  • 只是为了补充罗伯特上面所说的一点。首先,您需要在nodePort服务中指定一个特定的nodePort。然后,将该端口号用于“命名端口”和healthcheck。最后,您创建的防火墙规则也必须允许该端口


    作为一名初学者,我确实发现使用控制台使配置更加容易。

    谢谢,这很有效!对于任何试图遵循这些说明的人,本文中有这些命令的更详细示例。文档用于解释如何专门针对容器引擎群集执行此操作,但在中最近被使用入口的简化说明所取代。