【问题标题】:Azure Functions Docker Deployment Linux workers are not available in resource groupAzure Functions Docker 部署 Linux 工作人员在资源组中不可用
【发布时间】:2018-06-25 22:49:03
【问题描述】:

尝试通过函数应用从 Azure 容器注册表部署 nginix 容器,

得到一个错误,

Linux worker 在资源组中不可用

如何将 linux worker 启用到资源组?

用于部署的 Dockerfile,

FROM nginx
COPY dist /usr/share/nginx/html

【问题讨论】:

  • 您是否尝试将其部署在 Azure 应用服务上?如果是这种情况,在使用 CLI 创建应用服务计划后,它会显示有关 worker 的信息,如下所示,{ "maximumNumberOfWorkers": 1, "name": "myAppServicePlan", "targetWorkerSizeId": 0, "type": "Microsoft.Web/serverfarms", "workerTierName": null }
  • 在我的情况下,此错误是在以下场景中引发的:我有两个带有应用服务计划的 Linux Azure Functions。我尝试使用消费计划(无服务器)创建另一个 Linux Azure 函数,但出现上述错误。我猜这个错误与 OP 的相同,但问题的根源不同。有人遇到过这样的问题吗?

标签: azure docker azure-functions azure-container-registry


【解决方案1】:

好像你不能在同一个资源组中拥有 linux 和 windows 资源

目前有一个关于不混合 Windows 和 同一资源组中的 Linux 应用也是如此。

https://docs.microsoft.com/en-us/azure/app-service/containers/app-service-linux-intro#limitations

所以你目前唯一的选择是为 linux 资源创建一个新的资源组

【讨论】:

  • 谢谢。这就是问题所在。
  • 我也遇到了这个问题,即使我删除了 Windows 应用程序。所以我不得不从一个新的资源组开始
  • 注意:Linux 和 Windows 应用服务计划现在可以共享资源组。此限制已从平台解除,现有资源组已更新以支持此限制。
【解决方案2】:

[2022-02-16 更新]

现在似乎可以在 Linux 和 Windows 应用服务计划之间共享一个资源组:https://docs.microsoft.com/en-us/azure/app-service/overview#limitations

[原创]

无法在同一资源组和同一位置创建 linux 应用服务计划和 Windows 应用服务计划,但您可以使用同一资源组并将这两个计划部署在不同位置。

基于当前限制,对于同一资源组,您不能在同一区域混合使用 Windows 和 Linux 应用。

https://docs.microsoft.com/en-us/azure/app-service/containers/app-service-linux-intro#limitations

虽然我发现如果您在创建 linux 应用服务计划之前通过REST apiterraform(也使用 REST api)创建了应用服务证书,也会发生同样的错误。在同一位置创建证书之前,您必须先创建 linux 应用服务计划。

【讨论】:

【解决方案3】:

如果您为不同区域的 LINUX 应用程序创建应用程序服务计划(尽管资源组可以与 Windows 应用程序服务计划的资源组位于同一区域),它应该仍然有效。

【讨论】:

    【解决方案4】:

    在某些情况下,尝试创建函数应用时,您可能会收到以下错误...

    • 您正在现有资源组中创建函数应用程序
    • 此资源组已在您尝试创建 Function App 的同一区域中包含常规(即非动态或高级)Web 应用程序。如果您在具有相同操作系统的应用服务高级计划的资源组中创建 Azure Functions 高级计划,甚至会发生这种情况。
    • 这些非动态或高级资源所在的缩放单元尚不支持此 SKU
    • 您正尝试在具有任何其他应用服务计划类型的资源组中创建 Linux Consumption 应用。

    ...

    即使在某些情况下,我们也有专门针对一个计划的池。例如,Linux 消费标记只能运行 linux 消费应用程序,因此您无法将 linux 消费计划与任何其他应用服务计划放在同一资源组中。功能本身可以在同一个资源组中,但计划不能。

    参考

    【讨论】:

      猜你喜欢
      • 2018-08-30
      • 2023-01-15
      • 1970-01-01
      • 2013-03-29
      • 1970-01-01
      • 2023-03-19
      • 1970-01-01
      • 1970-01-01
      • 2023-03-25
      相关资源
      最近更新 更多