本文档介绍了如何使用数据洞见和建议来识别在 Google Kubernetes Engine (GKE) 集群上运行的预配不足和超额预配的工作负载。确认已识别的工作负载可从扩容或缩容建议中受益后,您可以进行建议的更改,以节省费用或提高工作负载的可靠性。如果可能,建议会包含预计每月节省的费用或成本。如需了解详情,请参阅了解费用或节省金额估算值。
GKE 可提供有关在 Autopilot 集群和 Standard 集群上运行的工作负载的这些分析洞见。GKE 还会针对整个集群提供类似的建议。如需了解详情,请参阅识别预配不足和超额预配的 GKE 集群。
GKE 会监控您的集群,并通过 Active Assist 提供指导以优化您的使用。Active Assist 是一项服务,它提供 Recommender,可生成有关使用 Google Cloud资源的分析洞见和建议。如需详细了解如何管理分析洞见和建议,请参阅利用分析洞见和建议优化 GKE 使用。
获取有关预配不足和超额预配的工作负载的分析洞见和建议
在观察到下一部分中讨论的特定行为后,GKE 会在 Google Cloud 控制台的以下位置显示这些分析洞见和建议:
在工作负载页面中,建议的标题如下:
- 超额预配的工作负载:“减少资源请求以降低费用”
- 预配不足的工作负载:“增加资源请求以提高可靠性”
您还可以通过 Google Cloud CLI 或 Recommender API 接收所有类型的分析洞见和建议。如需专门查找这些类型,请按照说明查看数据分析和建议,并使用 WORKLOAD_UNDERPROVISIONED 和 WORKLOAD_OVERPROVISIONED 子类型进行过滤。
确定预配不足或过度预配的工作负载后,请参阅合理调整工作负载大小的注意事项。
GKE 如何识别预配不足和超额预配的工作负载
下表介绍了 GKE 用于识别可扩容或缩容的预配不足和超额预配的工作负载的信号,以及每个信号的阈值。此外,此表格还显示了我们建议您在此场景中采取的操作。
| 子类型 | 信号 | 观察期 | 详细信息 | 建议 |
|---|---|---|---|---|
WORKLOAD_UNDERPROVISIONED |
CPU 或内存用量偏高 | 过去 15 天 | 如果工作负载在过去 15 天内至少有 10% 的时间 CPU 或内存利用率超过 150%,则表示该工作负载预配不足。 | 扩容工作负载以提高可靠性 |
WORKLOAD_OVERPROVISIONED |
CPU 或内存用量较低 | 过去 15 天 | 如果工作负载在过去 15 天内至少有 90% 的时间 CPU 或内存利用率低于 50%,则表示该工作负载预配过度。 | 缩减工作负载规模以节省费用 |
GKE 还会使用以下准则来确定何时提供分析洞见和建议:
- GKE 不会针对 Pod 横向自动扩缩 (HPA) 的目标指标生成建议,因为使用此指标可能会造成干扰。
- 如果启用了 Pod 纵向自动扩缩 (VPA),系统会自动管理请求值,GKE 无需生成建议。
- GKE 最多可能需要等待三天才会为新工作负载生成建议。
了解预估的费用或节省金额
如果可能,GKE 的建议会包含一个估算值,该估算值预测了在您合理调整工作负载大小后每月的费用或节省金额。此估算费用是根据工作负载费用得出的,基于过去 30 天内工作负载的请求值与 CPU 和内存费用的加权平均值。
任何预计费用或节省金额都是基于先前支出的预测值,并不能保证未来的费用或节省金额。
如需查看这些估算值,请确保满足以下条件:
- 您拥有获取支出信息所需的
billing.accounts.getSpendingInformation权限。如需了解详情,请参阅 Cloud Billing 访问权限。 - 已为集群启用 GKE 费用分配。如需了解详情,请参阅启用 GKE 费用分配。
如需详细了解所有 GKE 集群的费用,包括基于命名空间和工作负载的更精细的费用明细,请参阅获取 GKE 资源分配和集群费用的关键支出分析。
如需详细了解运行 GKE 集群的费用,请参阅 GKE 价格。
合理调整工作负载大小的注意事项
按照建议对工作负载进行扩容或缩容之前,请考虑以下事项:
- 查看工作负载的资源利用率,了解其运行情况,以及其使用的 CPU 和内存是否超出或低于预期。如需查看相关说明,请参阅分析资源请求。
- 为了提高成本效益,批处理工作负载可能会有意保持较高的利用率。如果分配的资源足以满足批量作业,则无需扩容被确定为预配不足的高利用率工作负载。
- GKE 对基于 Java 虚拟机 (JVM) 的工作负载的实际内存用量的了解有限。在针对这些类型的工作负载应用建议之前,请格外谨慎。
实施合理调整工作负载大小的建议
您可以通过以下任一方式调整工作负载的大小,以更好地匹配工作负载的资源利用率:
- 为工作负载启用 Pod 纵向自动扩缩。如需了解详情,请参阅自动设置 Pod 资源请求。
根据建议手动更改请求和限制:
- 预配不足的工作负载:如需实施相关建议,即合理调整预配不足的工作负载的大小,请增加该工作负载的资源请求和限制。实施此建议时,您可以确保工作负载可靠,因为它具有适合其应用的资源量。
- 超额预配的工作负载:如需实施相关建议,即合理调整超额预配的工作负载的大小,请减少工作负载的资源请求和限制。根据工作负载需求调整集群 CPU 和内存分配。实施此建议有助于确保您仅使用运行工作负载所需的资源。
后续步骤
- 查看与费用相关的优化指标
- 在非高峰时段缩容 GKE 集群以减少费用
- 利用分析洞见和建议优化 GKE 使用
- 在 GKE 上运行费用经过优化的 Kubernetes 应用的最佳实践
- 5 项可帮助您优化集群的 GKE 功能