准备工作
- 实验会创建一个 Google Cloud 项目和一些资源,供您使用限定的一段时间
- 实验有时间限制,并且没有暂停功能。如果您中途结束实验,则必须重新开始。
- 在屏幕左上角,点击开始实验即可开始
Create a Service Account for Cloud SQL.
/ 25
Deploy a lightweight GKE application.
/ 25
Connect the GKE application to an external load balancer
/ 25
Verify full read/write capabilities of application to database.
/ 25
Cloud SQL 是一项全托管式关系型数据库服务,支持 MySQL、PostgreSQL 和 Microsoft SQL Server。它可提供多项服务来帮助处理备份、复制和日志记录等常见管理任务。您可以轻松将应用连接到 Cloud SQL 实例,以便使用这些实用服务。
在本实验中,您将首先创建一个 Kubernetes 集群,并将一个简单的应用部署到该集群。然后,您需要将应用连接到提供的 Cloud SQL for PostgreSQL 实例,并确认应用能够向该实例写入数据并从中读取数据。
请阅读以下说明。实验是计时的,并且您无法暂停实验。计时器在您点击开始实验后即开始计时,显示 Google Cloud 资源可供您使用多长时间。
此实操实验可让您在真实的云环境中开展实验活动,免受模拟或演示环境的局限。为此,我们会向您提供新的临时凭据,您可以在该实验的规定时间内通过此凭据登录和访问 Google Cloud。
为完成此实验,您需要:
点击开始实验按钮。如果该实验需要付费,系统会打开一个对话框供您选择支付方式。左侧是“实验详细信息”窗格,其中包含以下各项:
点击打开 Google Cloud 控制台(如果您使用的是 Chrome 浏览器,请右键点击并选择在无痕式窗口中打开链接)。
该实验会启动资源并打开另一个标签页,显示“登录”页面。
提示:将这些标签页安排在不同的窗口中,并排显示。
如有必要,请复制下方的用户名,然后将其粘贴到登录对话框中。
您也可以在“实验详细信息”窗格中找到“用户名”。
点击下一步。
复制下面的密码,然后将其粘贴到欢迎对话框中。
您也可以在“实验详细信息”窗格中找到“密码”。
点击下一步。
继续在后续页面中点击以完成相应操作:
片刻之后,系统会在此标签页中打开 Google Cloud 控制台。
Cloud Shell 是一种装有开发者工具的虚拟机。它提供了一个永久性的 5GB 主目录,并且在 Google Cloud 上运行。Cloud Shell 提供可用于访问您的 Google Cloud 资源的命令行工具。
点击 Google Cloud 控制台顶部的激活 Cloud Shell 。
在弹出的窗口中执行以下操作:
如果您连接成功,即表示您已通过身份验证,且项目 ID 会被设为您的 Project_ID
gcloud 是 Google Cloud 的命令行工具。它已预先安装在 Cloud Shell 上,且支持 Tab 自动补全功能。
输出:
输出:
gcloud 的完整文档,请参阅 gcloud CLI 概览指南。
某些 Compute Engine 资源位于区域和可用区内。区域是指某个地理位置,您可以在其中运行自己的资源。每个区域包含一个或多个可用区。
在 Cloud Shell 中运行以下 Cloud Shell 命令,设置实验的默认区域和可用区:
若要完成此任务,您必须初始化 API,并创建一个 IAM 服务账号,以便您的应用可以连接到 Cloud SQL 数据库。
您必须启用本实验所需的 API。您将在后续任务中构建容器并将其推送到 Artifact Registry,因此您必须先启用 Artifact Registry API。
您需要为稍后部署的应用配置 IAM 服务账号凭证。服务账号必须绑定到一个拥有创建和访问 Cloud SQL 数据库权限的角色。
该文件将保存到 Cloud Shell 中的主文件夹。
点击检查我的进度以验证是否完成了以下目标:
在此任务中,您将创建一个 Kubernetes 集群,并在该集群上部署一个轻量级 Google Kubernetes Engine (GKE) 应用,同时,对应用进行配置,使其能够访问提供的 Cloud SQL 实例。
提供的应用是一个简单的 Flask-SQLAlchemy Web 应用,名为 gMemegen。它通过提供一组照片并获取页眉和页脚文本来创建表情包,将这些内容存储到数据库中,并将生成的表情包渲染到本地文件夹中。该应用运行在一个 Pod 中,其中包含两个容器:一个用于应用本身,另一个用于采用边车模式部署的 Cloud SQL Auth 代理。
负载均衡器将通过边车在应用与数据库之间调度请求。该负载均衡器会公开一个外部 Ingress IP 地址,您可以使用浏览器通过该地址访问应用。
在此步骤中,您将创建一个最小的 Kubernetes 集群。部署集群需要几分钟时间。
在此步骤中,您将创建一对 Kubernetes Secret,其中包含连接到 Cloud SQL 实例和数据库所需的凭证。
您需要先构建容器并将其推送到相应仓库,然后才能将 gMemegen 应用部署到 GKE 集群。
Y。在本实验中,您可以忽略有关以根用户身份运行“pip”的警告,但请注意,一般来说,尤其是在本地计算机上工作时,最好使用虚拟环境。
您必须修改 gMemegen 应用的 Kubernetes 部署清单,以指向正确的容器,并使用 Cloud SQL PostgreSQL 实例的连接字符串配置 Cloud SQL Auth 代理边车。
说明中介绍了如何使用 Cloud Shell 编辑器修改文件,但如果您愿意,也可以使用 Cloud Shell 中的其他编辑器(例如 vi 或 nano)来完成这些步骤。
在 Cloud Shell 菜单栏上,点击打开编辑器以打开 Cloud Shell 编辑器。
在左侧的探索器面板中,展开 gmemegen 文件夹,然后选择 gmemegen_deployment.yaml 以修改该文件。
在第 33 行的 image 属性中,将 ${REGION} 替换为 ${PROJECT_ID} 替换为
${REGION} 替换为 ${PROJECT_ID} 替换为 如需确认连接名称是否正确,请在 Cloud 控制台中,依次点击数据库 > SQL,选择 postgres-gmemegen 实例,然后与概览窗格中的连接名称进行比较。有效的连接名称应采用 PROJECT_ID:REGION:CLOUD_SQL_INSTANCE_ID 格式。
在 Cloud Shell 编辑器菜单中,依次选择文件 > 保存,以保存更改。
在 Cloud 控制台中,点击打开终端以重新打开 Cloud Shell。您可能需要拖动菜单栏顶部中央的手柄来调整终端窗口的大小,以便看到上方的 Cloud 控制台窗口。
在 Cloud Shell 中,运行以下命令来部署应用:
由于 Pod 需要从仓库中拉取映像,因此可能需要一分钟左右才能启动。重复上述命令,直到看到一个包含 2 个容器且状态为正在运行的 Pod。
点击检查我的进度以验证是否完成了以下目标:
在此任务中,您将创建一个负载均衡器,用于协调 GKE Pod 中容器之间的请求,并在浏览器中通过应用的外部 IP 地址访问该应用。
在此步骤中,您将创建一个 Kubernetes 负载均衡器服务,该服务将为您的应用提供一个公共 IP 地址。
在此步骤中,您将通过网络浏览器访问 gMemegen 应用。
该应用的界面非常简单。应用启动后会显示首页,其中显示了 6 张可用于制作表情包的候选图片。您可以点击图片以进行选择。
应用随即会显示 Create Meme(创建表情包)页面,您可以在其中输入两段文字,分别显示在图片的顶部和底部。点击 Submit(提交)后,系统会生成并显示该表情包。完成表情包后,界面不会提供任何导航选项。您必须使用浏览器的返回按钮才能返回首页。
还有两个页面,分别是 Recent(最近)和 Random(随机),前者显示一组最近生成的表情包,后者随机显示一个表情包。您在生成表情包和浏览界面时,系统会生成数据库活动,您可以在日志中查看这些活动,如下所述。
等待负载均衡器公开外部 IP,您可以按如下方式检索该 IP:
LoadBalancer Ingress 的外部 IP 地址属性:输出:
LoadBalancer Ingress 属性需要一分钟左右的时间才能包含在输出中(见上文),因此请重复执行该命令,直到该属性显示在输出中,然后再执行下一步。
您可以使用以下命令在 Cloud Shell 中创建指向负载均衡器外部 IP 地址的可点击链接:
点击 Cloud Shell 中的相应链接,您将看到 gMemegen 应用在浏览器的新标签页中运行。
按如下方式创建表情包:
系统会显示您的新表情包。
如需创建更多表情包,请使用浏览器的返回按钮前往首页。
如需查看现有表情包,请点击应用菜单中的 Recent(近期)或 Random(随机)。(请注意,点击 Random 会打开新的浏览器标签页)
在 Cloud Shell 中,运行以下命令以查看应用的活动:
此命令会查询 gmemegen 容器中的日志,并显示 Pod 上应用的活动,包括 SQL 语句(这些语句在执行时会记录到 stderr)。
点击检查我的进度以验证是否完成了以下目标:
在此任务中,您将验证应用能否向数据库写入数据并从中读取数据。
在此步骤中,您将在 Cloud Shell 中运行 PL/SQL 以连接到 Cloud SQL 实例。
在 Google Cloud 控制台中,依次点击数据库 > SQL,然后选择 postgres-gmemegen 实例。
在概览窗格中,向下滚动到连接到此实例,然后点击打开 Cloud Shell 按钮。
在 Cloud Shell 中运行自动填充的命令。
在系统提示时,输入密码:supersecret!
在 postgres=> 提示符处,输入以下命令以选择 gmemegen_db 数据库:
在系统提示时,输入密码:supersecret!
在 gmemegen_db=> 提示符处,输入:
此时,您通过 gMemegen 应用生成的每个表情包都会单独显示为一行。
点击检查我的进度以验证是否完成了以下目标:
在本实验中,您配置了一个应用来访问 Cloud SQL for PostgreSQL 数据库。您创建了一个 Kubernetes 集群,并将一个简单的表情包生成应用部署到该集群,还将应用连接到提供的 Cloud SQL for PostgreSQL 数据库实例,并确认应用能够向该实例写入数据并从中读取数据。
…可帮助您充分利用 Google Cloud 技术。我们的课程会讲解各项技能与最佳实践,可帮助您迅速上手使用并继续学习更深入的知识。我们提供从基础到高级的全方位培训,并有点播、直播和虚拟三种方式选择,让您可以按照自己的日程安排学习时间。各项认证可以帮助您核实并证明您在 Google Cloud 技术方面的技能与专业知识。
本手册的最后更新时间:2025 年 2 月 28 日
本实验的最后测试时间:2025 年 2 月 28 日
版权所有 2026 Google LLC 保留所有权利。Google 和 Google 徽标是 Google LLC 的商标。其他所有公司名和产品名可能是其各自相关公司的商标。
此内容目前不可用
一旦可用,我们会通过电子邮件告知您
太好了!
一旦可用,我们会通过电子邮件告知您
一次一个实验
确认结束所有现有实验并开始此实验