准备工作
- 实验会创建一个 Google Cloud 项目和一些资源,供您使用限定的一段时间
- 实验有时间限制,并且没有暂停功能。如果您中途结束实验,则必须重新开始。
- 在屏幕左上角,点击开始实验即可开始
Create a Kubernetes Cluster
/ 5
Build and Deploy Nodejs App (hello-node)
/ 5
Allow external traffic to hello-node deployment
/ 5
Create a Kubernetes Cluster
/ 5
Build and Deploy Nodejs App (hello-node)
/ 5
Allow external traffic to hello-node deployment
/ 5
Google Kubernetes Engine 可让您轻松在云端运行 Docker 容器。Google Kubernetes Engine 使用开源容器调度器 Kubernetes,确保您的集群始终严格按照您期望的方式运行。
在本实验中,您将学习如何在 Google Kubernetes Engine 上启动容器以及该容器的副本。
请阅读以下说明。实验是计时的,并且您无法暂停实验。计时器在您点击开始实验后即开始计时,显示 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 概览指南。
在本部分中,您将创建一个 Google Kubernetes Engine 集群。
Cloud Shell 是一个基于浏览器的虚拟机终端,该虚拟机上安装了 Google Cloud 工具和一些额外的工具(如编辑器和编译器),这些工具在开发或调试云应用时非常有用。
您将使用 gcloud 命令创建集群。首先,设置计算可用区,以便在正确的区域创建集群中的虚拟机。请使用 gcloud config set compute/zone 完成这项操作。
某些 Compute Engine 资源位于区域或可用区内。区域是指某一块地理位置,您可以在其中运行自己的资源。每个区域包含一个或多个可用区。例如,us-central1 区域表示美国中部的一个区域,该区域包含的可用区有 us-central1-a、us-central1-b、us-central1-c 和 us-central1-f。
| 区域 | 可用区 |
|---|---|
| 美国西部 | us-west1-a、us-west1-b |
| 美国中部 | us-central1-a、us-central1-b、us-central1-d、us-central1-f |
| 美国东部 | us-east1-b、us-east1-c、us-east1-d |
| 西欧 | europe-west1-b、europe-west1-c、europe-west1-d |
| 东亚 | asia-east1-a、asia-east1-b、asia-east1-c |
可用区内的资源称为可用区级资源,例如可用区内的虚拟机实例和永久性磁盘。要将永久性磁盘附加到虚拟机实例,这两项资源必须位于同一可用区内。同理,如果要为某个实例分配一个静态 IP 地址,则该实例与该静态 IP 必须位于同一区域内。
gcloud 命令创建一个新的容器集群,如下所示:此命令会创建一个名为 hello-world 的新集群,其中包含三个节点(虚拟机)。您可以在此命令中添加其他标志,以更改节点数量、默认权限和其他变量。如需了解详情,请参阅 gcloud container clusters create 参考文档。
启动集群可能需要几分钟时间。启动后,您应该会在 Cloud Shell 中看到类似以下内容的输出:
点击检查我的进度,验证您已执行的任务。如果您成功完成了任务,系统会给出评分。
接下来,构建并发布包含您的代码的容器。您将使用 Docker 构建容器,并使用 Google Artifact Registry 安全地发布容器。
在本实验中,您将在许多命令中使用项目 ID。项目 ID 存储在 Cloud Shell 的环境变量中,方便您随时调用。您可以通过以下命令查看项目 ID:
Docker 容器是使用 Dockerfile 构建的。示例代码提供了一个基础的 Dockerfile 供我们使用。
以下是该文件的内容:
这将构建一个存储在本地的 Docker 容器映像。
为了让 Kubernetes 能够访问您的映像,您需要将其存储在 Artifact Registry 中。
现在,集群已在运行,应用也已构建完毕,接下来可以部署应用了。
Deployment 是 Kubernetes 的核心组件,可确保您的应用始终处于运行状态。Deployment 会在集群中调度和管理一组 Pod。Pod 是一个或多个“结伴同行”的容器。这些容器可能需要一同接受管理,或有相同的网络要求。本实验中的 Pod 只有一个容器。
通常,您需要创建一个包含 Deployment 配置的 yaml 文件。在本实验中,我们将跳过此步骤,直接在命令行中创建 Deployment。
kubectl 创建 Pod:此命令会在集群中的一个节点上启动 Docker 映像的一个副本。
点击检查我的进度,验证您已执行的任务。如果您成功完成了任务,系统会给出评分。
kubectl 创建的 Deployment:您得到的结果应该类似于:
kubectl 查看正在运行的 Pod:您得到的结果应该类似于:
默认情况下,Pod 只能由集群内的其他机器访问。为了能够使用已创建的应用容器,您需要将其作为 Service 公开。
通常,您需要创建一个包含 Service 配置的 yaml 文件。在本实验中,我们将跳过此步骤,直接在命令行中创建 Deployment。
kubectl expose 命令公开 Deployment:kubectl expose 会创建一个 Service、负载均衡器的转发规则以及允许将外部流量发送到 Pod 的防火墙规则。--type=LoadBalancer 标志会创建一个 Google Cloud 网络负载均衡器,用于接受外部流量。
您得到的结果应该类似于:
External-IP 可能需要一分钟左右的时间才会显示。如果 External-IP 显示为 <pending>,请等待 30 秒,然后重试。点击检查我的进度,验证您已执行的任务。如果您成功完成了任务,系统会给出评分。
打开新的浏览器窗口或标签页,然后导航到上一步中的外部 IP 地址。您应该会看到示例代码正在运行!
下方选择题可加强您对本实验所涉概念的理解。请尽您所能回答。
借助 Google Kubernetes Engine,您能够以强大且灵活的方式在 Google Cloud 上运行容器。Kubernetes 也可以在您自己的硬件或其他云平台上使用。
本实验虽然只涉及单个容器,但要设置多容器环境或单个容器的多个实例也很简单。
不妨试试其他实验,例如:
…可帮助您充分利用 Google Cloud 技术。我们的课程会讲解各项技能与最佳实践,可帮助您迅速上手使用并继续学习更深入的知识。我们提供从基础到高级的全方位培训,并有点播、直播和虚拟三种方式选择,让您可以按照自己的日程安排学习时间。各项认证可以帮助您核实并证明您在 Google Cloud 技术方面的技能与专业知识。
上次更新手册的时间:2024 年 12 月 11 日
上次测试实验的时间:2024 年 12 月 11 日
版权所有 2026 Google LLC 保留所有权利。Google 和 Google 徽标是 Google LLC 的商标。其他所有公司名和产品名可能是其各自相关公司的商标。
此内容目前不可用
一旦可用,我们会通过电子邮件告知您
太好了!
一旦可用,我们会通过电子邮件告知您
一次一个实验
确认结束所有现有实验并开始此实验