你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
Azure Arc 上的 Azure 容器应用(预览版)
可以在已启用 Azure Arc 的 AKS 或 AKS-HCI 群集上运行容器应用。
在已启用 Azure Arc 的 Kubernetes 群集中运行容器应用可以让:
- 开发人员利用容器应用的功能
- IT 管理员通过在内部基础结构上托管容器应用来维持企业合规性。
通过设置已启用 Azure Arc 的 Kubernetes 群集来运行 Azure 容器应用,了解如何为容器应用设置 Kubernetes 群集
在配置群集时,你将执行以下操作:
连接的群集,该群集是 Kubernetes 基础结构的 Azure 投影。 有关详细信息,请参阅什么是已启用 Azure Arc 的 Kubernetes?。
群集扩展,该扩展是连接的群集资源的子资源。 容器应用扩展将所需的资源安装到连接的群集中。 有关群集扩展的详细信息,请参阅已启用 Azure Arc 的 Kubernetes 上的群集扩展。
自定义位置,它将一组扩展捆绑在一起,并将器映射到已创建资源的命名空间。 有关详细信息,请参阅已启用 Azure Arc 的 Kubernetes 上的自定义位置。
与容器应用连接的环境,该环境使配置跨应用通用但与群集操作无关。 从概念上讲,该环境部署到自定义位置资源中,应用开发人员会在其中创建应用。
公共预览版限制
以下公共预览版限制适用于已启用 Azure Arc 的 Kubernetes 上的 Azure 容器应用。
限制 | 详细信息 |
---|---|
支持的 Azure 区域 | 美国东部、欧洲西部、东亚 |
群集网络要求 | 必须支持 LoadBalancer 服务类型 |
节点 OS 要求 | 仅限 Linux。 |
功能:托管标识 | 不可用 |
功能:使用托管标识从 ACR 拉取映像 | 不可用(取决于托管标识) |
日志 | Log Analytics 必须配置群集扩展;不是按应用程序 |
重要
如果部署到 AKS-HCI,请确保在尝试安装扩展之前已将 HAProxy 设置为负载均衡器。
容器应用扩展创建的资源
在已启用 Azure Arc 的 Kubernetes 群集上安装容器应用扩展时,会在指定的发布命名空间中创建多个资源。 这些资源使群集能够成为 Microsoft.App
资源提供程序的扩展,以支持应用的管理和操作。
(可选)可以选择为扩展安装 KEDA 以用于事件驱动的缩放。 但是,群集上只允许一个 KEDA 安装。 如果存在现有的安装,请在安装群集扩展时禁用 KEDA 安装。
下表描述了为你创建的每个修订版的作用:
Pod | 说明 | 实例数 | CPU | 内存 | 类型 |
---|---|---|---|---|---|
<extensionName>-k8se-activator |
用作缩放管道的一部分 | 2 | 100 millicpu | 500 MB | ReplicaSet |
<extensionName>-k8se-billing |
计费记录生成 - 已启用 Azure Arc 的 Kubernetes 上的 Azure 容器应用在预览期是免费的 | 3 | 100 millicpu | 100 MB | ReplicaSet |
<extensionName>-k8se-containerapp-controller |
在群集上创建资源并维护组件状态的核心运算符 Pod。 | 2 | 100 millicpu | 1 GB | ReplicaSet |
<extensionName>-k8se-envoy |
用于所有数据平面 http 请求的前端代理层。 它将入站流量路由到正确的应用。 | 3 | 1 核 | 1,536 MB | ReplicaSet |
<extensionName>-k8se-envoy-controller |
用于生成 Envoy 配置的运算符 | 2 | 200 millicpu | 500 MB | ReplicaSet |
<extensionName>-k8se-event-processor |
备用路由目标,用于帮助在系统获得第一个可用实例时缩放至零的应用。 | 2 | 100 millicpu | 500 MB | ReplicaSet |
<extensionName>-k8se-http-scaler |
监视入站请求量以便向 KEDA 提供缩放信息。 | 1 | 100 millicpu | 500 MB | ReplicaSet |
<extensionName>-k8se-keda-cosmosdb-scaler |
KEDA Cosmos DB 缩放器 | 1 | 10 m | 128 MB | ReplicaSet |
<extensionName>-k8se-keda-metrics-apiserver |
KEDA 指标服务器 | 1 | 1 核 | 1,000 MB | ReplicaSet |
<extensionName>-k8se-keda-operator |
将输入和输出的工作负荷从 0/1 缩放到 N 个实例 | 1 | 100 millicpu | 500 MB | ReplicaSet |
<extensionName>-k8se-log-processor |
从应用和其他组件收集日志并将其发送到 Log Analytics。 | 2 | 200 millicpu | 500 MB | DaemonSet |
<extensionName>-k8se-mdm |
指标和日志代理 | 2 | 500 millicpu | 500 MB | ReplicaSet |
dapr-metrics | Dapr 指标 Pod | 1 | 100 millicpu | 500 MB | ReplicaSet |
dapr-operator | 管理 Dapr 的组件更新和服务终结点 | 1 | 100 millicpu | 500 MB | ReplicaSet |
dapr-placement-server | 仅用于执行组件 - 创建用于将执行组件实例映射到 Pod 的映射表 | 1 | 100 millicpu | 500 MB | StatefulSet |
dapr-sentry | 管理服务之间的 mTLS 并充当 CA | 2 | 800 millicpu | 200 MB | ReplicaSet |
Azure Arc 上的 Azure 容器应用(预览版)常见问题解答
- 它的费用是多少?
- 支持哪些容器应用功能?
- 是否支持托管标识?
- 是否存在任何缩放限制?
- 收集哪些日志?
- 如果看到提供程序注册错误,该怎么办?
- 是否可以在 Windows 节点上安装扩展?
- 是否可以在基于 Arm64 的群集上部署容器应用扩展?
费用是多少?
在公共预览期间,已启用 Azure Arc 的 Kubernetes 上的 Azure 容器应用是免费的。
支持哪些容器应用功能?
在预览期间,某些 Azure 容器应用功能正在接受验证。 如果支持这些选项,将激活 Azure 门户中其左侧的导航选项。 尚不支持的功能保持灰显。
是否支持托管标识?
不支持托管标识。 应用在 Azure Arc 中运行时,无法为其分配托管标识。如果应用需要一个标识以便能使用另一个 Azure 资源,请考虑改用应用程序服务主体。
是否存在任何缩放限制?
使用已启用 Azure Arc 的 Kubernetes 上的 Azure 容器应用部署的所有应用程序都能够在基础 Kubernetes 群集的限制范围内缩放。 如果群集用尽了可用计算资源(主要是 CPU 和内存),则应用程序将缩放到 Kubernetes 可使用可用资源进行计划的应用程序实例数。
收集哪些日志?
系统组件和应用程序的日志均写入标准输出。
可以使用标准 Kubernetes 工具收集这两类日志以进行分析。 还可以使用 Log Analytics 工作区配置应用程序环境群集扩展,它会将所有日志发送到该工作区。
默认情况下,来自系统组件的日志将发送到 Azure 团队。 不会发送应用程序日志。 可以通过将 logProcessor.enabled=false
设置为扩展配置设置以防止传输这些日志。 此配置设置会禁止将应用程序转发到 Log Analytics 工作区。 禁用日志处理器可能会影响任何支持案例所需的时间,并且系统会要求你通过一些其他方式从标准输出中收集日志。
如果看到提供程序注册错误,该怎么办?
创建与 Azure 容器应用连接的环境资源时,某些订阅可能会遇到“找不到已注册的资源提供程序”错误。 错误详细信息可能包括一组被视为有效的位置和 API 版本。 如果返回了此错误消息,则必须将订阅重新注册到 Microsoft.App
提供程序。 重新注册提供程序不会影响现有的应用程序或 API。 若要重新注册,请使用 Azure CLI 运行 az provider register --namespace Microsoft.App --wait
。 然后重新尝试连接的环境命令。
是否可以在 Windows 节点上安装扩展?
否,不能在 Windows 节点上安装扩展。 仅支持在 Linux 节点上安装扩展。
是否可以在基于 Arm64 的群集上部署容器应用扩展?
目前不支持基于 Arm64 的群集。
扩展发行说明
容器应用扩展 v1.0.46(2022 年 12 月)
- 容器应用扩展的初始公共预览版
容器应用扩展 v1.0.47(2023 年 1 月)
- 将 Envoy 升级到 1.0.24
容器应用扩展 v1.0.48(2023 年 2 月)
- 将探测添加到 EasyAuth 容器
- 提高了 dapr -operator 的内存限制
- 添加了防止平台标头覆盖的功能
容器应用扩展 v1.0.49(2023 年 2 月)
- 将 KEDA 升级到 2.9.1,将 Dapr 升级到 1.9.5
- 将 Envoy 控制器资源限制提高到 200 m CPU
- 将容器应用控制器资源限制增加到 1 GB 内存
- 将 EasyAuth 挎斗资源限制降低到 50 m CPU
- 解决缺少指标值时记录的 KEDA 错误
容器应用扩展 v1.0.50(2023 年 3 月)
- 更新了与公有云同步的日志记录映像
容器应用扩展 v1.5.1(2023 年 4 月)
- 新的版本号格式
- 将 Dapr 升级到 1.10.4
- 部署新修订后保持 Envoy 的缩放
- 更改为将默认启动探测添加到容器时,如果开发人员未同时定义启动探测和就绪情况探测,则添加默认启动探测
- 将 CONTAINER_APP_REPLICA_NAME 环境变量添加到自定义容器
- 在多次修订停止时提高了性能
容器应用扩展 v1.12.8(2023 年 6 月)
- 将 OSS Fluent Bit 更新到 2.1.2、Dapr 到 1.10.6
- 支持自定义端口上公开的容器注册表
- 在容器应用停止时启用激活/停用修订
- 修复修订列表不返回 Init 容器
- 为 cors 策略添加了默认允许标头
容器应用扩展 v1.12.9(2023 年 7 月)
- EasyAuth 挎斗容器的次要更新
- 扩展监视代理的更新
容器应用扩展 v1.17.8(2023 年 8 月)
- 将 EasyAuth 更新到 1.6.16、Dapr 到 1.10.8、Envoy 到 1.25.6
- 添加对 Azure 容器应用作业的卷装载支持
- 为具有 TCP 流入量类型的应用程序添加了 IP 限制
- 添加了对具有多个公开端口的容器应用的支持
容器应用扩展 v1.23.5(2023 年 12 月)
- 将 Envoy 更新到 1.27.2、KEDA 到 v2.10.0、EasyAuth 到 1.6.20、Dapr 更新到 1.11
- 将 Envoy 设置为最大 TLS 1.3
- 修复以解决日志处理器 Pod 中的崩溃问题
- 修复映像拉取机密检索问题
- 更新 Envoy 的位置,以便尽可能跨可用节点分布
- 当容器应用因修订冲突而无法预配时,请将预配状态设置为失败
容器应用扩展 v1.30.6(2024 年 1 月)
- 将 KEDA 更新到 v2.12、Envoy SC 映像到 v1.0.4、Dapr 映像更新到 v1.11.6
- 已将 Envoy 路由的默认响应超时延长至 1,800 秒
- 已将 Fluent 位默认日志级别更改为警告
- 延迟删除作业 Pod 以确保日志释放
- 修复了失败作业执行的作业 Pod 删除问题
- 确保处于暂停状态的作业删除失败的 Pod
- 更新为不解析 TCP 应用程序的 HTTPOptions
- 允许应用程序侦听 HTTP 或 HTTPS
- 添加暂停作业的功能
- 修复了在停止作业执行后 KEDA 缩放程序未能创建作业的问题
- 如果有群集重启,则将 startingDeadlineSeconds 添加到容器应用作业
- 已删除 Envoy 访问日志服务器中的大量日志记录
- 更新了已启用 Azure Arc 的 Kubernetes 上的 Azure 容器应用的监视配置版本
容器应用扩展 v1.36.15(2024 年 4 月)
- 将 Dapr 更新到 v1.12,将 Dapr 指标更新到 v0.6
- 允许客户在 Dapr 中启用 Azure SDK 调试日志记录
- 缩放 Envoy 以响应内存使用情况
- 将 Envoy 日志格式更改为 Json
- 导出其他 Envoy 指标
- 当日志内容无法分析时,截断 Envoy 日志到前 1,024 个字符
- 在本地代理中正常处理 SIGTERM
- 允许通过 KEDA 使用不同的命名空间
- 为缩放规则名称添加了验证
- 默认启用的修订 GC
- 为 sidecars 启用指标的排放
- 向作业执行添加了 volumeMounts
- 向作业添加了对 Webhook 终结点的验证
容器应用扩展 v1.37.1(2024 年 7 月)
- 更新 EasyAuth 以支持 MISE
容器应用扩展 v1.37.2(2024 年 9 月)
- 已将 Dapr-Metrics 映像更新为 v0.6.8 以解决网络超时问题
- 解决了日志处理器中阻止 MDSD 容器在群集于代理后面连接时启动的问题
容器应用扩展 v1.37.7(2024 年 10 月)
- 解决了在无法拉取 MDM Init 容器时导致容器崩溃的问题
- 添加了对逻辑应用混合部署模型(公共预览版)的支持