检查点
Create a Compute Engine instance and add Nginx Server to your instance with necessary firewall rules.
/ 50
Create a new instance with gcloud.
/ 50
创建虚拟机 - Creating a Virtual Machine
GSP001
概览
借助 Compute Engine,您可以在 Google 基础架构上创建能运行各种不同操作系统(包括 Debian、Ubuntu、Suse、Red Hat、CoreOS 等多种 Linux 特色版本以及 Windows Server)的虚拟机。在一个运行速度快且性能极为稳定的系统上,可以运行数千个虚拟 CPU。
在本实操实验中,您将学习如何使用 Google Cloud 控制台和 gcloud
命令行创建各种不同类型的虚拟机实例。此外,还将学习如何将 NGINX 网络服务器连接至虚拟机。
在实验过程中,虽然可以轻松地将命令复制粘贴至相应位置,但我们建议您还是自己手动输入命令,这样可以强化对核心概念的理解。
您将执行的操作
-
使用 Cloud 控制台创建虚拟机。
-
使用
gcloud
命令行创建虚拟机。 -
部署网络服务器并将其连接至虚拟机。
前提条件
-
熟悉标准的 Linux 文本编辑器(例如
vim
、emacs
或nano
)对完成本实验很有帮助。
设置
点击“开始实验”按钮前的注意事项
请阅读以下说明。实验是计时的,并且您无法暂停实验。计时器在您点击开始实验后即开始计时,显示 Google Cloud 资源可供您使用多长时间。
此实操实验可让您在真实的云环境中开展实验活动,免受模拟或演示环境的局限。我们会为您提供新的临时凭据,让您可以在实验规定的时间内用来登录和访问 Google Cloud。
为完成此实验,您需要:
- 能够使用标准的互联网浏览器(建议使用 Chrome 浏览器)。
- 完成实验的时间 - 请注意,实验开始后无法暂停。
如何开始实验并登录 Google Cloud 控制台
-
点击开始实验按钮。如果该实验需要付费,系统会打开一个弹出式窗口供您选择付款方式。左侧是实验详细信息面板,其中包含以下各项:
- 打开 Google 控制台按钮
- 剩余时间
- 进行该实验时必须使用的临时凭据
- 帮助您逐步完成本实验所需的其他信息(如果需要)
-
点击打开 Google 控制台。 该实验会启动资源并打开另一个标签页,显示登录页面。
提示:请将这些标签页安排在不同的窗口中,并将它们并排显示。
注意:如果您看见选择帐号对话框,请点击使用其他帐号。 -
如有必要,请从实验详细信息面板复制用户名,然后将其粘贴到登录对话框中。点击下一步。
-
请从实验详细信息面板复制密码,然后将其粘贴到欢迎对话框中。点击下一步。
重要提示:您必须使用左侧面板中的凭据。请勿使用您的 Google Cloud Skills Boost 凭据。 注意:在本次实验中使用您自己的 Google Cloud 帐号可能会产生额外费用。 -
继续在后续页面中点击以完成相应操作:
- 接受条款及条件。
- 由于该帐号为临时帐号,请勿添加帐号恢复选项或双重验证。
- 请勿注册免费试用。
片刻之后,系统会在此标签页中打开 Cloud 控制台。
激活 Cloud Shell
Cloud Shell 是一种装有开发者工具的虚拟机。它提供了一个永久性的 5GB 主目录,并且在 Google Cloud 上运行。Cloud Shell 提供可用于访问您的 Google Cloud 资源的命令行工具。
- 点击 Google Cloud 控制台顶部的激活 Cloud Shell 。
如果您连接成功,即表示您已通过身份验证,且当前项目会被设为您的 PROJECT_ID 环境变量所指的项目。输出内容中有一行说明了此会话的 PROJECT_ID:
gcloud
是 Google Cloud 的命令行工具。它已预先安装在 Cloud Shell 上,且支持 Tab 自动补全功能。
- (可选)您可以通过此命令列出活跃账号名称:
-
点击授权。
-
现在,输出的内容应如下所示:
输出:
- (可选)您可以通过此命令列出项目 ID:
输出:
输出示例:
gcloud
, in Google Cloud, refer to the gcloud CLI overview guide.
了解区域和可用区
某些 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 必须位于同一区域内。
任务 1. 通过 Cloud 控制台创建一个新实例
在这一部分中,您将学习如何通过 Cloud 控制台使用 Compute Engine 新建预定义类型的虚拟机。
-
在 Cloud 控制台的导航菜单 () 中,点击 Compute Engine > 虚拟机实例。
首次初始化可能需要一分钟时间。
-
如需创建新实例,请点击创建实例。
-
创建新实例时,您可以配置多种参数。在此实验中,需要用到以下参数:
字段 | 值 | 其他信息 |
---|---|---|
名称 | gcelab | 虚拟机实例的名称 |
区域 | 如需详细了解区域,请参阅 Compute Engine 指南中的区域和可用区。 | |
可用区 |
|
注意:请记住您选择的可用区,稍后会用到它。如需详细了解可用区,请参阅 Compute Engine 指南中的区域和可用区。 |
系列 | E2 | 系列名称 |
机器类型 | 2 个 vCPU | 这是一个 (e2-medium) 实例,提供 2 个 CPU 和 4GB RAM。有多种机器类型可供选择,从微型实例类型,到 32 核/208GB RAM 实例类型,不一而足。如需了解详情,请参阅 Compute Engine 指南中的机器系列简介。注意:新项目有默认的资源配额,这可能会限制 CPU 核心的数量。在此实验之外处理项目时,您可以请求获得更多资源。 |
启动磁盘 | 新的 10 GB 平衡永久性磁盘 操作系统映像:Debian GNU/Linux 11 (bullseye) | 有多种映像可供选择,包括 Debian、Ubuntu、CoreOS,以及 Red Hat Enterprise Linux 和 Windows Server 等付费映像。如需了解详情,请参阅操作系统文档。 |
防火墙 | 允许 HTTP 流量 | 请选择此选项,以便访问您后续安装的网络服务器。注意:这将自动创建相应的防火墙规则来允许 HTTP 流量通过端口 80。 |
-
点击创建。
新的虚拟机应该会在 1 分钟左右创建完毕。届时,该虚拟机就会出现在虚拟机实例页面中。
-
要使用 SSH 连接至该虚拟机,请点击该虚拟机所在行中的 SSH。
这样即可从您的浏览器中直接启动 SSH 客户端。
注意:如需详细了解如何使用 SSH 连接到实例,请参阅 Compute Engine 指南中的使用 Google 工具连接到 Linux 虚拟机。
任务 2. 安装 NGINX Web 服务器
现在,您需要安装 NGINX Web 服务器。这是全球最受欢迎的 Web 服务器之一,可用来为您的虚拟机建立连接。
-
更新操作系统:
sudo apt-get update 预期输出:
Get:1 http://security.debian.org stretch/updates InRelease [94.3 kB] Ign http://deb.debian.org strech InRelease Get:2 http://deb.debian.org strech-updates InRelease [91.0 kB] ... -
安装 NGINX:
sudo apt-get install -y nginx 预期输出:
Reading package lists... Done Building dependency tree Reading state information... Done The following additional packages will be installed: ... -
确认 NGINX 正在运行:
ps auwx | grep nginx 预期输出:
root 2330 0.0 0.0 159532 1628 ? Ss 14:06 0:00 nginx: master process /usr/sbin/nginx -g daemon on; master_process on; www-data 2331 0.0 0.0 159864 3204 ? S 14:06 0:00 nginx: worker process www-data 2332 0.0 0.0 159864 3204 ? S 14:06 0:00 nginx: worker process root 2342 0.0 0.0 12780 988 pts/0 S+ 14:07 0:00 grep nginx -
如需查看网页,可以返回 Cloud 控制台并点击您虚拟机所在行中的外部 IP 链接;也可打开一个新的浏览器窗口或标签页,将此外部 IP 值添加至
http://EXTERNAL_IP/
。系统应该会打开此默认网页:
如需检查您在本实验中的进度,请点击下方的检查我的进度。对勾表示您成功完成了相应任务。
创建一个 Compute Engine 实例,设置必要的防火墙规则,将 NGINX 服务器添加到您的实例。
任务 3. 使用 gcloud 创建一个新实例
除了 Cloud 控制台,您还可以使用 Google Cloud Shell 中预装的命令行工具 gcloud
来创建虚拟机实例。Cloud Shell 是一个基于 Debian 的虚拟机,其中预装了您需要的所有开发工具(gcloud
、git
等),并提供 5GB 的永久性主目录。
-
在 Cloud Shell 中,使用
gcloud
运行以下命令行,创建一个新的虚拟机实例:gcloud compute instances create gcelab2 --machine-type e2-medium --zone {{{project_0.startup_script.project_zone}}} 预期输出:
Created [...gcelab2]. NAME: gcelab2 ZONE: {{{project_0.startup_script.project_zone}}} MACHINE_TYPE: e2-medium PREEMPTIBLE: INTERNAL_IP: 10.128.0.3 EXTERNAL_IP: 34.136.51.150 STATUS: RUNNING 如需检查您在本实验中的进度,请点击下方的检查我的进度。对勾表示您成功完成了相应任务。
使用 gcloud 创建一个新实例。 该新实例采用以下默认值:
- 最新的 Debian 11 (bullseye) 映像。
-
e2-medium
机器类型。 - 一个与此实例同名的 root 永久性磁盘;该磁盘会自动挂接到此实例。
当您处理自己的项目时,可以指定自定义机器类型。
-
要查看所有默认值,请运行以下命令:
gcloud compute instances create --help 注意:如果您始终在同一个区域/可用区内工作,且不想每次都附加 --zone
标志,则可以设置gcloud
使用的默认区域和可用区。为此,请运行以下命令:
gcloud config set compute/zone ...
gcloud config set compute/region ...
-
要退出
help
,请按 CTRL + C 键。 -
在 Cloud 控制台的导航菜单中,点击 Compute Engine > 虚拟机实例。
系统应该会列出 2 个新实例。 -
您也可以通过
gcloud
使用 SSH 连接至实例。请务必添加您的可用区;若您已在全局范围内设置了该选项,则可省去--zone
标志:gcloud compute ssh gcelab2 --zone {{{project_0.startup_script.project_zone}}} __Expected output__: ```output WARNING: The public SSH key file for gcloud does not exist. WARNING: The private SSH key file for gcloud does not exist. WARNING: You do not have an SSH key for gcloud. WARNING: [/usr/bin/ssh-keygen] will be executed to generate a key. This tool needs to create the directory [/home/gcpstaging306_student/.ssh] before being able to generate SSH Keys. ``` -
输入 Y 以继续。
Do you want to continue? (Y/n) -
在口令部分连续按 ENTER,将口令留空。
Generating public/private rsa key pair. Enter passphrase (empty for no passphrase) -
建立连接后,退出远程 shell 即可断开与 SSH 的连接:
exit
任务 4. 知识测验
不妨参加我们的测验,检验您对 Google Cloud 知识的掌握情况。 (必要时请选择多个正确选项。)
恭喜!
Compute Engine 是 Google Cloud 基础架构即服务的基础。您已使用 Compute Engine 创建了虚拟机,现在即可将现有的服务器基础架构、负载均衡器和网络拓扑映射到 Google Cloud。
完成挑战任务
本自学实验已纳入 Google Cloud 基础知识挑战任务中。一项挑战任务就是一系列相关的实验,学习时按部就班地完成这些实验即可。欢迎注册参加此挑战任务,完成本实验后就能立即获得相应的积分。查看其他可参与的挑战任务。
参与下一项实验
欢迎您继续完成 Cloud Shell 和 gcloud 使用入门这项挑战任务,或查看下方列出的其他 Google Cloud Skills Boost 实验:
后续步骤/了解详情
- 如需大致了解虚拟机,请参阅虚拟机实例。
- 了解如何将虚拟机迁移到 Google Cloud。
- 详细了解子网和网络拓扑。
- 然后可以参考选择虚拟机,以确保正确选择虚拟机类型。
Google Cloud 培训和认证
…可帮助您充分利用 Google Cloud 技术。我们的课程会讲解各项技能与最佳实践,可帮助您迅速上手使用并继续学习更深入的知识。我们提供从基础到高级的全方位培训,并有点播、直播和虚拟三种方式选择,让您可以按照自己的日程安排学习时间。各项认证可以帮助您核实并证明您在 Google Cloud 技术方面的技能与专业知识。
上次更新手册的时间:2022 年 7 月 29 日
上次测试实验的时间:2022 年 7 月 29 日
版权所有 2024 Google LLC 保留所有权利。Google 和 Google 徽标是 Google LLC 的商标。其他所有公司名和产品名可能是其各自相关公司的商标。