在数据中心里,GKE On-Prem 运行在 vSphere 6.5 或 6.7 Update 3 环境中。本主题介绍 vSphere 环境的要求,包括存储、CPU、RAM、虚拟网络。
vSphere 要求
vSphere 要求因您使用的 GKE On-Prem 版本而异。如需了解详情,请参阅完全受支持的版本和早期版本的版本兼容性矩阵。
vSphere 是 VMware 的服务器虚拟化软件。GKE On-Prem 使用 VMware 的 vCenter Server 来管理您的集群。如需了解如何安装 vSphere 和 vCenter Server,请参阅 VMware 文档中的 vSphere 安装和设置流程概览。
许可版本和版本要求
GKE On-Prem 要求 VMware vSphere 6.5 或 6.7 Update 3。您需要以下 VMware 许可:
-
vSphere Enterprise Plus 或 vSphere Standard 许可。
建议您使用 Enterprise Plus 许可,因为它允许您启用 VMware 分布式资源调度器 (DRS)。
除此许可外,您还必须购买至少一年的支持服务订阅。
-
vCenter Server Standard 许可。
除此许可外,您还必须购买至少一年的支持服务订阅。
硬件要求
GKE On-Prem 运行在一组运行 VMware ESXi Hypervisor 的物理主机上。如需了解 ESXi 的硬件要求,请参阅 ESXi 硬件要求。
默认情况下,GKE On-Prem 会自动为管理员集群和用户集群节点创建 VMware 分布式资源调度器 (DRS) 反亲和性规则,使其分布到数据中心内的至少三个物理主机上。
为了使用此功能,您的 vSphere 环境必须满足以下条件:
回想一下,如果您拥有 vSphere Standard 许可,则无法启用 VMware DRS。
如果您没有启用 DRS,或者没有至少三个主机可供调度 vSphere 虚拟机,请在管理员集群和用户集群配置中将 antiAffinityGroups.enabled
设置为 false
。
vSphere 存储要求
GKE On-Prem 不支持 Storage vMotion 和 Storage DRS。
vCenter 用户帐号权限
您可以在 vCenter 中定义自定义角色,或为组织中的各种用户(包括 GKE On-Prem 集群管理员和在这些集群上进行开发的用户)使用 vCenter 系统角色。
您用于安装 GKE On-Prem 的 vCenter 用户帐号必须具有足够的权限。例如,被分配了 vCenter 的 Administrator 角色的用户帐号拥有对所有 vCenter 对象的完整访问权限,并向 GKE On-Prem 集群管理员提供完整访问权限。
对于其他 vCenter 用户帐号,您需要创建自定义角色,以便为您的集群用户分配必要的权限。
- 使用下表了解 GKE On-Prem 集群用户所需的最小权限集。
查看所需的 vCenter 最小权限集。
实体 |
权限 |
云原生存储 |
|
数据存储区 |
- 分配空间
- 浏览数据存储区
- 低级层文件操作
- 移除文件
- 更新虚拟机文件
- 更新虚拟机元数据
|
文件夹 |
|
主机清单 |
|
vSphere 标记 |
|
根 vCenter Server |
|
网络 |
|
资源 |
- 采用建议
- 将虚拟机分配给资源池
- 迁移已关停的虚拟机
- 迁移已启动的虚拟机
- 查询 vMotion
|
存储视图 |
|
系统 |
|
任务 |
|
vApp |
|
虚拟机 |
- 配置
- 添加现有磁盘
- 添加新磁盘
- 添加或移除设备
- 高级
- 更改 CPU 数量
- 更改资源
- 配置 managedBy
- 磁盘更改跟踪
- 磁盘租用
- 显示连接设置
- 扩展虚拟磁盘
- 托管 USB 设备
- 内存
- 修改设备设置
- 查询容错兼容性
- 查询无主文件
- 原始设备
- 从路径重新加载
- 移除磁盘
- 重命名
- 重置客机信息
- 设置注释
- 设置
- 交换文件位置
- 切换分支父级
- 升级虚拟机兼容性
- 客机操作
- 客机操作别名修改
- 客机操作别名查询
- 客机操作修改
- 客机操作程序执行
- 客机操作查询
- 交互
- 回答问题
- 备份虚拟机上的操作
- 配置 CD 介质
- 配置软盘介质
- 控制台交互
- 创建屏幕截图
- 对所有磁盘进行碎片整理
- 设备连接
- 拖放
- 通过 VIX API 管理客机操作系统
- 注入 USB HID 扫描代码
- 暂停或取消暂停
- 执行擦除或收缩操作
- 关停
- 启动
- 记录虚拟机上的会话
- 重放虚拟机上的会话
- 重置
- 恢复容错
- 暂停
- 暂停容错
- 测试故障切换
- 测试重启辅助虚拟机
- 关闭容错
- 启用容错
- VMware 工具安装
- 清单
- 预配
- 允许磁盘访问
- 允许文件访问
- 允许只读磁盘访问
- 允许虚拟机下载
- 允许虚拟机文件上传
- 克隆模板
- 克隆虚拟机
- 从虚拟机创建模板
- 自定义
- 部署模板
- 标记为模板
- 标记为虚拟机
- 修改自定义规范
- 提升磁盘
- 读取自定义规范
- 服务配置
- 允许通知
- 允许轮询全局事件通知
- 管理服务配置
- 修改服务配置
- 查询服务配置
- 读取服务配置
- 快照管理
- vSphere Replication
|
- 具有管理员权限的用户帐号可以使用以下命令创建自定义 vCenter 角色,定义该角色所需的最低权限,然后将该自定义角色分配给现有 vCenter 用户帐号。
查看用于创建和分配用户角色的命令。
export GOVC_USERNAME=ADMINISTRATOR_ACCOUNT@vsphere.local
export GOVC_PASSWORD=ADMINISTRATOR_PASSWORD
cat <<END |xargs govc role.create anthos
Datastore.AllocateSpace Datastore.Browse Datastore.Config Datastore.DeleteFile
Datastore.FileManagement Datastore.UpdateVirtualMachineFiles
Datastore.UpdateVirtualMachineMetadata Folder.Create Folder.Delete Folder.Move
Folder.Rename Host.Inventory.EditCluster InventoryService.Tagging.CreateTag
Network.Assign Resource.ApplyRecommendation Resource.AssignVMToPool
Resource.ColdMigrate Resource.HotMigrate Resource.QueryVMotion
Sessions.ValidateSession StorageViews.View System.Anonymous System.Read
System.View Task.Create Task.Update VApp.ApplicationConfig VApp.Import
VApp.InstanceConfig VirtualMachine.Config.AddExistingDisk
VirtualMachine.Config.AddNewDisk VirtualMachine.Config.AddRemoveDevice
VirtualMachine.Config.AdvancedConfig VirtualMachine.Config.Annotation
VirtualMachine.Config.CPUCount VirtualMachine.Config.ChangeTracking
VirtualMachine.Config.DiskExtend VirtualMachine.Config.DiskLease
VirtualMachine.Config.EditDevice VirtualMachine.Config.HostUSBDevice
VirtualMachine.Config.ManagedBy VirtualMachine.Config.Memory
VirtualMachine.Config.MksControl VirtualMachine.Config.QueryFTCompatibility
VirtualMachine.Config.QueryUnownedFiles VirtualMachine.Config.RawDevice
VirtualMachine.Config.ReloadFromPath VirtualMachine.Config.RemoveDisk
VirtualMachine.Config.Rename VirtualMachine.Config.ResetGuestInfo
VirtualMachine.Config.Resource VirtualMachine.Config.Settings
VirtualMachine.Config.SwapPlacement VirtualMachine.Config.ToggleForkParent
VirtualMachine.Config.UpgradeVirtualHardware
VirtualMachine.GuestOperations.Execute VirtualMachine.GuestOperations.Modify
VirtualMachine.GuestOperations.ModifyAliases
VirtualMachine.GuestOperations.Query
VirtualMachine.GuestOperations.QueryAliases
VirtualMachine.Hbr.ConfigureReplication VirtualMachine.Hbr.MonitorReplication
VirtualMachine.Hbr.ReplicaManagement VirtualMachine.Interact.AnswerQuestion
VirtualMachine.Interact.Backup VirtualMachine.Interact.ConsoleInteract
VirtualMachine.Interact.CreateScreenshot
VirtualMachine.Interact.CreateSecondary
VirtualMachine.Interact.DefragmentAllDisks
VirtualMachine.Interact.DeviceConnection
VirtualMachine.Interact.DisableSecondary VirtualMachine.Interact.DnD
VirtualMachine.Interact.EnableSecondary VirtualMachine.Interact.GuestControl
VirtualMachine.Interact.MakePrimary VirtualMachine.Interact.Pause
VirtualMachine.Interact.PowerOff
VirtualMachine.Interact.PowerOn VirtualMachine.Interact.PutUsbScanCodes
VirtualMachine.Interact.Record VirtualMachine.Interact.Replay
VirtualMachine.Interact.Reset
VirtualMachine.Interact.SESparseMaintenance VirtualMachine.Interact.SetCDMedia
VirtualMachine.Interact.SetFloppyMedia VirtualMachine.Interact.Suspend
VirtualMachine.Interact.TerminateFaultTolerantVM
VirtualMachine.Interact.ToolsInstall
VirtualMachine.Interact.TurnOffFaultTolerance VirtualMachine.Inventory.Create
VirtualMachine.Inventory.CreateFromExisting VirtualMachine.Inventory.Delete
VirtualMachine.Inventory.Move VirtualMachine.Inventory.Register
VirtualMachine.Inventory.Unregister VirtualMachine.Namespace.Event
VirtualMachine.Namespace.EventNotify VirtualMachine.Namespace.Management
VirtualMachine.Namespace.ModifyContent VirtualMachine.Namespace.Query
VirtualMachine.Namespace.ReadContent VirtualMachine.Provisioning.Clone
VirtualMachine.Provisioning.CloneTemplate
VirtualMachine.Provisioning.CreateTemplateFromVM
VirtualMachine.Provisioning.Customize
VirtualMachine.Provisioning.DeployTemplate
VirtualMachine.Provisioning.DiskRandomAccess
VirtualMachine.Provisioning.DiskRandomRead
VirtualMachine.Provisioning.FileRandomAccess
VirtualMachine.Provisioning.GetVmFiles
VirtualMachine.Provisioning.MarkAsTemplate
VirtualMachine.Provisioning.MarkAsVM
VirtualMachine.Provisioning.ModifyCustSpecs
VirtualMachine.Provisioning.PromoteDisks
VirtualMachine.Provisioning.PutVmFiles
VirtualMachine.Provisioning.ReadCustSpecs
VirtualMachine.State.CreateSnapshot VirtualMachine.State.RemoveSnapshot
VirtualMachine.State.RenameSnapshot VirtualMachine.State.RevertToSnapshot
END
govc permissions.set -principal CLUSTER_USER_ACCOUNT@vsphere.local \
-role anthos -propagate=true
如需了解如何管理权限,请参阅管理 vCenter 组件的权限。
带文件夹的 vCenter 用户帐号权限
从 GKE On-Prem 1.4 版开始,您可以将虚拟机映像和模板放在单独的虚拟机文件夹中,而不是放在全球数据中心文件夹中。只有管理员集群配置的 v1 格式支持此功能。
在管理员集群配置文件中,创建一个名为 folder
的新密钥。将 folder
的值设置为您要用于此 GKE On-Prem 部署的 vCenter 文件夹的名称。所有用户集群都将自动继承该文件夹。请勿在您的用户集群配置文件中指定文件夹。
如果未指定 folder
密钥,或者值留空,则使用顶级数据中心虚拟机文件夹。与其他 vCenter 资源一样,必须在部署之前使用适当的权限创建该文件夹。
例如,在用于部署的 admin-cluster.yaml
中:
apiVersion: v1
kind: AdminCluster
#...
vCenter:
address: mtv-example-vc01.anthos
datacenter: mtv-example-vc01
cluster: admin-permissions
resourcePool: example-cluster-resourcepool
datastore: example-cluster-datastore
# insert the following new line with the path to the vcenter folder here.
folder: my-vm-folder
使用文件夹时设置权限
在版本低于 1.4 的 GKE On-Prem 中,我们需要将一组权限应用到整个 vCenter 集群。虽然配置起来更加简单,但这些权限没有充分限制 GKE On-Prem vCenter 用户。虽然 GKE On-Prem 1.4 中的权限集保持相同,但我们现在可以将这些权限应用于一小组对象,前提是为该部署指定了文件夹(如上所述)。
以下是一组角色,其权限以及必须应用这些角色的对象。标记为“(recursively)”的条目必须在“传播”字段设置为 true 时应用,以便所有子对象都继承该权限。
角色:ClusterEditor
说明:将 DRS 规则应用于“集群 + 只读权限”
对象:$VCenter.Cluster(recursively)
特权:System.Read System.View System.Anonymous Host.Inventory.EditCluster
角色:SessionValidator
说明:验证现有 VCenter 会话 + 只读权限
对象:$VCenter.Root
权限:System.Read System.View System.Anonymous Session.ValidateSessions
角色:ReadOnly
说明:内置允许枚举对象的角色
对象:$VCenter.Datacenter(recursively), $VCenter "VM Network"
权限:System.Read System.View System.Anonymous
角色:Anthos
说明:部署、管理和监控集群所需的一组权限。此角色表示应用到 GKE OnPrem 1.3 及更低版本中整个 VCenter 环境的那组权限。
对象:$VCenter.Datastore(recursively),
$VCenter.ResourcePool(recursively), $VCenter.Folder(recursively), $VCenter.Network(recursively)
已知问题:创建 vSphere 数据磁盘时安装程序失败
(问题 ID 156233307)
如果在错误的权限级层绑定自定义角色,GKE On-Prem 安装程序可能会失败。
如果角色绑定不正确,使用 govc
创建 vSphere 数据磁盘会挂起并且创建的磁盘的大小为 0。要解决此问题,您应在 vSphere vcenter 级层(根)绑定自定义角色。
如果要在 DC 级层(或低于根的级层)绑定自定义角色,还需要在根 vCenter 级层将只读角色绑定到用户。
如需详细了解角色创建,请参阅 vCenter 用户帐号权限。
管理员工作站、管理员集群和用户集群的资源要求
数据中心内的物理 ESXi 主机必须提供足够的存储空间、CPU 和 RAM 资源,以满足您在初次安装 GKE On-Prem 时创建的虚拟机的需求。您的数据中心还必须提供足够的虚拟磁盘空间,以满足 Prometheus 和 Google Cloud 的运维套件创建的 PersistentVolumeClaim (PVC)。
初次安装 GKE On-Prem 需要以下资源:
- 36 个 vCPU
- 98241 MB RAM
- 2280 GB 虚拟磁盘空间
如需详细了解资源要求,请参阅 CPU、RAM 和存储要求。