本页面介绍了如何使用 Google Cloud的 AI 赋能型协作工具 Gemini Cloud Assist 来微调 Google Kubernetes Engine (GKE) 部署,以优化性能和可靠性。Gemini 辅助功能可提供建议、生成代码和排查问题。
除了众多其他优势之外,Gemini Cloud Assist 还可以帮助您实现以下目标:
- 降低费用:识别空闲资源,调整部署规模,并优化自动扩缩配置,以最大限度地减少不必要的支出。
- 提高可靠性和稳定性:主动识别潜在问题(例如版本偏差或缺少 Pod 中断预算),以防止停机并确保应用弹性。
- 优化 AI/机器学习工作负载:获取有关在 GKE 上部署、管理和优化 AI/机器学习工作负载的帮助。
- 简化问题排查:快速分析日志并查明导致错误的根本原因,从而节省时间和精力。
本页面内容适用于现有 GKE 用户,以及需要预配和配置云资源并部署应用和服务的运维人员和开发者。如需详细了解我们在 Google Cloud 内容中提及的常见角色和示例任务,请参阅常见的 GKE 用户角色和任务。
了解 Gemini for Google Cloud 如何以及何时使用您的数据。
费用
Gemini:在预览版期间,使用 Gemini Cloud Assist 无需付费。
GKE:在 GKE 中使用 Gemini Cloud Assist 无需额外付费。
准备工作
如要开始在 GKE 中使用 Gemini,您需要先满足以下前提条件。
-
Verify that billing is enabled for your Google Cloud project.
- 请让您的身份和账号管理员授予您访问和修改 GKE 资源所需的权限。
- 按照设置 Gemini Cloud Assist 指南中的说明操作,在您的项目或文件夹中启用 Gemini Cloud Assist,并向您的主账号授予特定的 Identity and Access Management (IAM) 角色。
本指南假定您拥有一个 GKE 集群,并且最好有一些正在运行的部署。
向 Gemini Cloud Assist 提问
您可以通过 Google Cloud 控制台调用 Gemini Cloud Assist。 借助 Gemini Cloud Assist,您可以使用自然语言提示快速高效地获得任务方面的帮助。
如需从 GKE 页面打开 Cloud Assist,请按以下步骤操作:
在 Google Cloud 控制台的项目选择器页面上,选择一个启用了 Gemini Cloud Assist 的Google Cloud 项目。
在 Google Cloud 控制台中,前往 Kubernetes Engine 控制台中的特定页面。
例如,前往 Kubernetes Engine 概览页面。
如果您有关于特定资源的问题,请先前往相关页面。例如,在集群页面上,Gemini Cloud Assist 可以就集群管理、集群健康状况监控和集群问题排查提供建议。在特定的 Google Cloud 控制台页面上使用 Gemini 有助于为您的问题提供上下文。随后,Gemini 可以利用此上下文以及您所在的整个项目,生成更贴合需求且更准确的帮助信息。
如需打开 Gemini Cloud Assist 窗格,请点击工具栏中的 spark 打开或关闭 Gemini AI 聊天。
如果系统提示您接受条款,并且您同意这些条款,请点击接受。
在 Gemini 窗格中输入提示。如需查看使用 Gemini 进行问题排查的工作流示例,请参阅下一部分内容。
如需详细了解如何在 Google Cloud 控制台中使用 Gemini,请参阅使用 Gemini Cloud Assist。
使用 Gemini 进行问题排查的示例
Gemini 可以帮助您排查 GKE 服务中的问题。
前往 Google Cloud 控制台中的工作负载页面。
选择要进行问题排查的工作负载。
点击日志标签页。
点击工具栏中的 spark 打开或关闭 Gemini AI 聊天。
输入提示,描述您遇到的问题。例如,“我的
accounts-db
数据库应用延迟时间较长”。Gemini 可能会要求您提供更多上下文信息,例如数据库类型、影响范围(如受延迟影响的操作和用户)。Gemini 随后可以提供指导,帮助您自行分析日志,并提供问题排查建议。
查看并遵循这些建议来解决问题。
Gemini Cloud Assist 的提示示例
本部分展示了一些实际应用场景,并建议了您可以尝试向 Gemini 发出的提示。您收到的实际回答可能是通用回答,也可能是根据您Google Cloud 环境的独特状态量身定制的切实可行的回答。回答中可能包含用于查看和管理您的 Cloud 资源的 Google Cloud 控制台链接,以及用于获取更多信息的相关文档链接。
降低费用
下表列出了可用于帮助降低费用的提示。
提示 | 回答类型 |
---|---|
“如何在不牺牲性能的前提下节省 GKE 集群的费用?” |
|
“我想升级我的 my-docker-cluster GKE 集群。有什么建议吗?” |
有关实现特定 Kubernetes 配置和最佳实践的建议,例如:
|
“我的 my-docker-cluster 集群几周后将迎来一次大的流量高峰。有什么建议吗?” |
|
“我的哪些 GKE 工作负载没有启用 HPA?” | 没有启用 Pod 横向自动扩缩器的工作负载的列表。 |
提高可靠性和稳定性
下表列出了可用于帮助提高 GKE 工作负载可靠性和稳定性的提示。
提示 | 回答类型 |
---|---|
“如何使我的 GKE 集群更可靠并防止停机?” |
|
“告诉我如何将我的工作负载从 my-cluster 上的 Default 命名空间迁移出去。” |
执行以下步骤:
|
“如何确保运行中 Pod 的高可用性?” |
|
针对 AI/机器学习工作负载优化 GKE
下表列出了可用于获取有关在 GKE 上部署、管理和优化 AI/机器学习工作负载的帮助的提示。
提示 | 回答类型 |
---|---|
“在 GKE 上使用 GPU 运行大规模分布式 TensorFlow 训练时,推荐的节点池配置是什么?” | 以下建议可用于优化 GKE 上的分布式 TensorFlow 机器学习训练:
|
“如何在 GKE 上使用 GPU 进行训练?” | 有关配置集群和工作负载以使用 GPU 的步骤和注意事项的概览。 |
“请举例说明如何在 GKE 上部署模型服务容器。” | 一个包含示例代码的示例,用于在 GKE 上部署模型服务容器。该示例可能包含最佳实践,有助于确保可伸缩性。 |
“我应该跟踪哪些指标来评估我的负载均衡设置在推理方面的有效性?” | 指标列表(例如流量分配、延迟时间、错误率、CPU 和内存利用率),用于深入了解负载均衡设置的性能和健康状况。 |
简化问题排查
下表列出了可用于快速分析日志并确定错误根本原因、从而节省时间和精力的提示。
提示 | 回答类型 |
---|---|
“这个错误是什么意思?Readiness probe failed: Get "https://10…./abcd": context deadline exceeded (Client.Timeout exceeded while awaiting headers) ”
|
说明 kubelet 未能在定义的超时期限内执行容器的就绪状态探测,并就潜在原因和问题排查措施提供了建议。 |
“为什么我的部署 nettools 会因错误 ping: socket: Operation not permitted 而崩溃?”
|
说明 ping 命令需要 CAP_NET_RAW 安全上下文功能,并且出于安全考虑,Kubernetes 中的容器默认以一组受限的功能运行。
|
“我的 Pod 因错误 Cannot schedule pods: No preemption victims found for incoming pod. 而无法调度,这意味着什么?”
|
说明 Kubernetes 中 Pod 调度和抢占机制的工作原理。列出了用于排查未找到抢占受害者的原因的步骤。 |
后续步骤
- 了解如何撰写更好的提示。
- 了解如何使用 Gemini Cloud Assist 面板。
- 请参阅使用 Gemini 进行 AI 辅助和开发。
- 了解 Gemini for Google Cloud 如何使用您的数据。