检查点
Create a bucket, VM instance with necessary firewall rule and an IAM service account
/ 25
Create a second bucket, VM instance and an IAM service account
/ 25
Work with Cloud Storage in Cloud Shell
/ 25
Install the nginx Web server and customize the welcome page
/ 25
访问 Google Cloud 控制台和 Cloud Shell
概览
在本实验中,您将熟悉 Google Cloud 基于网络的界面。此实验将提供两个集成式环境:
- 名为 Google Cloud 控制台的 GUI 环境
- 名为 Cloud Shell 的命令行界面,其中已预装 Cloud SDK 提供的命令
在本课程中,您将使用这两种环境。
关于 Google Cloud 控制台,您需要知道以下几点:
- Google Cloud 控制台正在持续开发中,因此图形布局偶尔会发生变化。这些更改通常是为了配合 Google Cloud 新功能或技术变更,会导致工作流略有不同。
- 您可以在 Google Cloud 控制台中执行大多数常见的 Google Cloud 操作。有时,新功能会先在 Cloud SDK 中实现,然后才在 Google Cloud 控制台中提供。
- 对于某些活动,Google Cloud 控制台非常快捷。Google Cloud 控制台可以代表您执行多个操作,这些操作在命令行中可能需要很多步骤。
- 如需实现自动化,Cloud SDK 中的命令是非常实用的工具。
目标
在本实验中,您将学习如何执行以下任务:
- 了解如何访问 Google Cloud 控制台和 Cloud Shell
- 熟悉 Google Cloud 控制台
- 熟悉 Cloud Shell 功能,包括 Cloud Shell 编辑器
- 使用 Google Cloud 控制台和 Cloud Shell 创建存储桶和虚拟机以及服务账号
- 在 Cloud Shell 中执行其他命令
实验设置
访问 Qwiklabs
对于每个实验,您都会免费获得一个新的 Google Cloud 项目及一组资源,它们都有固定的使用时限。
-
请使用无痕式窗口登录 Qwiklabs。
-
留意实验的访问时限(例如
1:15:00
)并确保能在相应时间段内完成实验。
系统不提供暂停功能。如有需要,您可以重新开始实验,不过必须从头开始。 -
准备就绪时,点击开始实验。
-
请记好您的实验凭据(用户名和密码)。您需要使用这组凭据来登录 Google Cloud 控制台。
-
点击打开 Google 控制台。
-
点击使用其他帐号,然后将此实验的凭据复制并粘贴到相应提示框中。
如果您使用其他凭据,将会收到错误消息或产生费用。 -
接受条款并跳过恢复资源页面。
完成初始登录步骤后,系统会显示项目信息中心。
任务 1. 探索 Google Cloud 控制台
在此任务中,您将探索 Google Cloud 控制台并创建资源。
确认已选择您的项目
-
在 Google Cloud 控制台标题栏中,点击选择项目下拉列表,然后选择 Qwiklabs 随身份验证凭据提供的项目 ID。
-
项目 ID 的格式为 [qwiklabs-gcp-] 后跟一长串十六进制数字。
-
点击取消关闭对话框。
标题栏应该会显示项目 ID,如以下屏幕截图所示。Qwiklabs 环境中的每个实验都有唯一的项目 ID 和唯一的身份验证凭据。
前往 Google Cloud Storage 并创建存储桶
使用 Cloud Storage,您可以在全球范围内随时存储和检索任意数量的数据。您可以在各种各样的场景中使用 Cloud Storage,包括传送网站内容、存储数据以用于归档和灾难恢复,或者通过直接下载向用户分发大型数据对象。
Cloud Storage 存储桶必须具有全局唯一的名称。在组织中,您应该遵循 Google Cloud 有关 Cloud Storage 最佳实践的指南。对于本实验,由于 Google Cloud 项目 ID 具有全局唯一性,因此通过使用 Qwiklabs 为我们创建的 Google Cloud 项目 ID,我们就能轻松为存储桶设置唯一名称。
-
在 Google Cloud 控制台的导航菜单 () 中,依次点击 Cloud 概览 > 信息中心。
-
在所显示屏幕的信息中心标签页中,项目信息部分会显示您的 Google Cloud 项目 ID。
-
选择并复制项目 ID。这个项目 ID 是 Qwiklabs 为您创建的,其格式为:[qwiklabs-gcp-] 后跟一长串十六进制数字。
-
在 Google Cloud 控制台的导航菜单 () 中,依次点击 Cloud Storage > 存储桶。
-
点击创建存储桶。
-
对于名称,粘贴您在之前的步骤中复制的 Google Cloud 项目 ID 字符串。这些实验说明稍后将以
[BUCKET_NAME]
指代您输入的名称。 -
点击继续。
-
对于位置类型,选择区域,并从下拉菜单中选择
。 -
点击继续。
-
点击选择如何控制对对象的访问权限,取消选中禁止公开访问此存储桶,然后选择精细控制。
-
点击继续。
-
请将其他所有值保留为默认值。
-
点击创建。
创建虚拟机 (VM) 实例
Google Compute Engine 提供 Google 数据中心及其“网络即服务”中运行的虚拟机。Google Kubernetes Engine 使用 Compute Engine 作为其架构的一个组件。因此在了解 Google Kubernetes Engine 之前,掌握一些关于 Compute Engine 的知识会很有帮助。
- 在导航菜单 () 中,点击 Compute Engine > 虚拟机实例。
- 点击创建实例。
- 对于名称,输入 first-vm 作为实例的名称。
- 对于区域,选择
。 - 对于可用区,选择
。 - 对于机器类型,请查看提供的选项。
gcloud
命令创建虚拟机时用来选择机器类型的参数。区域、可用区和机器类型的右侧会显示每月的估算费用。
- 若要查看估算费用的明细,请点击估算费用下方机器类型列表右侧的详细信息。
- 对于机器类型,点击 2 个 vCPU (e2-standard-2)。
费用是如何变化的?
- 对于机器类型,点击 e2-micro(2 个共享 vCPU)。
Micro 类型是一种共享核心虚拟机,费用比较低廉。
- 对于防火墙,点击允许 HTTP 流量。
- 将其他设置保留默认值,然后点击创建。
等待新虚拟机创建完成。
查看虚拟机详细信息
- 在虚拟机实例页面上,点击虚拟机名称 first-vm。
- 在机器配置中,记下 CPU 平台的值,然后点击修改。
- 点击顶部的铅笔图标,以修改
first-vm
实例。
- 向下滚动到管理部分,并检查可用性政策。
- 点击取消。
创建 IAM 服务账号
IAM 服务账号是一种特殊类型的 Google 账号,属于应用或虚拟机,不属于个人最终用户。
- 在导航菜单中,点击 IAM 和管理 > 服务账号。
- 点击 + 创建服务账号。
- 在服务账号详情页面,将服务账号名称指定为
test-service-account
。 - 点击创建并继续。
- 在向此服务账号授予对项目的访问权限页面上,依次选择基本 > Editor 来指定角色。
- 点击继续。
- 点击完成。
- 在服务账号页面上,转至
test-service-account
的最右侧,然后点击三点状图标。 - 点击管理密钥。
- 点击添加密钥。
- 选择创建新密钥。
- 选择 JSON 作为密钥类型。
- 点击创建。
系统会下载一个 JSON 密钥文件。在稍后的步骤中,您需要找到这个密钥文件并将其上传到虚拟机。
- 点击关闭。
点击检查我的进度以验证是否完成了以下目标。
任务 2. 了解 Cloud Shell
Cloud Shell 让您可以直接在浏览器中通过命令行访问云端资源。借助 Cloud Shell,您可以随时使用经过全面身份验证的最新 Cloud SDK 命令行工具,例如 gcloud。
Cloud Shell 提供以下特性和功能:
- Compute Engine 临时虚拟机
- 可在浏览器中使用命令行访问实例
- 5 GB 永久性磁盘存储空间 (
$HOME dir
) - 预装的 Cloud SDK 和其他工具。
-
gcloud
:适用于 Compute Engine、Google Kubernetes Engine (GKE) 和许多 Google Cloud 服务 -
gcloud storage
和gsutil
:适用于 Cloud Storage -
kubectl
:适用于 GKE 和 Kubernetes -
bq
:适用于 BigQuery - 针对 Java、Go、Python、Node.js、PHP 和 Ruby 的语言支持
- 网页预览功能
- 用于访问资源和实例的内置授权
系统会回收处于非活跃状态超过 1 小时的 Cloud Shell 实例。只保留 /home
目录。对系统配置(包括环境变量)所做的任何更改都将在会话切换时丢失。
在此任务中,您将使用 Cloud Shell 创建和检查一些资源。
打开 Cloud Shell 并探索其特征
- 在 Google Cloud 控制台标题栏中,点击激活 Cloud Shell ()。
- 出现提示时,点击继续。
Cloud Shell 会在 Google Cloud 控制台窗口底部打开。
以下图标位于 Cloud Shell 工具栏的最右侧:
- 隐藏/恢复:点击此图标可隐藏或恢复窗口,让您无需关闭 Cloud Shell 即可使用 Google Cloud 控制台的所有功能。
- 在新窗口中打开:在发出个别命令时,Cloud Shell 位于 Google Cloud 控制台底部会很方便。但在您编辑文件或想要查看命令的完整输出时,点击此图标就能在一个完整尺寸的终端窗口中显示 Cloud Shell。
- 关闭所有标签页:点击此图标会关闭 Cloud Shell。每次关闭 Cloud Shell 时,虚拟机将被回收,所有机器上下文都将丢失。但是,在下次启动 Cloud Shell 时,您仍然可以使用存储在主目录中的数据。
使用 Cloud Shell 设置此任务所用的环境变量
在 Cloud Shell 中,使用以下命令定义此任务中使用的环境变量。
- 将 [BUCKET_NAME] 替换为任务 1 中第一个存储桶的名称。
- 将 [BUCKET_NAME_2] 替换为您选择的一个全局唯一名称。
- 在 Cloud Shell 中,执行如下命令创建环境变量:
[BUCKET_NAME]
等整个占位符字符串替换为您选择的唯一名称,例如 MY_BUCKET_NAME_1=unique_bucket_name
。
将先前创建的凭据文件移动到 Cloud Shell 中
在前面的任务中,您在创建首个 Cloud IAM 服务账号时下载了一个 JSON 编码的凭据文件。
- 在您的本地工作站上,找到您刚刚下载的 JSON 密钥并将该文件重命名为
credentials.json
- 在 Cloud Shell 中,点击 Cloud Shell 工具栏中的三点状菜单图标 (),显示更多选项。
- 点击上传,从本地机器上选择
credentials.json
文件。 - 点击打开。
- 点击上传以将
credentials.json
传输到 Cloud Shell 虚拟机。 - 点击 X 图标关闭文件上传弹出式窗口。
- 在 Cloud Shell 中,输入 ls 并按下 ENTER 键,确认该文件已上传。
创建第二个 Cloud Storage 存储桶并在 Google Cloud 控制台中确认
您可以使用 gcloud storage
和 gsutil
命令,通过命令行对 Cloud Storage 执行操作。
此任务中,您将在 Cloud Shell 中使用 gcloud storage
命令。
- 在 Cloud Shell 中,使用
gcloud storage
命令创建存储桶:
在系统提示时点击授权。
- 在 Google Cloud 控制台的导航菜单 () 中,依次点击 Cloud Storage > 存储桶,或点击刷新(如果您已在 Cloud Storage 页面中)。
第二个存储桶应该显示在存储桶列表中。
使用 gcloud 命令行创建第二个虚拟机
- 在 Cloud Shell 中执行以下命令,列出给定区域内的所有可用区:
- 从列表的第一列中选择一个可用区。请注意,Google Cloud 可用区名称为其区域名称后面加上一个连字符和一个字母。
您可以选择任务 1 中第一个虚拟机使用的可用区,也可以选择其他可用区。
- 执行以下命令,将您选择的可用区存储在一个环境变量中。
将 [ZONE]
替换为您选择的可用区名称:
- 执行以下命令,将该可用区设置为默认可用区:
- 执行以下命令,将名称存储在用于创建虚拟机的环境变量中。第二个虚拟机名为
second-vm
:
- 在本任务中之前设置的默认可用区中创建一个虚拟机,使用新的环境变量来分配虚拟机名称:
- 列出项目中的虚拟机实例:
您将在列表中看到新创建的虚拟机和第一个虚拟机。
-
在 Google Cloud 控制台的导航菜单 () 中,点击 Compute Engine > 虚拟机实例。就像
gcloud compute instances list
的输出那样,您将看到您创建的两个虚拟机。 -
查看 External IP 列。请注意,您创建的第一个虚拟机的外部 IP 地址显示为一个链接(如果需要,可点击隐藏信息面板按钮显示“外部 IP”列)。由于您将这个虚拟机的防火墙配置为允许 HTTP 流量,因此 Google Cloud 控制台才提供链接。
-
点击首个虚拟机的外部 IP 列中的链接。浏览器将在一个新的浏览器标签页中显示“连接被拒绝”消息。出现此消息的原因是,尽管有一个打开的防火墙端口让 HTTP 流量传入虚拟机,但没有正在运行的 Web 服务器。关闭刚刚打开的浏览器标签页。
使用 gcloud 命令行创建第二个服务账号
- 在 Cloud Shell 中,执行如下命令以创建新的服务账号:
- 在 Google Cloud 控制台的导航菜单 () 中,点击 IAM 和管理 > 服务账号。
点击检查我的进度以验证是否完成了以下目标。
- 在 Cloud Shell 中执行以下命令,为第二个服务账号授予
Viewer
角色:
GOOGLE_CLOUD_PROJECT
是一个在 Cloud Shell 中自动填充的环境变量,设置为当前上下文的项目 ID。
-
在 Google Cloud 控制台的导航菜单 () 中,点击 IAM 和管理 > IAM。
-
您将看到列为
Viewer
角色一员的新服务账号test-service-account2
。
任务 3. 在 Cloud Shell 中使用 Cloud Storage
将文件下载到 Cloud Shell 并将其复制到 Cloud Storage
- 将一张猫的图片从 Google 提供的 Cloud Storage 存储桶复制到 Cloud Shell:
- 将该文件复制到您之前创建的首个存储桶内:
- 将该文件从第一个存储桶复制到第二个存储桶:
- 在 Google Cloud 控制台的导航菜单 () 中,点击 Cloud Storage > 存储桶,选择您创建的两个存储桶并确认它们都包含
cat.jpg
文件。
为 Cloud Storage 对象设置访问控制列表
-
如需获得分配给
cat.jpg
的默认访问权限列表(当您将该图片上传到 Cloud Storage 存储桶时),请执行以下两条命令。 -
首先,在 Cloud Shell 中执行以下命令:
输出应该类似于下面的示例,但具体数字有所不同。此输出显示,任何具有项目的 Owner
、Editor
或 Viewer
角色的人都具有访问权限(Owner 和 Editor 具有 OWNER
访问权限,Viewer 具有 READER
访问权限)。
- 如需将对象更改为仅限私密访问,请执行如下命令:
- 如需验证分配给
cat.jpg
的新 ACL,请执行以下两条命令:
输出应类似于以下示例。
现在,只有对象的原创建者(您的实验账号)拥有 OWNER
访问权限。
在 Cloud Shell 中以服务账号身份进行身份验证
- 在 Cloud Shell 中,执行如下命令查看当前配置:
您应该看到如下例所示的输出。在输出中,可用区应该是您在任务 2 中创建第二个虚拟机时设置的可用区。账号和项目应该与您的 Qwiklabs 实验凭据一致。
- 在 Cloud Shell 中执行以下命令,通过下载到本地机器然后上传到 Cloud Shell 的凭据 (
credentials.json
),将通过身份验证的用户更改为在前面的任务中创建的第一个服务账号:
Cloud Shell 现在以 test-service-account
身份通过了身份验证。
- 如需验证活跃账号,请执行如下命令:
您应该看到如下例所示的输出。活跃账号现已设置为 test-service-account
服务账号。
- 如需验证 Cloud Shell 中已获授权的账号列表,请执行如下命令:
您应该看到如下例所示的输出。
- 如需确认当前账号 (
test-service-account
) 无法访问您创建的第一个存储桶中的cat.jpg
文件,请执行如下命令:
由于您之前在此任务中将有权访问该文件的角色限制为 Owner,因此您应该看到如下例所示的输出。
输出
- 确认当前账号 (
test-service-account
) 可以访问您创建的第二个存储桶中的cat.jpg
文件:
由于没有限制对该文件的访问权限,您应该看到如下例所示的输出。
- 如需切换到实验账号,请执行如下命令,将 [USERNAME] 替换为实验说明页面左侧 Qwiklabs 连接详情窗格中提供的用户名:
- 如需确认您可以访问存储桶 [BUCKET_NAME](您创建的第一个存储桶)中的
cat.jpg
文件,请执行如下命令:
您应该看到如下例所示的输出。在对象访问权限控制列表 (ACL) 转换为不公开后,创建存储桶和对象的实验账号仍然是 Owner 角色,因此实验账号依然可以访问该对象。
- 让所有人(包括未通过身份验证的用户)都能读取第一个 Cloud Storage 存储桶:
-
在 Cloud 控制台的导航菜单 () 中,点击 Cloud Storage > 存储桶。
-
选择您创建的具有相应项目 ID 的第一个存储桶。请注意
cat.jpg
文件有一个Public link
(公开链接)。 -
点击复制网址以复制该链接。
-
在无痕模式下打开新的浏览器标签页,将该链接粘贴到浏览器地址栏。您会看到一张猫的照片,请勿关闭该浏览器标签页。
点击检查我的进度以验证是否完成了以下目标。
任务 4. 探索 Cloud Shell 编辑器
在此任务中,您将探索如何使用 Cloud Shell 代码编辑器。
打开 Cloud Shell 编辑器
- 在 Cloud Shell 中,点击打开编辑器图标 (),然后点击 Open in a new window(在新窗口中打开)链接。
浏览器中会打开一个显示 Cloud Shell 编辑器的新标签页。Google Cloud 控制台和 Cloud Shell 仍在原标签页中。您可以点击标签页,在 Cloud Shell 和代码编辑器之间切换。
- 在 Cloud Shell 编辑器中,点击菜单,然后选择文件 > 打开文件夹。
- 点击确定。
文件夹打开后,左侧窗格会显示文件和目录列表。
- 在 Google Cloud 控制台标签页中,点击打开终端,然后在 Cloud Shell 中执行如下命令,克隆
git
代码库:
orchestrate-with-kubernetes
文件夹将出现在 Cloud Shell 编辑器窗口的左侧窗格中。
- 在 Cloud Shell 中,执行如下命令创建 test 目录:
test
文件夹现在显示在 Cloud Shell 编辑器窗口的左侧窗格中。
- 在 Cloud Shell 编辑器中,点击
orchestrate-with-kubernetes
左侧的箭头展开该文件夹。
-
在左侧窗格中,点击
cleanup.sh
文件,在 Cloud Shell 编辑器窗口的右窗格中打开它。 -
在
cleanup.sh
文件的最后一行添加以下文本:
- 在 Cloud Shell 中,执行以下命令切换目录并显示
cleanup.sh
的内容:
-
确认
cat cleanup.sh
的输出包含您添加的文本行。 -
在 Cloud Shell 代码编辑器中,右键点击
orchestrate-with-kubernetes
文件夹,然后选择新建文件。 -
将文件命名为 index.html。
-
点击保存。
-
在右侧窗格中,粘贴如下 HTML 文本:
- 将字符串
REPLACE_WITH_CAT_URL
替换为先前任务中猫图片的网址。该网址如下所示:
-
在导航菜单 () 中,点击 Compute Engine > 虚拟机实例。
-
在您的 first-vm 所在的行中,点击 SSH 按钮。
-
在虚拟机上打开的 SSH 登录窗口中,安装
nginx
Web 服务器:
Y
继续。- 在 Cloud Shell 窗口中,将您使用 Cloud Shell 编辑器创建的 HTML 文件复制到虚拟机:
- 在虚拟机的 SSH 登录窗口中,将 HTML 文件从主目录复制到
nginx
Web 服务器的文档根目录:
点击检查我的进度以验证是否完成了以下目标。
-
在导航菜单 () 中,点击 Compute Engine > 虚拟机实例。
-
点击外部 IP 列中您的 first-vm 的链接。一个新的浏览器标签页即会打开,其中的网页将显示这张猫图片。
结束实验
完成实验后,请点击结束实验。Google Cloud Skills Boost 会移除您使用过的资源并为您清理帐号。
系统会提示您为实验体验评分。请选择相应的星级数,输入评论,然后点击提交。
星级数的含义如下:
- 1 颗星 = 非常不满意
- 2 颗星 = 不满意
- 3 颗星 = 一般
- 4 颗星 = 满意
- 5 颗星 = 非常满意
如果您不想提供反馈,可以关闭该对话框。
如果要留言反馈、提出建议或做出更正,请使用支持标签页。
版权所有 2020 Google LLC 保留所有权利。Google 和 Google 徽标是 Google LLC 的商标。其他所有公司名和产品名可能是其各自相关公司的商标。