你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

Azure Functions 中的 Linux 容器支持

规划并开发单个函数以在 Azure Functions 中运行时,通常侧重于代码本身。 借助 Azure Functions,只需将代码项目部署到 Azure 中的函数应用即可。 将代码项目部署到 Linux 上运行的函数应用时,该项目将在自动创建的容器中运行。 此容器由 Functions 管理。

Functions 还支持容器化函数应用部署。 在容器化部署中,从受支持的映像在本地 Docker 容器中创建自己的函数应用实例。 然后,可以将此“容器化”函数应用部署到 Azure 中的托管环境。 创建自己的函数应用容器可以自定义或控制函数代码的即时运行时环境。

容器托管选项

在 Azure 中托管容器化函数应用有多种选项:

托管选项 好处
Azure Container Apps Azure Functions 提供集成的支持用于在 Azure 容器应用上开发、部署和管理容器化函数应用。 需要在与其他微服务、API、网站、工作流或任何容器托管程序相同的环境中运行 Azure 中事件驱动的函数时,可以使用 Azure 容器应用托管函数应用容器。 使用容器应用托管,可以在为开源监视、mTLS、Dapr 和 KEDA 提供内置支持的基于 Kubernetes 的受管环境中运行函数。 容器应用使用基础 Azure Kubernetes 服务 (AKS) 的强大功能,同时,用户无需使用 Kubernetes API,因而消除了由此带来的复杂性。
已启用 Azure Arc 的 Kubernetes 群集(预览版) 可以将已启用 Azure Arc 的 Kubernetes 群集上的函数应用托管为仅“代码部署”,也可以在自定义 Linux 容器中托管函数应用。 使用 Azure Arc 可以附加 Kubernetes 群集,以便在 Azure 中管理和配置它们。 在已启用 Azure Arc 的 Kubernetes 群集上托管 Azure Functions 容器目前为预览版。
Azure Functions 可以部署容器化函数应用,以在“弹性高级计划”或“专用计划”中运行。 高级计划托管提供动态缩放的优势。 你可能想要使用专用计划托管来利用现有的未使用的应用服务计划资源。
Kubernetes 由于 Azure Functions 运行时在托管位置和方式方面具有灵活性,因此可以直接在 Kubernetes 群集中托管和管理函数应用容器。 KEDA (Kubernetes-based Event Driven Autoscaling) 与 Azure Functions 运行时和工具无缝结合,以提供 Kubernetes 中的事件驱动缩放。 请记住,在 Kubernetes 上运行容器化函数应用(通过使用 KEDA 或直接部署)是一项开源工作,你可以免费使用,贡献者和社区会尽最大努力提供支持。

使用入门

使用以下链接开始使用 Linux 容器中的 Azure Functions:

我想… 请参阅文章:
创建第一个容器化函数 在本地 Linux 容器中创建函数应用
创建函数并将其部署到 Azure 容器应用 在 Azure 容器应用上创建第一个容器化函数
创建容器化函数并将其部署到 Azure Functions 创建第一个容器化 Azure Functions
创建函数并将其部署到已启用 Azure Arc 的 Kubernetes 在 Azure Arc 上创建第一个容器化 Azure Functions(预览版)

[已启用 Azure Arc 的 Kubernetes 群集]