从 NetApp Console 在 Google Cloud 中部署 Console 代理
您可以从 Console 在 Google Cloud 中部署 Console 代理。您需要设置网络、准备 Google Cloud 权限、启用 Google Cloud API,然后部署 Console 代理。
在 Google Cloud 中部署代理会启动运行 Linux 的虚拟机实例,并在您选择的 VPC 中启动 Console 代理软件。
-
你应该回顾一下"控制台代理限制"。
步骤 1:设置网络
设置网络以确保控制台代理可以管理资源,并连接到目标网络和出站互联网访问。
- VPC 和子网
-
创建控制台代理时,您需要指定它所在的 VPC 和子网。
- 连接到目标网络
-
控制台代理需要与您计划创建和管理系统的位置建立网络连接。例如,您计划在本地环境中创建Cloud Volumes ONTAP系统或存储系统的网络。
- 出站互联网访问
-
部署控制台代理的网络位置必须具有出站互联网连接才能联系特定端点。
- 从控制台代理联系的端点
-
控制台代理需要出站互联网访问来联系以下端点,以管理公共云环境中的资源和流程以进行日常操作。
下面列出的端点都是 CNAME 条目。
端点 目的 \ https://www.googleapis.com/compute/v1/ \ https://compute.googleapis.com/compute/v1 \ https://cloudresourcemanager.googleapis.com/v1/projects \ https://www.googleapis.com/compute/beta \ https://storage.googleapis.com/storage/v1 \ https://www.googleapis.com/storage/v1 \ https://iam.googleapis.com/v1 \ https://cloudkms.googleapis.com/v1 \ https://config.googleapis.com/v1/projects
管理 Google Cloud 中的资源。
获取许可信息并将 AutoSupport 消息发送到 NetApp 支持。
更新NetApp支持站点 (NSS) 凭据或将新的 NSS 凭据添加到NetApp Console。
获取许可信息并向 NetApp 支持发送 AutoSupport 消息,以及接收 Cloud Volumes ONTAP 的软件更新。
https://api.bluexp.netapp.com https://netapp-cloud-account.auth0.com https://netapp-cloud-account.us.auth0.com https://console.netapp.com https://components.console.netapp.com https://cdn.auth0.com
在NetApp Console中提供功能和服务。
获取控制台代理升级的图像。
-
当您部署新代理时,验证检查会测试与当前端点的连接。如果你使用"先前的端点",验证检查失败。为了避免此失败,请跳过验证检查。
尽管以前的端点仍然受支持,但NetApp建议尽快将防火墙规则更新到当前端点。"了解如何更新终端节点列表" 。
-
当您更新到防火墙中的当前端点时,您现有的代理将继续工作。
-
- 从NetApp控制台联系的端点
-
当您使用基于 Web 的 NetApp Console SaaS 应用程序时,它会联系多个端点以完成数据管理任务。这包括从 Console 部署 Console 代理时联系的端点。
- 代理服务器
-
NetApp支持显式和透明代理配置。如果您使用透明代理,则只需要提供代理服务器的证书。如果您使用显式代理,您还需要 IP 地址和凭据。
-
IP 地址
-
凭据
-
HTTPS 证书
-
- 端口
-
除非由您发起,或者用作代理将 AutoSupport 消息从 Cloud Volumes ONTAP 发送到 NetApp Support,否则不会有流向 Console agent 的入站流量。
-
HTTP(80)和 HTTPS(443)提供对本地 UI 的访问,您会在极少数情况下使用它们。
-
仅当需要连接到主机进行故障排除时才需要 SSH(22)。
-
如果您在没有出站互联网连接的子网中部署Cloud Volumes ONTAP系统,则需要通过端口 3128 建立入站连接。
如果Cloud Volumes ONTAP系统没有出站互联网连接来发送AutoSupport消息,控制台会自动配置这些系统以使用控制台代理附带的代理服务器。唯一的要求是确保控制台代理的安全组允许通过端口 3128 进行入站连接。部署控制台代理后,您需要打开此端口。
-
- 启用 NTP
-
如果您计划使用 NetApp Data Classification 扫描公司数据源,则应在 Console 代理和 NetApp Data Classification 系统上启用网络时间协议 (NTP) 服务,以便在系统之间同步时间 "详细了解 NetApp Data Classification"。
创建控制台代理后实现此网络需求。
步骤 2:设置权限以创建控制台代理
在从控制台部署控制台代理之前,您需要为部署控制台代理 VM 的 Google 平台用户设置权限。
-
在 Google 平台中创建自定义角色:
-
创建包含以下权限的 YAML 文件:
title: Console agent deployment policy description: Permissions for the user who deploys the Console agent stage: GA includedPermissions: - cloudbuild.builds.get - compute.disks.create - compute.disks.get - compute.disks.list - compute.disks.setLabels - compute.disks.use - compute.firewalls.create - compute.firewalls.delete - compute.firewalls.get - compute.firewalls.list - compute.globalOperations.get - compute.images.get - compute.images.getFromFamily - compute.images.list - compute.images.useReadOnly - compute.instances.attachDisk - compute.instances.create - compute.instances.get - compute.instances.list - compute.instances.setDeletionProtection - compute.instances.setLabels - compute.instances.setMachineType - compute.instances.setMetadata - compute.instances.setTags - compute.instances.start - compute.instances.updateDisplayDevice - compute.machineTypes.get - compute.networks.get - compute.networks.list - compute.networks.updatePolicy - compute.projects.get - compute.regions.get - compute.regions.list - compute.subnetworks.get - compute.subnetworks.list - compute.zoneOperations.get - compute.zones.get - compute.zones.list - config.deployments.create - config.operations.get - config.deployments.delete - config.deployments.deleteState - config.deployments.get - config.deployments.getState - config.deployments.list - config.deployments.update - config.deployments.updateState - config.previews.get - config.previews.list - config.revisions.get - config.resources.list - deploymentmanager.compositeTypes.get - deploymentmanager.compositeTypes.list - deploymentmanager.deployments.create - deploymentmanager.deployments.delete - deploymentmanager.deployments.get - deploymentmanager.deployments.list - deploymentmanager.manifests.get - deploymentmanager.manifests.list - deploymentmanager.operations.get - deploymentmanager.operations.list - deploymentmanager.resources.get - deploymentmanager.resources.list - deploymentmanager.typeProviders.get - deploymentmanager.typeProviders.list - deploymentmanager.types.get - deploymentmanager.types.list - resourcemanager.projects.get - compute.instances.setServiceAccount - iam.serviceAccounts.actAs - iam.serviceAccounts.create - iam.serviceAccounts.list - iam.serviceAccountKeys.create - storage.buckets.create - storage.buckets.get - storage.objects.create - storage.folders.create - storage.objects.list -
从 Google Cloud 激活云壳。
-
上传包含所需权限的 YAML 文件。
-
使用创建自定义角色 `gcloud iam roles create`命令。
以下示例在项目级别创建一个名为“agentDeployment”的角色:
gcloud iam roles create agentDeployment --project=myproject --file=agent-deployment.yaml -
-
将此自定义角色分配给将从控制台或使用 gcloud 部署控制台代理的用户。
步骤 3:创建一个 Google Cloud 服务帐户以与代理一起使用。
需要一个 Google Cloud 服务帐号来向控制台代理提供控制台管理 Google Cloud 中的资源所需的权限。创建控制台代理时,您需要将此服务帐户与控制台代理 VM 关联。
在后续版本中添加新权限时,您有责任更新自定义角色。如果需要新的权限,它们将在发行说明中列出。
-
在 Google Cloud 中创建自定义角色:
-
创建一个包含以下内容的 YAML 文件"控制台代理的服务帐户权限"。
-
从 Google Cloud 激活云壳。
-
上传包含所需权限的 YAML 文件。
-
使用创建自定义角色 `gcloud iam roles create`命令。
以下示例在项目级别创建一个名为“agent”的角色:
gcloud iam roles create agent --project=myproject --file=agent.yaml -
-
在 Google Cloud 中创建服务帐号并将角色分配给该服务帐号:
-
从 IAM 和管理服务中,选择 服务帐户 > 创建服务帐户。
-
输入服务帐户详细信息并选择*创建并继续*。
-
选择您刚刚创建的角色。
-
完成创建服务帐户的剩余步骤。
-
-
如果您计划在 Console 代理驻留的项目以外的项目中部署 Cloud Volumes ONTAP 系统,则需要为 Console 代理的服务帐户提供对这些项目的访问权限。
例如,假设控制台代理位于项目 1 中,而您想要在项目 2 中创建Cloud Volumes ONTAP系统。您需要授予项目 2 中的服务帐户访问权限。
-
从 IAM 和管理服务中,选择您想要创建Cloud Volumes ONTAP系统的 Google Cloud 项目。
-
在 IAM 页面上,选择 授予访问权限 并提供所需的详细信息。
-
输入控制台代理服务帐户的电子邮件。
-
选择控制台代理的自定义角色。
-
选择*保存*。
-
有关详细信息,请参阅 "Google Cloud 文档"
-
步骤 4:设置共享 VPC 权限
如果您使用共享 VPC 将资源部署到服务项目中,则需要准备好您的权限。
此表仅供参考,当 IAM 配置完成时,您的环境应该反映权限表。
查看共享 VPC 权限
| 身份 | 创造者 | 主办地点 | 服务项目权限 | 宿主项目权限 | 目的 |
|---|---|---|---|---|---|
Google 帐户部署代理 |
自定义 |
服务项目 |
计算.网络用户 |
在服务项目中部署代理 |
|
代理服务账户 |
自定义 |
服务项目 |
计算.网络用户部署管理器.编辑器 |
部署和维护服务项目中的Cloud Volumes ONTAP和服务 |
|
Cloud Volumes ONTAP服务帐户 |
自定义 |
服务项目 |
storage.admin 成员: NetApp Console服务帐户作为 serviceAccount.user |
不适用 |
(可选)适用于NetApp Cloud Tiering和NetApp Backup and Recovery |
Google API 服务代理 |
Google Cloud |
服务项目 |
(默认)编辑器 |
计算.网络用户 |
代表部署与 Google Cloud API 进行交互。允许控制台使用共享网络。 |
Google Compute Engine 默认服务帐户 |
Google Cloud |
服务项目 |
(默认)编辑器 |
计算.网络用户 |
代表部署部署 Google Cloud 实例和计算基础架构。允许控制台使用共享网络。 |
注:
-
deploymentmanager.editor仅在主机项目中需要。如果您没有将防火墙规则传递给部署,并选择让 Console 为您创建它们。如果未指定规则,NetApp Console 将在主机项目中创建包含 VPC0 防火墙规则的部署。 -
firewall.create和firewall.delete仅在您没有将防火墙规则传递给部署并选择让 Console 为您创建它们时才需要。这些权限位于 Console 帐户 .yaml 文件中。如果您使用共享 VPC 部署 HA 对,这些权限将用于为 VPC1、2 和 3 创建防火墙规则。对于所有其他部署,这些权限也将用于创建 VPC0 的规则。 -
对于 Cloud Tiering,分层服务帐户必须在服务帐户上具有
serviceAccount.user角色,而不仅仅是在项目级别。如果在项目级别分配serviceAccount.user,则在使用getIAMPolicy查询服务帐户时不会显示权限。
步骤 5:启用 Google Cloud API
在部署控制台代理和Cloud Volumes ONTAP之前,您必须启用多个 Google Cloud API。
-
在您的项目中启用以下 Google Cloud API:
-
Cloud Build API (使用 Infrastructure Manager 进行私有模式 Cloud Volumes ONTAP 部署时需要)
-
云部署管理器 V2 API
-
云基础设施管理器 API
-
云日志 API
-
云资源管理器 API
-
计算引擎 API
-
身份和访问管理 (IAM) API
-
云密钥管理服务 (KMS) API(仅当您计划使用客户管理的加密密钥 (CMEK) 进行 NetApp Backup and Recovery 时才需要)
-
Cloud Quotas API(使用 Infrastructure Manager 部署 Cloud Volumes ONTAP 时需要)
-
步骤 6:创建控制台代理
直接从控制台创建控制台代理。
创建控制台代理会使用默认配置在 Google Cloud 中部署虚拟机实例。创建控制台代理后,请勿切换到具有较少 CPU 或较少 RAM 的较小 VM 实例。"了解控制台代理的默认配置" 。
|
|
在 Google Cloud 中部署代理时,代理会创建一个存储桶来存储部署文件。 |
您应该具有以下内容:
-
创建控制台代理所需的 Google Cloud 权限以及控制台代理虚拟机的服务帐号。
-
满足网络要求的 VPC 和子网。
-
如果控制台代理需要代理才能访问互联网,则提供有关代理服务器的详细信息。
-
选择“管理 > 代理”。
-
在 概述 页面上,选择 部署代理 > Google Cloud。
-
在*部署代理*页面上,查看您需要的详细信息。您有两个选择:
-
选择“继续”以使用产品内指南准备部署。产品内指南中的每个步骤都包含文档此页面上的信息。
-
如果您已按照此页面上的步骤做好准备,请选择“跳至部署”。
-
-
按照向导中的步骤创建控制台代理:
-
如果出现提示,请登录您的 Google 帐户,该帐户应该具有创建虚拟机实例所需的权限。
该表单由 Google 拥有并托管。您的凭据未提供给NetApp。
-
详细信息:输入虚拟机实例的名称,指定标签,选择项目,然后选择具有所需权限的服务帐户(有关详细信息,请参阅上面的部分)。
-
位置:指定实例的区域、区域、VPC 和子网。
-
网络:选择是否启用公共 IP 地址并选择性地指定代理配置。
-
网络标签:如果使用透明代理,则向 Console 代理实例添加网络标签。网络标签必须以小写字母开头,并且可以包含小写字母、数字和连字符。标签必须以小写字母或数字结尾。例如,您可以使用标签
console-agent-proxy。 -
防火墙策略:选择是创建新的防火墙策略,还是选择允许所需入站和出站规则的现有防火墙策略。
-
-
查看您的选择,确认您的设置正确无误。
-
默认情况下会选中*验证代理配置*复选框,以便在部署时让 Console 验证网络连接要求。如果 Console 无法部署代理,它会提供一个报告来帮助您排除故障。如果部署成功,则不提供报告。
-
如果您仍在使用用于代理升级的 "先前的端点",验证将失败并显示错误。要避免这种情况,请清除复选框以跳过验证检查。
-
在安装过程中,NetApp 检查代理主机是否具有至少 80% 的总可用磁盘空间,其中包括 48 GB 在
/opt`和 32 GB 在 `/var(总共 80 GB)。安装后,它需要至少 20% 的总磁盘保持可用,其中包括 12 GB 在/opt`和 8 GB 在 `/var(总共 20 GB)。
-
-
选择“添加”。
代理大约需要 10 分钟才能准备就绪;请停留在页面上直到该过程完成。
该过程完成后,控制台代理即可使用。
|
|
如果部署失败,您可以从控制台下载报告和日志来帮助您解决问题。"了解如何解决安装问题。" |
如果您在创建 Console 代理的同一个 Google Cloud 帐户中有 Google Cloud Storage 存储桶,则 Google Cloud Storage 系统会自动显示在*系统*页面上 "了解如何通过控制台管理 Google 云端存储"。