Azure 容器应用中的入口配置确定外部网络流量如何到达应用程序。 通过配置入口,可以控制流量路由、提高应用程序性能并实施高级部署策略。 本文将指导你完成 Azure 容器应用中提供的入口配置选项,并帮助你为工作负载选择合适的设置。
Azure 容器应用环境包括一个可缩放的边缘入口代理,负责以下功能:
传输层安全性(TLS)终止,它会在进入环境时解密 TLS 流量。 此作将解密工作从容器应用移开,从而减少其资源消耗并提高其性能。
会话相关性,有助于生成需要与同一容器应用副本保持一致连接的有状态应用程序。
下图显示了一个示例环境,其中入口代理将流量路由到两个容器应用。
默认情况下,Azure 容器应用使用默认入口模式创建容器应用环境。 如果应用程序需要以高规模级别运行,可以将入口模式设置为高级。
默认入口模式
使用默认入口模式时,容器应用环境有两个入口代理实例。 容器应用根据需要创建更多实例,最多 10 个实例。 每个实例最多分配 1 个 vCPU 核心和 2 GB 内存。
在默认入口模式下,扩展入口代理或增加 vCPU 核心及内存分配时不适用计费。
高级入口模式
默认入口模式可能会成为大规模环境中的瓶颈。 作为替代方法,高级入口模式包括高级功能,以确保入口跟上流量需求。
这些功能包括:
工作负荷配置文件支持:入口代理实例在所选 的工作负荷配置文件 中运行。 可以控制代理可用的 vCPU 核心数和内存资源数。
可配置的缩放范围规则:代理缩放范围规则是可配置的,因此可以确保具有与应用程序所需的实例数一样多。
高级设置:您可以配置高级设置,例如入口代理实例的空闲等待时长。
为了决定使用默认入口模式还是高级入口模式,应根据服务的请求来评估代理实例所消耗的资源。 首先查看代理实例使用的 vCPU 核心和内存资源。 如果环境在任何长时间内保持最大入口代理计数(默认值 10),请考虑切换到高级入口模式。 有关详细信息,请参阅 指标。
工作负载配置文件
您可以选择一个工作负载配置文件,为您的入口代理实例提供专用节点,以满足您的扩展需求。 建议使用 D4-D32 工作负载配置文件类型。 每个入口代理实例分配 1 个 vCPU 核心。 有关详细信息,请参阅 Azure 容器应用中的工作负载配置文件。
工作负载配置文件:
- 不得是消耗工作负载配置文件。
- 不得与容器应用或作业共享。
- 在用于入口代理时,不得被删除。
在工作负载配置文件中运行入口代理按该工作负载配置文件的费率计费。 有关详细信息,请参阅计费。
还可以配置工作负载概况节点数。 工作负载配置文件是一个可缩放的节点池。 每个节点都包含多个入口代理实例。 节点数根据 vCPU 和内存利用率进行缩放。 节点实例的最小数目为 2。
规模化
入口代理的缩放与容器应用的缩放无关。
当入口代理达到高 vCPU 或内存利用率时,容器应用会创建更多的入口代理实例。 利用率降低时,会删除额外的入口代理实例。
您的最小和最大入口代理实例的确定方式如下:
最小值:至少有两个节点实例。
最大值:最大节点实例数量乘以您的 vCPU 核心数。 例如,如果有 50 个最大节点实例和 4 个 vCPU 核心,则最多有 200 个入口代理实例。
入口代理实例分布在可用的工作负载配置文件节点之间。
高级入口设置
启用高级入口模式后,还可以配置以下设置:
设置 | DESCRIPTION | 最小值 | 最大值 | 违约 |
---|---|---|---|---|
终止宽限期 | 容器应用在关闭期间取消请求之前完成处理请求的时间(以秒为单位)。 | 0 | 3,600 | 500 |
空闲请求超时 | 空闲请求超时(以分钟为单位)。 | 1 | 六十 | 4 |
请求头计数 | 如果有发送大量请求标头的客户端,请增加此设置。 | 1 | 无 | 100 |
应仅根据需要增加这些设置,因为提高这些设置可能会导致入口代理实例在较长时间内消耗更多资源,因此更容易受到资源耗尽和拒绝服务攻击的攻击。
配置入口
可以在创建环境后为环境配置入口。
在 Azure 门户中浏览到你的环境。
选择“网络”。
选择 入口设置。
按如下所示配置入口设置。
设置 价值 入口模式 选择 “默认 ”或“ 高级”。 工作负载配置文件大小 选择 从 D4 到 D32 的大小。 最小节点实例 输入最小工作负载配置文件节点实例。 最大节点实例数 输入最大工作负载配置文件节点实例。 终止宽限期 输入 终止宽限期(以分钟为单位)。 空闲请求超时 输入空闲请求超时(分钟)。 请求头计数 输入请求头计数。 选择应用。