为节点类型使用临时 OS 磁盘的 Service Fabric 托管群集简介

默认情况下,Azure Service Fabric 托管群集对给定节点类型中的节点使用托管 OS 磁盘。 为了提高成本效益,托管群集提供临时 OS 磁盘的配置。 临时 OS 磁盘在本地虚拟机 (VM) 存储中创建,不保存到远程 Azure 存储。 临时 OS 磁盘免费,并取代托管 OS 磁盘。

临时 OS 磁盘的主要优点包括:

  • 较低的读/写延迟,临时磁盘节点缩放和群集升级速度较快。
  • 受市场、自定义映像和 Azure Compute Gallery(以前称为共享映像库)支持。
  • 能够将 VM 和规模集实例或其映像快速重置为原始启动状态。
  • 在所有 Azure 区域中可用。

如果应用程序可以容忍单个 VM 故障,但受 VM 部署时间或单个 VM 实例重置映像的影响,则使用临时 OS 磁盘更好。 它们不像托管 OS 磁盘那样提供数据备份/还原保证。

本文介绍如何使用 Azure 资源管理器模板(ARM 模板)创建专门使用临时 OS 磁盘的 Service Fabric 托管群集节点类型。

先决条件

本指南基于托管群集快速入门指南:使用 Azure 资源管理器部署 Service Fabric 托管群集

开始之前:

  • 如果没有 Azure 订阅,请创建一个试用版订阅
  • 检索托管群集 ARM 模板。 GitHub 上的 Azure 示例中提供了示例资源管理器模板。 这些模板可用作群集模板的起点。
  • 主要和辅助节点类型均支持临时 OS 磁盘。 本指南演示如何部署具有两种节点类型(主要节点和辅助节点)的标准 SKU 群集,它使用临时 OS 磁盘。
  • 每个 SKU 均不支持临时 OS 磁盘。 DSv1、DSv2、DSv3、Esv3、Fs、FsV2、GS、M、Mdsv2、Bs、Dav4 和 Eav4 等 VM 大小支持临时 OS 磁盘。 确保要使用其进行部署的 SKU 支持临时 OS 磁盘。 有关各个 SKU 的详细信息,请参阅支持的 VM SKU,并导航到左侧窗格中的所需 SKU。
  • Service Fabric 中的临时 OS 磁盘放在 VM SKU 的临时磁盘空间。 确保使用的 VM SKU 具有超过 127 GiB 的临时磁盘空间来放置临时 OS 磁盘。

查看模板

本指南中使用的模板来自 Azure 示例 - Service Fabric 群集模板

创建客户端证书

Service Fabric 托管群集使用客户端证书作为访问控制的密钥。 如果已有要用于群集访问控制的客户端证书,则可以跳过此步骤。

如果需要创建新的客户端证书,请按照设置和检索 Azure 密钥保管库中的证书中的步骤进行操作。 记下证书指纹,因为下一步需要使用它来部署模板。

部署模板

  1. 用于临时 OS 磁盘的 Service Fabric 群集示例模板中选取模板,其中包括临时 OS 磁盘支持的规范。

  2. 为以下模板参数提供自己的值:

    • 订阅:选择 Azure 订阅。
    • 资源组:选择“新建”。 输入资源组的唯一名称(例如 myResourceGroup),然后选择“确定”。
    • 位置:选择一个位置。
    • 群集名称:输入群集的唯一名称,例如 mysfcluster。
    • 管理员用户名:输入要在群集中的基础 VM 上用于 RDP 的管理员名称。
    • 管理员密码:输入要在群集中的基础 VM 上用于 RDP 的管理员密码。
    • 客户端证书指纹:提供要用于访问群集的客户端证书的指纹。 如果没有证书,请按照设置和检索证书中的说明来创建自签名证书。
    • 节点类型名称:输入节点类型的唯一名称,例如 nt1。
  3. 通过下面一种方法部署 ARM 模板:

    • ARM 门户自定义模板体验:自定义部署 - Azure。 选择下图以登录到 Azure,并为模板参数提供自己的值,然后部署模板。

      部署到 Azure

    • ARM PowerShell cmdlet:New-AzResourceGroupDeployment (Az.Resources)。 将 ARM 模板和参数文件的路径存储在变量中,然后部署模板。

      $templateFilePath = "<full path to azuredeploy.json>"
      $parameterFilePath = "<full path to azuredeploy.parameters.json>"
      
      New-AzResourceGroupDeployment ` 
         -Name $DeploymentName ` 
         -ResourceGroupName $resourceGroupName ` 
         -TemplateFile $templateFilePath ` 
         -TemplateParameterFile $parameterFilePath `
         -Debug -Verbose
      

    等待部署成功完成。

  4. 若要配置节点类型以通过自己的模板使用临时 OS 磁盘:

    • 使用 Service Fabric API 版本 2022-06-01-preview 或更高版本
    • 编辑模板 azuredeploy.json,并在节点类型部分下添加以下属性:
      "properties": { 
      "useEphemeralOSDisk": true 
      }
      

    示例模板包括以下规范:Azure-Sample - Service Fabric 群集模板

迁移为针对 Service Fabric 托管群集节点类型使用临时 OS 磁盘

节点类型只能在创建时配置为使用临时 OS 磁盘。 无法将现有节点类型转换为使用临时 OS 磁盘。 对于所有迁移方案,请将使用临时 OS 磁盘的新节点类型添加到群集,并将服务迁移到该节点类型。

  1. 添加配置为使用前面所指定临时 OS 磁盘的新节点类型。
  2. 将任何所需工作负荷迁移到新节点类型。
  3. 在群集中禁用并删除旧节点类型。

后续步骤