使用 Azure 门户在 Azure 中创建 Service Fabric 群集

本指南逐步介绍如何使用 Azure 门户在 Azure 中设置 Service Fabric 群集(Linux 或 Windows)。 其中包括以下步骤:

  • 通过 Azure 门户在 Azure 中创建群集。
  • 使用证书对管理员进行身份验证。

Note

有关更高级的安全选项(例如使用 Azure Active Directory 进行用户身份验证和设置应用程序安全证书),请参阅使用 Azure 资源管理器创建群集

群集安全性

证书在 Service Fabric 中用于提供身份验证和加密,为群集及其应用程序提供全方位的保护。 有关如何在 Service Fabric 中使用证书的详细信息,请参阅 Service Fabric 群集安全方案

如果这是你首次创建 Service Fabric 群集或要为测试工作负荷部署群集,可跳到下一节(在 Azure 门户中创建群集)并使系统生成运行测试工作负荷所需的证书。 如果要为生产工作负荷设置群集,请继续阅读。

群集和服务器证书(必需)

需要使用此证书来保护群集以及防止未经授权访问群集。 此证书通过多种方式保护群集:

  • 群集身份验证: 在群集联合的情况下对节点间的通信进行身份验证。 只有可以使用此证书自我证明身份的节点才能加入群集。
  • 服务器身份验证: 在管理客户端上对群集管理终结点进行身份验证,使管理客户端知道它正在与真正的群集通信。 此证书还通过 HTTPS 为 HTTPS 管理 API 和 Service Fabric Explorer 提供 SSL。

为满足这些用途,该证书必须符合以下要求:

  • 证书必须包含私钥。
  • 必须为密钥交换创建证书,并且该证书可导出到个人信息交换 (.pfx) 文件。
  • 证书的使用者名称必须与访问 Service Fabric 群集使用的域相匹配。 只有符合此要求,才能为群集的 HTTPS 管理终结点和 Service Fabric Explorer 提供 SSL。 无法从证书颁发机构 (CA) 获取 .cloudapp.chinacloudapi.cn 域的 SSL 证书。 获取群集的自定义域名。 在从 CA 请求证书时,该证书的使用者名称必须与用于群集的自定义域名匹配。

客户端身份验证证书

其他客户端证书可对执行群集管理任务的管理员进行身份验证。 Service Fabric 有两个访问级别:管理员只读用户。 至少应使用一个证书进行管理访问。 若要进行其他用户级别的访问,必须提供单独的证书。 有关访问角色的详细信息,请参阅适用于 Service Fabric 客户端的基于角色的访问控制

无需将客户端身份验证证书上传到密钥保管库即可使用 Service Fabric。 只需将这些证书提供给有权管理群集的用户。

Note

建议使用 Azure Active Directory 对执行群集管理操作的客户端进行身份验证。 若要使用 Azure Active Directory,必须使用 Azure 资源管理器创建群集

应用程序证书(可选)

可以出于应用程序安全目的,在群集上安装任意数量的附加证书。 在创建群集之前,请考虑需要在节点上安装证书的应用程序安全方案,例如:

  • 加密和解密应用程序配置值
  • 在复制期间跨节点加密数据

通过 Azure 门户创建群集时,无法配置应用程序证书。 若要在设置群集时配置应用程序证书,必须使用 Azure 资源管理器创建群集。 也可以在创建群集后将应用程序证书添加到群集。

在 Azure 门户中创建群集

创建生产群集以满足应用程序需求需要进行一些规划,为此,强烈建议阅读并理解 Service Fabric 群集规划注意事项文档。

搜索 Service Fabric 群集资源

在 Azure 门户中搜索 Service Fabric 群集模板。

  1. 登录到 Azure 门户
  2. 单击“创建资源”以添加新的资源模板。 在“全部”下面的“市场”中搜索 Service Fabric 群集模板。
  3. 从列表中选择“Service Fabric 群集”。
  4. 导航到“Service Fabric 群集”边栏选项卡,并单击“创建”。
  5. “创建 Service Fabric 群集”边栏选项卡包含以下四个步骤:

1.基础

创建新资源组的屏幕截图。

在“基本信息”边栏选项卡中,需要提供群集的基本详细信息。

  1. 输入群集的名称。
  2. 输入 VM 远程桌面的用户名密码
  3. 务必选择要将群集部署到的订阅,尤其是在拥有多个订阅时。
  4. 创建新的资源组。 最好让它与群集同名,这样稍后就可以轻松找到它们,在尝试更改部署或删除群集时非常有用。

    Note

    尽管可以决定使用现有资源组,但最好还是创建新的资源组。 这样做可以轻松删除群集及其使用的所有资源。

  5. 选择要在其中创建群集的区域。 如果计划使用已上传到 Key Vault 的现有证书,则必须使用 Key Vault 所在的区域。

2.群集配置

创建节点类型

配置群集节点。 节点类型定义 VM 大小、VM 数目及其属性。 群集可以有不只一个节点类型,但主节点类型(在门户定义的第一个节点类型)必须至少有 5 个 VM,因为这是 Service Fabric 系统服务放置到的节点类型。 不需要配置“放置属性”,因为系统会自动添加了“NodeTypeName”的默认放置属性。

Note

具有多个节点类型的常见情景是包含前端服务和后端服务的应用程序。 要将前端服务放在端口向 Internet 开放的较小型 VM(D2_V2 等 VM 大小)上,同时要将后端服务放在没有向 Internet 开放端口的较大型 VM(D3_V2、D6_V2、D15_V2 等 VM 大小)上。

  1. 选择节点类型的名称(1 到 12 个字符,只能包含字母和数字)。
  2. 主节点类型的 VM 大小下限取决于为群集选择的持久性层。 持久性层的默认值为 bronze。 有关持久性的详细信息,请参阅如何选择 Service Fabric 群集持久性
  3. 选择 VM 大小。 D 系列 VM 具有 SSD 驱动器,强烈建议用于有状态应用程序。 不要使用任何具有部分核心或可用磁盘容量小于 10 GB 的 VM SKU。 如需选择 VM 大小的帮助,请参阅 Service Fabric 群集规划注意事项文档
  4. 选择节点类型的 VM 数目。 可在以后增加或减少节点类型中的 VM 数目,但对主节点类型,生产工作负荷的最小数是 5。 其他节点类型最少可以拥有一个 VM。主节点类型的 VM 数可促进群集的可靠性。
  5. 单个节点群集和三个节点群集 - 这些仅用于测试。 它们不支持任何正在运行的生产工作负荷。
  6. 配置自定义终结点。 可在此字段中输入以逗号分隔的端口列表,可以通过 Azure 负载均衡器针对应用程序向公共 Internet 公开这些端口。 例如,如果计划在群集中部署 Web 应用程序,请在此处输入“80”,允许端口 80 的流量进入群集。 有关终结点的详细信息,请参阅与应用程序通信
  7. 配置群集 诊断。 默认情况下,已在群集上启用诊断,以帮助排查问题。 若要禁用诊断,请将其“状态”切换为“关”。 建议关闭诊断。
  8. 选择要将群集设置到的 Fabric 升级模式。 如果希望系统自动选取最新可用版本并尝试将群集升级到该最新版本,则选择“自动”。 如果想要选择受支持的版本,则将模式设置为“手动”。 有关结构升级模式的详细信息,请参阅 service-fabric-cluster-upgrade 文档

Note

我们仅支持那些运行受支持的 Service Fabric 版本的群集。 通过选择“手动”模式,由你负责将群集升级到受支持的版本。 >

3.安全

Azure 门户上安全配置的屏幕截图。

为轻松设置安全测试群集,我们提供了“基本”选项。 如果已有证书且已上传到 Key Vault(并已启用 Key Vault 进行部署),则使用“自定义”选项

“基本”选项

按照屏幕操作,以添加或重复使用现有 keyvault 并添加证书。 添加证书是一个同步过程,因此必须等待证书创建完成。

在前面的过程完成前,请勿离开屏幕。

CreateKeyVault

现在证书已添加到 keyvault,你可能会看到下面的屏幕,提示你为 keyvault 编辑访问策略。 单击“编辑访问策略” 按钮。

CreateKeyVault2

单级高级访问策略并启用对虚拟机的访问以便进行部署。 建议同时启用模板部署。 完成选择后,不要忘记单击“保存”按钮并关闭“访问策略”窗格。

CreateKeyVault3

现在可以继续执行创建群集过程的其余部分。

CreateKeyVault4

“自定义”选项

如果你已执行“基本”选项中的步骤,请跳过本节内容。

SecurityCustomOption

你需要 CertificateThumbprint、SourceVault 和 CertificateURL 信息以完成“安全性”页。 如果“安全性”页未就绪,请打开另一个浏览器窗口,然后执行以下操作

  1. 导航到你的 keyvault,选择证书。
  2. 选择“属性”选项卡,并将“资源 ID”复制到其他浏览器窗口上的“源 Key vault”

    CertInfo0

  3. 现在,选择“证书”选项卡。

  4. 单击“证书指纹”,转到“版本”页。
  5. 单击当前版本下显示的 Guid。

    CertInfo1

  6. 你现在应位于如下所示的屏幕上。 将“指纹”复制到其他浏览器窗口上的“证书指纹”

  7. 将“机密标识符”信息复制到其他浏览器窗格上的“证书 URL”。

CertInfo2

选中“配置高级设置”复选框,输入管理客户端只读客户端的客户端证书。 在这些字段中,输入管理客户端证书的指纹和只读用户客户端证书的指纹(如果适用)。 当管理员尝试连接群集时,仅当他们的证书指纹与此处输入的指纹值匹配时,才被授予访问权限。

4.摘要

现在可开始部署群集了。 执行此操作前,请下载证书,查找较大蓝色信息框内的链接。 请确保将证书保存在安全的位置。 连接到群集时需要此证书。 由于下载的证书没有密码,因此建议添加一个。

若要完成群集创建,请单击“创建”。 还可以选择性下载模板。

摘要

可以在通知栏中查看群集创建进度。 (单击屏幕右上角状态栏附近的铃铛图标)。如果在创建群集时曾经单击“固定到启动板”,则会看到“部署 Service Fabric 群集”已固定到“启动”板。

若要使用 Powershell 或 CLI 对群集执行管理操作,需要连接群集,请参阅连接群集,了解有关如何连接的详细信息。

查看群集状态

仪表板中群集详细信息的屏幕截图。

创建群集后,可以在门户检查群集:

  1. 转到“浏览”,并单击“Service Fabric 群集”。
  2. 找到该群集并单击它。
  3. 现在,仪表板会显示群集的详细信息,包括群集的公共终结点和 Service Fabric Explorer 的链接。

群集仪表板边栏选项卡上的“节点监视器”部分显示运行正常和不正常的 VM 的数目。 若要了解有关群集运行状况的详细信息,请参阅 Service Fabric 运行状况模型简介

Note

Service Fabric 群集需要一定数量的节点始终处于开机状态,以维护可用性和保留状态(称为“维护仲裁”)。 因此,除非已事先执行状态的完整备份,否则关闭群集中的所有计算机通常是不安全的做法。

远程连接到虚拟机规模集实例或群集节点

每次在群集中指定 NodeTypes,都会设置虚拟机规模集。

后续步骤

此时,已创建一个使用证书进行管理身份验证的安全群集。 接下来,请连接到该群集,了解如何管理应用程序机密。 此外,了解 Service Fabric 支持选项