PoC 指南:使用 Citrix DaaS 支持 Google 云端平台 (GCP) 区域选择

概述

Citrix DaaS 服务支持在 Google 云端平台 (GCP) 上选择区域,以启用单租户节点功能。您可以指定要在 Citrix Studio 中创建虚拟机的区域。然后使用 Sle-Tenant 节点允许将虚拟机组合在同一硬件上,或将它们与其他项目分开。单租户节点还使您能够遵守网络访问控制策略、安全性和隐私要求,例如 HIPAA。

本文档涵盖:

  • 配置 Google Cloud 环境以支持在 Citrix DaaS 环境中的 Google 云端平台上选择区域。

  • 在单独租户节点上置备虚拟机。

  • 常见错误情况以及如何解决它们。

必备条件

要在 Google Cloud 项目中预配计算机目录,您必须具备 Google Cloud 和 Citrix DaaS 的现有知识。

要为 Citrix DaaS 设置 GCP 项目,请按照 此处的说明进行操作。

谷歌云独家租户

唯一租户提供对唯一租户节点的独占访问权限,该节点是专用于仅托管项目虚拟机的物理 Compute Engine 服务器。唯一租户节点允许您将虚拟机组合在同一硬件上或分离虚拟机。这些节点可以帮助您满足 自带许可证 (BYOL) 方案的专用硬件要求。

唯一租户节点使客户能够遵守网络访问控制策略、安全性和隐私要求,例如 HIPAA。客户可以在分配了唯一租户节点的所需位置创建 VM。此功能支持基于 Win-10 的 VDI 部署。有关独资租户的详细描述可以在 Google文档网站上找到。

预留 Google Cloud 唯一租户节点

要预留独家租户节点,请访问 Google Cloud Console 菜单并选择 Compute Engine ,然后选择 单租户节点

选择租户节点

独租户节点屏幕

Google Cloud 中的唯一租户将在节点组中捕获。保留唯一租户平台的第一步是创建节点组。在 GCP 控制台中,选择 创建节点组

独家租户节点

创建节点组

首先配置新的节点组。Citrix 建议为新节点组选择的 区域和区 域允许访问域控制器和用于预配目录的子网。请注意以下事项:

  • 填写节点组的名称。在这个例子中我们使用了 mh-sole-tenant-node-group-1

  • 选择一个地区。例如,us-east1

  • 选择保留系统所在的区域。例如,us-east1-b

所有节点组都与 节点模板相关联,该模板用于指示节点组中保留的系统的性能特征。这些特征包括虚拟 CPU 的数量、专用于节点的内存数量以及在节点上创建的计算机使用的计算机类型。

选择 节点模板的下拉菜单。然后选择 创建节点模板

选择节点组模板

创建节点模板

输入新模板的名称。例如,mh-sole-tenant-node-group-1-template-n1

下一步是选择 节点类型。在下拉菜单中,选择最适合您需求的 节点类型

注意:

您可以参阅此 Google 文档页面 ,了解有关不同节点类型的更多信息。

选择节点类型后,单击 创建

创建节点组模板

完成节点组的创建

创建节点模板后, 创建节点组 屏幕将重新出现。点击 创建

创建节点组

创建 VDA 主映像

要使目录创建过程在单租户节点上部署计算机,在从预配的目录中创建和准备计算机映像时,必须执行额外的步骤。

Google Cloud 中的计算机实例具有名为 Node 亲和性标签的属性。用作部署到单租户环境的 目录的主映像的实例需要具有与目标节点组名称匹配的 Node关联性标签。有两个应用亲和力标签:

  1. 创建实例时,在 Google Cloud Console 中设置标签。

  2. 使用 gcloud 命令行在已存在的实例上设置标签。

以下是这两种方法的一个例子。

在创建实例时设置节点亲和性标签

本节未介绍创建 GCP 实例所需的所有步骤。它为您提供了足够的信息和上下文,以便您了解设置 Node 亲和性标签的过程。回想一下,在上面的示例中,节点组被命名为 mh-sole-tenant-node-grouop-1。这是我们需要应用到实例上的 Node 亲和性标签 的节点组。

新实例屏幕

出现新实例屏幕。屏幕底部将显示管理与管理、安全、磁盘、网络和唯一租赁相关的设置的部分。

要设置新实例:

  1. 单击该部分一次以打开 管理设置 面板。

  2. 然后单击“唯一租赁”以查看相关的设置面板。

选择管理选项

独家租赁设置

此时将显示用于设置 节点亲和性标签 的面板。单击 浏览 以查看当前选定的 Google Cloud 项目中的可用 节点组

分配亲和性标签

选择节点组画面

用于这些示例的 Google Cloud Project 包含一个节点组,该节点组是在前面的示例中创建的。

要选择节点组:

  1. 从列表中单击所需的节点组。

  2. 然后单 面板底部的“选择”。

选择节点组

设置亲和性标签

在上一步中单击 选择 后,您将返回到 实例创建屏幕。Node affinity label 字段包含所需的值,以确保从此主映像创建的目录被部署到指定的节点组:

选择亲和性标签

为现有实例设置节点亲和性标签

要为现有实例设置 节点关联性标签 ,请访问 Google Cloud Shell 并使用 gcloud compute instances 命令。

有关 gcloud 计算实例 命令的更多信息,请参阅 Google 开发者工具 页面

使用 gcloud 命令将以下三条信息包括在内:

  • VM 的名称。此示例使用名为 s2019-vda-base 的现有虚拟机。

  • 节点组的名称。之前定义的节点组名称为 mh-sole-tenant-node-grouop-1

  • 实例所在的区域。在此示例中,虚拟机驻留在 us-east-1b 区域中。

如何打开谷歌云外壳

下图中显示的按钮位于 Google Cloud Console 窗口的右上角。点击 Cloud Shell 按钮:

Google Cloud Shell 图标

新 Cloud shell 窗口

当 Cloud Shell 首次打开时,它看起来类似于:

Google Cloud Shell 终端窗口

使用 gcloud 命令设置节点亲和性标签

Cloud Shell 窗口中运行以下命令:

gcloud compute instances set-scheduling "s2019-vda-base" --node-group="mh-sole-tenant-node-group-1" --zone="us-east1-b"

验证实例关联性标签设置

最后,验证 s2019-vda-base 实例的详细信息:

虚拟机实例详情

谷歌共享的 VPC

如果您打算将 Google 独家租户与共享 VPC 配合使用,请参阅使用 C itrix DaaS 的 GCP 共享 VPC 支持 文档。共享 VPC 支持需要与 Google Cloud 权限和服务帐号相关的额外配置步骤。

创建计算机目录

执行本文档中的前面步骤后,您可以创建计算机目录。使用以下步骤访问 Citrix Cloud 并导航到 Citrix Studio 控制台。

Citrix Studio 主页

在 Citrix Studio 中,选择 计算机目录

选择计算机目录

创建计算机目录

选择 创建计算机目录

创建计算机目录

介绍屏幕

单击“下一步”进行配置过程:

Studio 介绍屏幕

计算机类型

为目录中的计算机选择操作系统类型。单击 Next(下一步):

选择 OS

计算机管理

接受目录使用电源托管计算机的默认设置。然后选择 MCS 资源。在本例中,我们使用的是名为 GCP1-useast1(Zone:My Resource Location) 的资源。单击 Next(下一步):

选择机器管理

注意: 这些资源来自之前创建的主机连接,代表网络和其他资源,例如域控制器和保留的独家租户。部署目录时会使用这些元素。本文档未介绍创建主机连接的过程。更多信息可以在 连接和资源页面上找到。

主映像

下一步是为目录选择主映像。回想一下,要使用预留 节点组 ,我们必须选择一个相应地设置了 节点关联 值的映像。在此示例中,我们使用上一个示例中的图像 s2019-vda-base

单击 Next(下一步):

选择主映像

存储

此屏幕指示将用于计算机目录中的虚拟机的存储类型。在此示例中,我们使用 Standard Persistent Disk

单击 Next(下一步):

选择存储类型

虚拟机

此屏幕显示虚拟机的数量和部署计算机的区域。在此示例中,我们在目录中指定了三台计算机。将单租户节点组用于计算机目录时,必须只选择包含预留节点组的区域。在我们的示例中,我们有一个节点组,它驻留在区域 us-central1-a 中,所以这是唯一选择的区域。

单击 Next(下一步):

选择 VM

磁盘设置

此屏幕提供启用回写高速缓存的选项。对于此示例,我们 启用此设置。

单击 Next(下一步):

选择磁盘设置

Active Directory 计算机帐户

在置备过程中,MCS 与域控制器通信,为所有正在创建的计算机创建主机名:

  1. 选择在其中创建计算机的域。

  2. 在生成 计算机名称时指定帐户命 名方案。

由于本示例中的目录有三台计算机,我们已经指定了这些计算机 MySTVms-\#\# 的命名方案命名:

  • MySTVms-01

  • MySTVms-02

  • MySTVms-03

单击 Next(下一步):

选择计算机帐户

域凭据

指定上一步中提到的用于与域控制器通信的凭据:

  1. 选择 输入凭据

  2. 提供凭据,然后单击“确定”。

选择域凭证

摘要

此屏幕显示目录创建过程中关键信息的摘要。最后一步是输入目录名称和可选描述。在此示例中,目录名称是“我的唯一租户目录”

输入目录名称,然后单击 完成

Studio 摘要屏幕

目录创建过程完成后,Citrix Studio 控制台类似于:

Studio 控制台显示计算机目录

在谷歌云控制台中验证

使用 Google 控制台验证计算机是否按预期在节点组上创建:

验证机器

迁移非唯一租户目录

目前无法将计算机目录从 Google Cloud 通用/共享空间迁移到唯一租户节点。

常遇到的问题和错误

使用任何包含相互依赖性的复杂系统都会导致意外情况。本节中将显示在执行设置和配置以利用 CVAD 和 GCP Sole-Tenants 时遇到的一些常见问题和错误。

已成功创建目录,但计算机未置备到预留节点组

如果您成功创建了目录,最可能的原因是:

  • 未在主映像上设置节点亲和性标签。

  • 节点亲和性标签值与节点组的名称不匹配。

  • 在目录创建过程中, 虚拟机 屏幕中选择了不正确的区域。

目录创建失败,显示“由于指定项目和区域中没有单租户节点,无法安排实例”

在 Citrix Studio 对话框窗口中选择 查看详细信息 时,此情况会出现此错误:

System.Reflection.TargetInvocationException: One or more errors occurred. Citrix.MachineCreationAPI.MachineCreationException: One or more errors occurred. System.AggregateException: One or more errors occurred. Citrix.Provisioning.Gcp.Client.Exceptions.OperationException: Instance could not be scheduled due to absence of sole-tenant nodes in specified project and zone.

收到此消息的可能原因是以下一个或多个原因:

升级现有目录失败,显示“由于指定项目和区域中没有单租户节点,无法安排实例”

发生这种情况的情况有两种:

  1. 您正在升级已使用独家租赁和区域选择置备的现有唯一租户目录。造成这种情况的原因 与之前条目中发现的原因相同 Catalog 创建失败,并显示“由于指定项目和区域中缺少单租户节点而无法调度实例”

  2. 您正在升级现有的 非唯一租户目录 ,但在已为目录预配了计算机的每个区域中没有保留唯一租户节点。这种情况被视为 移,其目的是将 计算机从 Google Cloud Common/Shared 运行时空间迁移到独家租户组。如 迁移非唯一租户目录中所述,这是不可能的。

目录置备期间的未知错误

如果在创建目录时遇到这样的对话框:

图片准备错误

选择“查看详细信息”会生成类似的屏幕:

图片准备错误详情

您可以检查一些事情:

  • 确保节点组模板中指定的计算机类型与主映像实例的计算机类型匹配。

  • 确保主映像的计算机类型具有 2 个或更多 CPU。

测试计划

本节包含一些练习,您可能希望考虑尝试了解 Google Cloud Sole-Tenants 的 CVAD 支持。

单租户目录

在单个区域中预留组节点,并为该区域配置持久性和非持久性目录。在以下步骤中,使用 Google Cloud Console 监控节点组,以确保正确的行为:

  1. 关闭机器。

  2. 添加计算机。

  3. 打开所有计算机的电源。

  4. 关闭所有机器。

  5. 删除一些计算机。

  6. 删除计算机目录。

  7. 更新目录

  8. 将目录从非独家租户模板更新为独家租户模板

  9. 将目录从独家租户模板更新为非独家租户模板

两个区域目录

与上述练习类似,但是保留两个节点组并在一个区域中预配持久性目录,在另一个区域中配置非持久性目录。在以下步骤中,使用 Google Cloud Console 监控节点组,以确保行为正确:

  1. 关闭机器。

  2. 添加计算机。

  3. 打开所有计算机的电源。

  4. 关闭所有机器。

  5. 删除一些计算机。

  6. 删除计算机目录。

  7. 更新目录。

  8. 将目录从非独家租户模板更新为独家租户模板。

  9. 将目录从独家租户模板更新为非独家租户模板。