设置部署槽位以在 Azure 逻辑应用中启用零停机时间

适用于:Azure 逻辑应用(标准)

若要部署始终可用且响应迅速的任务关键标准逻辑应用,请创建 部署槽位。 这些槽是预生产中托管不同版本的应用的隔离环境。

可以使用这些槽位为应用启用 零停机时间 。 零停机意味着当你部署新版本的应用时,最终用户不会遇到中断或停机,即使在更新或维护期间也是如此。

部署槽位具有以下优势:

  • 将部署槽与生产槽交换,而不会中断。 可以更新逻辑应用和工作流,而不会影响可用性或性能。
  • 在将这些更改应用到生产槽之前,先验证部署槽中的任何更改。
  • 如果部署出现问题,请回滚到以前的版本。
  • 如果必须超过每个逻辑应用建议的工作流数,请降低负性能的风险。

借助部署槽位,可以实现持续交付并提高应用的质量和可靠性。 有关 Azure 中的部署槽位的详细信息,以及由于标准逻辑应用工作流基于 Azure Functions 扩展性,请参阅 Azure Functions 部署槽位。

屏幕截图显示了 Azure 门户、标准逻辑应用资源和部署槽位页。

已知问题和限制

  • 非生产槽是在只读模式下创建的。

  • 非生产槽调度程序处于关闭状态,这意味着工作流只能在生产槽中运行时运行。

  • 标准逻辑应用中的部署槽位禁用流量分布。

  • 标准逻辑应用的部署槽位不支持以下方案:

    • 蓝绿部署
    • 槽交换前的产品验证测试
    • A/B 测试
  • 专用存储帐户

    如果存储帐户是专用的,请完成以下步骤:

    1. 创建槽后,转到部署槽位。 在槽菜单上的 “设置”下,选择 “环境变量”。
    2. 在 “应用设置 ”选项卡上,找到名为 WEBSITE_CONTENTSHARE的应用设置的文件共享值。
    3. 转到存储帐户并手动创建使用相同的名称的文件共享。
    4. 在每个插槽上,添加一个名为WEBSITE_OVERRIDE_STICKY_DIAGNOSTICS_SETTINGS的应用设置,并将其值设为0。
  • 具有标准逻辑应用的 Terraform 和受保护的存储帐户

    如果标准逻辑应用使用受防火墙保护的 Azure 存储帐户,其中仅允许通过 Azure Blob、Azure 文件、Azure 表和 Azure 队列的专用终结点进行访问,请使用 Bicep 或 ARM 模板设置部署槽位并配置以下应用设置:

    应用设置 任务
    WEBSITE_CONTENTSHARE 将此值设置为文件共享名称,但请确保在部署之前创建文件共享文件夹。
    AzureFunctionsWebHost_hostid 将此值设置为唯一的主机 ID 值。
    网站覆盖粘性诊断设置 将此值设置为0,以适用于所有环境。

先决条件

创建部署槽位

可以使用以下选项创建部署槽位:

  1. 在 Azure 门户中,打开你的标准逻辑应用资源。

  2. 在资源边栏的 “部署”下,选择部署槽。

  3. 在工具栏上,选择 添加。

  4. 在 “添加槽 ”窗格中,为部署槽提供唯一的名称。

    名称只能使用小写字母数字字符或连字符(-)。

    注意

    创建槽后,名称具有以下格式: <logic-app-name-deployment-slot-name>。

  5. 完成后,选择“添加”。

确认部署槽位创建

创建部署槽位后,确认已部署的逻辑应用资源上存在槽位。

  1. 在 Azure 门户中,打开你的标准逻辑应用资源。

  2. 在资源边栏的 “部署”下,选择部署槽。

  3. 在 部署槽 页面中的 部署槽 下,找到并选择您的新部署槽。

    注意

    创建后,部署槽名称使用以下格式:<logic-app-name-deployment-slot-name>。

将逻辑应用更改部署到部署槽位

可以使用以下选项在部署槽位中部署逻辑应用更改:

目前不可用。 按照 Visual Studio Code 或 Azure CLI 的步骤部署更改。

确认更改的部署

部署更改后,确认更改显示在已部署的逻辑应用资源中。

  1. 在 Azure 门户中,打开你的标准逻辑应用资源。

  2. 在资源边栏的 “部署”下,选择部署槽。

  3. 在 部署槽位 页上的 部署槽位 下,找到并选择你的部署槽位。

  4. 在资源边栏上,选择“ 概述”。 在“通知”选项卡上,检查是否存在任何部署问题,例如,在应用启动期间或槽交换期间可能发生的错误:

    对于此示例,不会显示任何通知:

    屏幕截图显示了 Azure 门户、逻辑应用部署槽资源“概述”页和“通知”选项卡。

  5. 若要验证工作流中的更改,请在“ 工作流”下选择“ 工作流”,然后选择显示在只读视图中的工作流。

将部署槽与生产槽交换

可以使用以下选项将部署槽与当前生产槽交换:

  1. 在 Azure 门户中,打开要交换槽的标准逻辑应用资源。

  2. 在资源边栏的 “部署”下,选择部署槽。

  3. 在工具栏上,选择“交换”。

  4. 在 Swap 窗格的 源下,选择要激活的部署插槽。

  5. 在 “目标”下,选择要用部署插槽替换的生产插槽。

    注意

    使用预览版执行交换仅适用于启用部署槽设置的逻辑应用。

  6. 在“配置更改”下,查看源槽和目标槽的配置更改。

  7. 准备就绪后,选择“开始交换”。

  8. 等待操作成功完成。

确认槽交换是否成功

交换槽后,验证部署槽中的更改现在是否显示在生产槽中。

  1. 在 Azure 门户中,打开你的标准逻辑应用资源。

  2. 在资源菜单上的“工作流”下,选择“工作流”,然后选择一个工作流以查看更改。

删除部署槽

可以使用以下选项从标准逻辑应用资源中删除部署槽位。

  1. 在 Azure 门户中,打开你的标准逻辑应用资源。

  2. 在资源边栏的 “部署”下,选择部署槽。

  3. 在 部署槽位 页面上 部署槽位 下,选择要删除的部署槽位。

  4. 在部署槽资源边栏上,选择“ 概述”。

  5. 在“概述”工具栏上,选择“删除”。

  6. 输入部署槽名称确认删除,然后选择“删除”。

    屏幕截图显示了 Azure 门户、打开“概述”页的部署槽资源,以及删除包含要删除的部署槽名称的确认窗格。

确认部署槽删除

删除部署槽位后,请验证部署的标准逻辑应用资源上是否存在槽位。

  1. 在 Azure 门户中,打开你的标准逻辑应用资源。
  2. 在资源边栏的 “部署”下,选择部署槽。
  3. 在“部署槽位”页上的“部署槽位”下,确认部署槽位不再存在。