在 SUSE® Rancher Prime 中设置负载均衡器和 Ingress Controller
在 Rancher 中,你可以通过设置负载均衡器和 Ingress Controller 来重定向服务请求。
负载均衡器
启动应用程序后,该应用程序仅在集群内可用。你无法从集群外部访问它。
如果你希望从外部访问应用程序,则必须向集群添加负载均衡器或 Ingress。如果用户知道负载均衡器的 IP 地址和应用的端口号,负载均衡器可以为外部连接创建一个访问集群的网关。
Rancher 支持两种类型的负载均衡器:
有关详细信息,请参阅负载均衡器。
Ingress
如上所述,使用负载均衡器的缺点是:
-
每个服务负载均衡器只能处理一个 IP 地址。
-
如果你在集群中运行多个服务,则每个服务都必须配备一个负载均衡器。
-
为每个服务配备负载均衡器的花费可能非常高昂。
相反,如果将某个 Ingress 用作集群的入口点,Ingress 可以更灵活地将流量路由到多个 service。它可以将多个 HTTP 请求映射到 service,而无需为每个 service 提供单独的 IP 地址。
因此,如果你需要使用相同的 IP 地址、Layer 7 协议或特权节点端口(80 和 443)来公开多个 service,你可以使用一个 Ingress。
Ingress 与一个或多个 Ingress Controller 一起动态路由 service 的请求。Ingress 收到请求时,集群中的 Ingress Controller 会根据你配置的 service 子域或路径规则将请求定向到正确的 service。
每个 Kubernetes Ingress 资源都对应一个 /etc/nginx/sites-available/
中的文件,其中包含一个配置对特定文件和文件夹的请求的 server{}
配置块。
Ingress 能为你的集群创建一个入口端口(与负载均衡器类似),可以位于集群的内部或外部。RKE 启动的集群中的 Ingress 和 Ingress Controller 由 Nginx 提供支持。
Ingress 还支持其他功能,例如 SSL 终止、基于名称的虚拟主机等。
在高可用性配置中使用 Rancher:
请避免将 Ingress 添加到 |
-
有关如何在 Rancher 中设置 Ingress 的更多信息,请参阅 Ingress。
-
有关 Ingress 和 Ingress Controller 的完整信息,请参阅 Kubernetes Ingress 文档。
-
在项目中使用 Ingress 时,你可以通过设置全局 DNS 条目来将 Ingress 主机名编程到外部 DNS。