借助 Distributed Cloud for VMware(纯软件),您可以在 VMware vSphere 环境中部署和管理 Google Kubernetes Engine (GKE) 集群。您可以在数据中心内运行和升级容器化应用,同时使用 Google Cloud 功能和基础设施。
如需直接在物理服务器上运行纯软件集群,请参阅 Distributed Cloud for Bare Metal(纯软件)概览。
为什么使用 Distributed Cloud for VMware(纯软件)?
在现有 vSphere 基础架构上运行 Distributed Cloud for VMware(纯软件),您可以使用 GKE 对应用进行现代化改造,同时保留团队已在使用的虚拟化平台、存储和运维流程。
与 vSphere 环境集成
Google Distributed Cloud 在现有 vCenter 环境中将集群节点作为虚拟机运行,因此您可以将容器化工作负载添加到已在运行的 vSphere 主机。集群将数据存储在由 vSAN、VMFS 或 NFS 提供支持的 vSphere 数据存储区中,您可以为各个节点池分配不同的数据存储区。vSphere 容器存储接口 (CSI) 驱动程序为有状态工作负载预配永久性卷。如需了解详情,请参阅存储。
通过本地数据进行集中管理
使用 GKE On-Prem API,通过 Google Cloud 控制台、Google Cloud CLI 或 Terraform 管理、监控集群并排查集群问题,而无需登录管理员工作站。您的应用和商家数据会保留在您的数据中心内; Google Cloud 仅接收集群元数据、健康状况和使用情况信息。如需了解详情,请参阅保留在数据中心内的数据。
企业可靠性和运营
Google Distributed Cloud 包含可用于生产用途的运维功能:
- 高可用性:高可用性管理员集群和用户集群控制平面使用三个控制平面节点,因此即使节点发生故障,您也可以管理环境。
- 自动节点修复:定期健康检查会检测运行状况不佳的节点,节点自动修复功能会自动修复这些节点。默认情况下,此功能处于启用状态。
- 集群自动扩缩:集群自动扩缩器会根据工作负载的资源请求在节点池中添加或移除节点。
- 灵活的负载均衡:使用在集群节点上运行的捆绑式 MetalLB 负载均衡器,或配置第三方负载均衡器(例如 F5 BIG-IP 或 Citrix)。如需了解详情,请参阅负载均衡概览。
工作原理
Google Distributed Cloud 扩展了 GKE,让您可以在 vSphere 环境中的物理服务器上创建集群。您可以在 Google Cloud 中将这些本地集群与基于云的集群作为统一舰队的一部分进行管理。
在 Google Cloud中运行的 GKE 集群中,Google 负责管理 Kubernetes 控制平面和网络基础设施。对于在数据中心内运行的 Google Distributed Cloud 集群, Google Cloud 会提供管理和控制平面软件,这些软件会在安装和升级过程中下载并部署到 vSphere 虚拟机上。
下图展示了包含管理员集群和用户集群的已完成安装的架构:
关键组件
以下组件构成了 Distributed Cloud for VMware(纯软件)的安装:
- 管理员集群:管理一个或多个用户集群。管理员集群由在专用虚拟机上运行的一个或多个控制平面节点组成。
- 用户集群:运行容器化工作负载。每个用户集群至少包含一个控制平面节点和一个或多个工作器节点。
- 管理员工作站:包含集群配置文件和管理工具的专用虚拟机:
gkectl:创建、更新和管理集群部署。kubectl:与管理员集群和用户集群交互以管理工作负载。
- Google Cloud 控制台: Google Cloud 中的网页界面,用于查看集群运行状况和执行生命周期操作,而无需登录管理员工作站。
- 虚拟 IP 地址 (VIP):在安装期间配置的虚拟 IP。集群管理员和开发者使用
kubectl和控制平面 VIP 访问管理员集群和用户集群中的控制平面。应用用户和开发者分别使用 Service 和 Ingress VIP 访问和公开工作负载。如需了解详情,请参阅规划 IP 地址。
连接到舰队
所有用户集群都是舰队的成员,舰队是 Kubernetes 集群的逻辑分组,可跨环境提供统一管理。借助舰队,您可以在 Google Cloud 控制台中集中查看集群,并使用支持舰队的功能大规模管理、控制和操作工作负载。
每个集群都通过 Connect Agent 连接到 Google Cloud ,该代理会在集群安装期间自动部署。Fleet 成员资格还决定了 Distributed Cloud(纯软件)for VMware 的结算。
价格
使用 Google Distributed Cloud 创建的本地集群会按 vCPU 计费。如需启用结算功能,请在 Google Cloud项目中启用 Anthos API。
如需了解完整价格信息(包括如何与销售人员联系),请参阅 Google Kubernetes Engine 价格。
版本
本文档涵盖所有受支持的 Google Distributed Cloud 版本。在相关情况下,Google 也会在本文档中保留有关不受支持的旧版本的有限信息。
如需了解受支持的版本和发布政策,请参阅以下资源:
从 1.29 版本开始,我们不再为之前的次要版本创建目录。文档中会说明行为方面的差异。 当新功能推出时,文档会记录该功能支持的版本。
1.16 版及更早版本的文档归档在:
https://cloud.google.com/anthos/clusters/docs/on-prem/VERSION/
将 VERSION 替换为 1.0 到 1.16 之间的次要版本,并将该网址复制到浏览器的地址栏中。
您的数据的存储位置
运行 Distributed Cloud for VMware(纯软件)时,您的集群、应用和商家数据会保留在您的数据中心内。默认情况下,Google Distributed Cloud 会发送 Google Cloud 有关集群的信息(例如其设置、运行状况和使用情况),但不会发送应用数据。
保留在数据中心内的数据
以下数据会保留在您的数据中心内:
- 容器、Pod、PersistentVolume 以及应用处理的数据。
- 所有 Kubernetes 对象都存储在控制平面和
etcd数据库中。 - 管理员集群的控制平面存储自签名
etcd私钥、用户集群密钥和集群证书授权机构 (CA)。 - 应用 Secret、OAuth 令牌、SSH 私钥、容器注册表凭据、vCenter 和 F5 BIG-IP 凭据以及服务账号密钥文件,存储在
etcd或管理员工作站中。它们不会发送到 GKE On-Prem API,并且会从诊断快照中移除。 - 管理员集群、用户集群和凭据配置文件存储在管理员工作站上。
- 审核日志会写入管理员集群控制平面节点和用户集群上的磁盘。
- 您可以选择将诊断快照上传到 Cloud Storage。
发送到 Google Cloud的数据
下表显示了系统会发送哪些信息、如何使用和存储这些信息,以及您是否可以关闭此功能:
| 数据 | 发送的内容 | 使用和存储 | 默认 |
|---|---|---|---|
| 连接和舰队注册 ( gkehub.googleapis.com,
gkeconnect.googleapis.com) |
|
通过Google Cloud 控制台、Connect 网关和舰队以及 Connect Agent 管理集群。kube-apiserver 会对每个请求进行身份验证、授权和审核日志记录。 |
必需 |
| 集群设置和状态 ( gkeonprem.googleapis.com) |
|
让您可以使用 Google Cloud 控制台、Google Cloud CLI 或 Terraform 管理集群。GKE On-Prem API 会将这些数据存储在 gkeOnPremAPI.location 中设置的区域。 |
在 1.16 版及更高版本中,如果您的 Google Cloud 项目中启用了 GKE On-Prem API,则开启。如需关闭此功能,请将 gkeOnPremAPI.enabled 设置为 false。 |
| 结算用量 ( anthos.googleapis.com) |
vCPU 容量、节点数和许可使用权状态。 | 用于计量、结算和许可检查。 | 必需。结算记录会在服务中断期间进行缓冲,并在稍后发送。 |
| 系统健康数据 ( logging.googleapis.com、monitoring.googleapis.com、opsconfigmonitoring.googleapis.com) |
|
用于 Cloud Monitoring、 Google Cloud 控制台状态视图和客户服务问题排查。存储在 stackdriver.projectID 中设置的 Google Cloud 项目中。指标存储在 stackdriver.clusterLocation 区域中,日志遵循您的日志路由器设置。 |
开启系统日志和指标,这是获得完整客户服务支持和 SLA 覆盖范围所必需的。对于应用日志和指标,处于关闭状态,除非您在 Stackdriver 资源中将 enableCloudLoggingForApplications 或 enableGMPForApplications 设置为 true。 |
| 审核日志 ( anthosaudit.googleapis.com) |
管理员活动审核日志:谁在何时通过 kube-apiserver 更改了什么。条目包括时间、集群、主机或虚拟机、用户或服务账号、RBAC 角色、操作和结果。系统不会记录读取请求。 |
存储在cloudAuditLogging.projectID中设置的 Google Cloud 项目的 Cloud Audit Logs 中,位于 _Required 存储桶中,保留 400 天。 |
可选。如需启用,请填写 cloudAuditLogging 部分。对于管理员集群,您只能在创建时启用该功能。如需为用户集群停用此功能,请删除该部分并更新集群。 |