为节点类型使用临时 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 密钥保管库中的证书中的步骤进行操作。 记下证书指纹,因为下一步需要使用它来部署模板。
部署模板
从用于临时 OS 磁盘的 Service Fabric 群集示例模板中选取模板,其中包括临时 OS 磁盘支持的规范。
为以下模板参数提供自己的值:
- 订阅:选择 Azure 订阅。
- 资源组:选择“新建”。 输入资源组的唯一名称(例如 myResourceGroup),然后选择“确定”。
- 位置:选择一个位置。
- 群集名称:输入群集的唯一名称,例如 mysfcluster。
- 管理员用户名:输入要在群集中的基础 VM 上用于 RDP 的管理员名称。
- 管理员密码:输入要在群集中的基础 VM 上用于 RDP 的管理员密码。
- 客户端证书指纹:提供要用于访问群集的客户端证书的指纹。 如果没有证书,请按照设置和检索证书中的说明来创建自签名证书。
- 节点类型名称:输入节点类型的唯一名称,例如 nt1。
通过下面一种方法部署 ARM 模板:
ARM 门户自定义模板体验:自定义部署 - 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
等待部署成功完成。
若要配置节点类型以通过自己的模板使用临时 OS 磁盘:
- 使用 Service Fabric API 版本 2022-06-01-preview 或更高版本
- 编辑模板 azuredeploy.json,并在节点类型部分下添加以下属性:
"properties": { "useEphemeralOSDisk": true }
示例模板包括以下规范:Azure-Sample - Service Fabric 群集模板。
迁移为针对 Service Fabric 托管群集节点类型使用临时 OS 磁盘
节点类型只能在创建时配置为使用临时 OS 磁盘。 无法将现有节点类型转换为使用临时 OS 磁盘。 对于所有迁移方案,请将使用临时 OS 磁盘的新节点类型添加到群集,并将服务迁移到该节点类型。
- 添加配置为使用前面所指定临时 OS 磁盘的新节点类型。
- 将任何所需工作负荷迁移到新节点类型。
- 在群集中禁用并删除旧节点类型。