Cloud Foundry 默认 HAProxy 配置

问题描述

我在 LinuxFoundationX (LFS132x) 课程中遇到了以下语句 Cloud Foundry 和云原生软件架构简介。

暂存、测试和开发环境不使用硬件设备(用于负载平衡)。相反,他们将使用称为 HAProxy 的软件工具来模拟硬件设备提供的软件功能。无论环境如何,负载均衡器都是 Cloud Foundry 网络的入口点。

但是,我没有在 Cloud Foundry 的上下文中找到有关 HAProxy 设置的详细信息。我有以下问题

  1. HAProxy 带有 Cloud Foundry。根据上面的文字,看起来我推送的每个云代工应用程序都在 HAProxy 后面。我的理解正确吗?

  2. 如果我需要在我部署在 CF 上的 HelloWorld 类型应用程序的上下文中检查 HAProxy 的存在,我在哪里可以找到它们?

我使用 SAP Cloud Platform 作为 CF 提供程序。

任何指针都会非常有帮助。

问候 阿塔努

解决方法

有许多依赖项会影响部署的内容和部署方式,因此我无法完全回答您的问题。

但是,我没有在 Cloud Foundry 的上下文中找到有关 HAProxy 设置的详细信息。

我怀疑您发现的陈述可能是指部署 Cloud Foundry called cf-deployment 的 OSS 方法。您可以将此部署方法配置为使用多种不同的负载均衡器,并且通常会使用您的 IaaS 特定负载均衡器或像 F5 这样的负载均衡器。许多人在所有环境中都使用它。使用 HAproxy 也是一种可行的替代方法,如果这对您的情况有意义,您可以配置 cf-deployment 以使用 HAproxy。

HAProxy 配置基于 the HAProxy Bosh release。您可以详细了解如何在该版本中部署 HAproxy。

HAProxy 带有 Cloud Foundry。根据上面的文字,看起来我推送的每个云代工应用程序都在 HAProxy 后面。我的理解正确吗?

是的。 HTTP/HTTPS 流量的路径如下所示:

Browser -> HAproxy -> Gorouter -> Your Apps

您的应用的流量将始终通过您的负载均衡器实例之一和 Gorouter 实例之一(通常是两者的倍数)。

如果我需要在我部署在 CF 上的 HelloWorld 类型应用程序的上下文中检查 HAProxy 的存在,我在哪里可以找到它们?

我不知道您作为应用程序开发人员是否可以确定正在使用哪种类型的负载均衡器,除非该负载均衡器留下签名,可能在标头中(通常不会这样做)安全原因)。

也就是说,从应用程序开发人员的角度来看,您实际上并不需要知道正在使用 HAproxy。其配置中没有任何内容真正适用于应用程序。

您需要记住的是,您的应用程序位于反向代理之后,因此,您需要检查 x-forwarded-forx-forwarded-proto 标头以正确检索远程客户端客户端使用 TLS。许多 Web 框架都有配置设置来支持这种操作模式,请查看您的框架的文档。

我使用 SAP Cloud Platform 作为 CF 提供程序。

如果您对环境中的特定配置有疑问,您需要与管理您的 Cloud Foundry 环境的运营团队交谈。他们会具体知道正在使用哪些负载平衡器以及它们是如何配置的。

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...