准备工作
- 实验会创建一个 Google Cloud 项目和一些资源,供您使用限定的一段时间
- 实验有时间限制,并且没有暂停功能。如果您中途结束实验,则必须重新开始。
- 在屏幕左上角,点击开始实验即可开始
Create a GKE cluster
/ 20
Enable Managed Prometheus on the GKE cluster
/ 20
Deploy an application onto the GKE cluster
/ 20
Create a logs-based metric and alerting policy
/ 10
Update and re-deploy your app
/ 10
Containerize your code and deploy it onto the cluster
/ 20
在实验室挑战赛中,我们会为您提供一个场景和一系列任务。您将使用从课程的各个实验中学到的技能自行确定如何完成这些任务,而不是按照分步说明进行操作。自动评分系统(显示在本页面中)会提供有关您是否已正确完成任务的反馈。
在您参加实验室挑战赛期间,我们不会再教授新的 Google Cloud 概念知识。您需要拓展所学的技能,例如通过更改默认值和查看并研究错误消息来更正您自己所犯的错误。
要想获得满分,您必须在该时间段内成功完成所有任务!
我们建议已报名参加在 Google Cloud 中管理 Kubernetes 技能徽章课程的学员参加此实验室挑战赛。准备好接受挑战了吗?
请阅读以下说明。实验是计时的,并且您无法暂停实验。计时器在您点击开始实验后即开始计时,显示 Google Cloud 资源可供您使用多长时间。
此实操实验可让您在真实的云环境中开展实验活动,免受模拟或演示环境的局限。为此,我们会向您提供新的临时凭据,您可以在该实验的规定时间内通过此凭据登录和访问 Google Cloud。
为完成此实验,您需要:
您在几个月前刚刚入职 Cymbal Shops。您已投入大量时间在 Docker 和 Artifact Registry 中处理容器,并掌握了在 GKE 上管理新的和现有的 Deployment 的要领。您已经练习过更新清单,以及扩缩、监控和调试在集群上运行的应用。
您的团队希望您着手管理 Kubernetes Deployment,以确保新电子商务网站的发布和应用更新都能顺利进行。在您正式承担这一新角色之前,开发团队希望您先展示一下自己掌握的新技能。在此展示过程中,他们会列出一系列任务,并要求您在沙盒环境中于分配的时间内完成。
在沙盒环境中,开发者创建了一个名为
spls/gsp510/hello-app 存储桶下载的代码的容器化版本。
您的任务包括:
新的 Cymbal Shops 电子商务网站将在 GKE 上原生运行,团队希望了解您在管理和搭建集群方面的实际经验。在本部分,您需要根据提供的一组配置创建一个 Kubernetes 集群,以运行演示应用。
| 设置 | 值 |
|---|---|
| 可用区 | |
| 发布渠道 | 常规 |
| 集群版本 |
1.27.8 或更高版本
|
| 集群自动扩缩器 | 已启用 |
| 节点数 | 3 |
| 节点数下限 | 2 |
| 节点数上限 | 6 |
点击检查我的进度以验证是否完成了以下目标:
作为电子商务网站策略的一部分,Cymbal Shops 计划使用 Managed Prometheus 监控集群指标,以确保客户获得良好的使用体验。在本部分,您将为集群启用 Managed Prometheus 以监控指标,并创建一个命名空间来部署示例 Prometheus 应用和 PodMonitoring 资源。
在 GKE 集群上启用 Prometheus 托管式收集。
在集群上创建一个名为
下载示例 Prometheus 应用:
使用以下配置更新 <todo> 部分(第 35–38 行):
nilebox/prometheus-example-app:latest
prometheus-test
metrics
将应用部署到 GKE 集群中的
下载 pod-monitoring.yaml 文件:
使用以下配置更新 <todo> 部分(第 18–24 行):
prometheus-test
prometheus-test
prometheus-test
将 PodMonitoring 资源应用到 GKE 集群中的
点击检查我的进度以验证是否完成了以下目标:
Cymbal Shops 的开发团队将持续向集群发布新的应用代码,您需要将这些代码成功地部署到生产环境中。在本部分,您将向集群部署一个 Kubernetes 清单,并检查其中出现的问题。
使用 helloweb-deployment.yaml 清单文件,在 GKE 集群的 hello-app/manifests 文件夹中。
验证您已成功创建该 Deployment,然后前往 helloweb Deployment 详情页面。您应该会看到以下错误:
此错误可能源于您刚才部署的清单中指定的映像名称无效。在修复映像名称之前,您需要创建一个基于日志的指标和提醒政策,以便将来再次出现该问题时,团队能够及时收到通知。
点击检查我的进度以验证是否完成了以下目标:
Cymbal Shops 希望设置一些基于日志的指标和提醒政策,用于汇总其 Kubernetes Pod 中的错误和警告数量,并在错误数量超过指定阈值时为集群触发提醒机制。在本部分,您将展示自己为团队构建这些指标和提醒政策的能力。
如果查询正确,运行后您应该会在日志中看到以下错误:
pod-image-errors。10 min
Count
Sum
Threshold
Any time series violates
Above threshold
0
Pod Error Alert
点击检查我的进度以验证是否完成了以下目标:
开发团队希望您展示在出现错误时删除并更新集群中 Deployment 的能力。在本部分,您将使用正确的映像引用更新 Kubernetes 清单,删除一个 Deployment,并将更新后的应用部署到集群中。
将 helloweb-deployment.yaml Deployment 清单中 image 部分的 <todo> 替换为以下映像:
us-docker.pkg.dev/google-samples/containers/gke/hello-app:1.0从集群中删除 helloweb Deployment。
将更新后的 helloweb-deployment.yaml 清单部署到集群的
您应验证部署是否正确无误。您的 Kubernetes 工作负载页面应大致如下所示:
点击检查我的进度以验证是否完成了以下目标:
最后,作为 Cymbal Shops 电子商务策略的一部分,应用团队会向您提供应用代码,您需要将其容器化并存储到一个映像注册表中,然后使用该代码的最新版本更新集群。
在本部分,您将对应用代码进行容器化,更新存储在 Artifact Registry 中的映像,并将集群上的 Deployment 更新为使用该映像。您的团队在 Artifact Registry 中有一个名为 hello-app 示例应用的容器化版本。您将在本地更新用于构建的代码,然后将新版本推送到仓库。
在 hello-app 目录中,将 main.go 文件的第 49 行更新为使用 Version: 2.0.0。
使用 hello-app/Dockerfile 创建带有 v2 标记的 Docker 映像。
使用 v2 标记将新构建的 Docker 映像推送到 Artifact Registry 中的仓库。
将 helloweb Deployment 使用的映像更新为您推送到 Artifact Registry 的 v2 映像。
将 helloweb Deployment 公开为一个名为
前往
点击检查我的进度以验证是否完成了以下目标:
恭喜!在本实验中,您验证了自己具备根据一组指定配置创建 GKE 集群,以及在集群上启用 Prometheus 托管式收集的技能。您还排查了集群中的错误,创建了基于日志的指标和提醒政策,并更新了 Kubernetes 清单来解决问题。最后,您使用 Docker 将应用代码容器化,并将新版本推送到 Artifact Registry 中的仓库,随后更新集群以使用新的映像,并在集群上公开相应的服务。您已经准备好在自己的环境中管理 Kubernetes 了!
本自学实验是在 Google Cloud 中管理 Kubernetes 技能徽章挑战任务的一部分。完成此技能徽章挑战任务可赢得上面的徽章,以表彰您取得的成就。您可以在简历和社交平台中分享自己的徽章,并使用 #GoogleCloudBadge 让大家知道您取得的这一成就。
此技能徽章挑战任务是 Google Cloud 混合云和多云 Cloud Architect 学习路线的一部分。如果您已经完成此学习路线中的其他技能徽章挑战任务,可在 Google Cloud Skills Boost 目录中进行搜索,找出您可以报名参加的其他 20 多个技能徽章挑战任务。
…可帮助您充分利用 Google Cloud 技术。我们的课程会讲解各项技能与最佳实践,可帮助您迅速上手使用并继续学习更深入的知识。我们提供从基础到高级的全方位培训,并有点播、直播和虚拟三种方式选择,让您可以按照自己的日程安排学习时间。各项认证可以帮助您核实并证明您在 Google Cloud 技术方面的技能与专业知识。
上次更新手册的时间:2023 年 8 月 11 日
上次测试实验的时间:2023 年 8 月 11 日
版权所有 2025 Google LLC 保留所有权利。Google 和 Google 徽标是 Google LLC 的商标。其他所有公司名和产品名可能是其各自相关公司的商标。
此内容目前不可用
一旦可用,我们会通过电子邮件告知您
太好了!
一旦可用,我们会通过电子邮件告知您
一次一个实验
确认结束所有现有实验并开始此实验