arrow_back

创建虚拟机 - Creating a Virtual Machine

登录 加入
欢迎加入我们的社区,一起测试和分享您的知识!
done
学习 700 多个动手实验和课程并获得相关技能徽章

创建虚拟机 - Creating a Virtual Machine

实验 40 分钟 universal_currency_alt 1 个积分 show_chart 入门级
info 此实验可能会提供 AI 工具来支持您学习。
欢迎加入我们的社区,一起测试和分享您的知识!
done
学习 700 多个动手实验和课程并获得相关技能徽章

GSP001

Google Cloud 自定进度实验

概览

借助 Compute Engine,您可以在 Google 基础架构上创建运行各种操作系统(包括 Debian、Ubuntu、Suse、Red Hat、CoreOS 等多种 Linux 版本以及 Windows Server)的虚拟机 (VM)。在一个运行速度快且性能极为稳定的系统上,可以运行数千个虚拟 CPU。

在本实操实验中,您将使用 Google Cloud 控制台和 Cloud Shell 中的 gcloud 命令行,创建多种机器类型的虚拟机实例。此外,您还将学习如何将 NGINX Web 服务器连接至虚拟机。

在实验过程中,虽然可以轻松地将命令复制粘贴至相应位置,但我们建议您还是自己手动输入命令,这样可以强化对核心概念的理解。

您将执行的任务

  • 使用 Cloud 控制台创建虚拟机。
  • 使用 gcloud 命令行创建虚拟机。
  • 部署 Web 服务器并将其连接至虚拟机。

前提条件

  • 熟悉标准的 Linux 文本编辑器,例如 vimemacsnano

设置和要求

点击“开始实验”按钮前的注意事项

请阅读以下说明。实验是计时的,并且您无法暂停实验。计时器在您点击开始实验后即开始计时,显示 Google Cloud 资源可供您使用多长时间。

此实操实验可让您在真实的云环境中开展实验活动,免受模拟或演示环境的局限。我们会为您提供新的临时凭据,让您可以在实验规定的时间内用来登录和访问 Google Cloud。

为完成此实验,您需要:

  • 能够使用标准的互联网浏览器(建议使用 Chrome 浏览器)。
注意:请使用无痕模式或无痕浏览器窗口运行此实验。这可以避免您的个人账号与学生账号之间发生冲突,这种冲突可能导致您的个人账号产生额外费用。
  • 完成实验的时间 - 请注意,实验开始后无法暂停。
注意:如果您已有自己的个人 Google Cloud 账号或项目,请不要在此实验中使用,以避免您的账号产生额外的费用。

如何开始实验并登录 Google Cloud 控制台

  1. 点击开始实验按钮。如果该实验需要付费,系统会打开一个弹出式窗口供您选择付款方式。左侧是实验详细信息面板,其中包含以下各项:

    • 打开 Google Cloud 控制台按钮
    • 剩余时间
    • 进行该实验时必须使用的临时凭据
    • 帮助您逐步完成本实验所需的其他信息(如果需要)
  2. 点击打开 Google Cloud 控制台(如果您使用的是 Chrome 浏览器,请右键点击并选择在无痕式窗口中打开链接)。

    该实验会启动资源并打开另一个标签页,显示登录页面。

    提示:请将这些标签页安排在不同的窗口中,并将它们并排显示。

    注意:如果您看见选择账号对话框,请点击使用其他账号
  3. 如有必要,请复制下方的用户名,然后将其粘贴到登录对话框中。

    {{{user_0.username | "<用户名>"}}}

    您也可以在实验详细信息面板中找到用户名

  4. 点击下一步

  5. 复制下面的密码,然后将其粘贴到欢迎对话框中。

    {{{user_0.password | "<密码>"}}}

    您也可以在实验详细信息面板中找到密码

  6. 点击下一步

    重要提示:您必须使用实验提供的凭据。请勿使用您的 Google Cloud 账号凭据。 注意:在本次实验中使用您自己的 Google Cloud 账号可能会产生额外费用。
  7. 继续在后续页面中点击以完成相应操作:

    • 接受条款及条件。
    • 由于该账号为临时账号,请勿添加账号恢复选项或双重验证。
    • 请勿注册免费试用。

片刻之后,系统会在此标签页中打开 Google Cloud 控制台。

注意:如需查看列有 Google Cloud 产品和服务的菜单,请点击左上角的导航菜单导航菜单图标

激活 Cloud Shell

Cloud Shell 是一种装有开发者工具的虚拟机。它提供了一个永久性的 5GB 主目录,并且在 Google Cloud 上运行。Cloud Shell 提供可用于访问您的 Google Cloud 资源的命令行工具。

  1. 点击 Google Cloud 控制台顶部的激活 Cloud Shell “激活 Cloud Shell”图标

如果您连接成功,即表示您已通过身份验证,且当前项目会被设为您的 PROJECT_ID 环境变量所指的项目。输出内容中有一行说明了此会话的 PROJECT_ID

Your Cloud Platform project in this session is set to YOUR_PROJECT_ID

gcloud 是 Google Cloud 的命令行工具。它已预先安装在 Cloud Shell 上,且支持 Tab 自动补全功能。

  1. (可选)您可以通过此命令列出活跃账号名称:
gcloud auth list
  1. 点击授权

  2. 现在,输出的内容应如下所示:

输出:

ACTIVE: * ACCOUNT: student-01-xxxxxxxxxxxx@qwiklabs.net To set the active account, run: $ gcloud config set account `ACCOUNT`
  1. (可选)您可以通过此命令列出项目 ID:
gcloud config list project

输出

[core] project = <project_ID>

输出示例

[core] project = qwiklabs-gcp-44776a13dea667a6 Note: For full documentation of gcloud, in Google Cloud, refer to the gcloud CLI overview guide.

了解区域和可用区

某些 Compute Engine 资源位于区域或可用区内。区域是指某一块地理位置,您可以在其中运行自己的资源。每个区域包含一个或多个可用区。例如,us-central1 区域表示美国中部的一个区域,该区域包含的可用区有 us-central1-aus-central1-bus-central1-cus-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 必须位于同一区域内。

请参阅 Compute Engine 页面中的“区域和可用区”文档,详细了解区域和可用区,并查看完整列表。

设置区域和可用区

  1. 设置本实验的项目区域:
gcloud config set compute/region {{{project_0.default_region | REGION}}}
  1. 为区域创建一个变量:
export REGION={{{project_0.default_region | REGION}}}
  1. 为可用区创建一个变量:
export ZONE={{{project_0.default_zone | Zone}}}

参阅“区域和可用区”文档了解详情。

注意:当您在自己的机器上运行 gcloud 时,不同会话的配置设置保持不变。但在 Cloud Shell 中,您需要为每个新会话或重新连接设置配置。

任务 1. 通过 Cloud 控制台创建一个新实例

在这一部分,您将通过 Cloud 控制台,使用 Compute Engine 创建新的预定义机器类型。

  1. 在 Cloud 控制台的导航菜单 (“导航菜单”图标) 中,点击 Compute Engine > 虚拟机实例

    首次初始化可能需要一分钟时间。

  2. 如需创建新实例,请点击创建实例

  3. 创建新实例时,您可以配置多种参数。在此实验中,需要用到以下参数:

字段 其他信息
名称 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 流量 请选择此选项,以便访问您后续安装的 Web 服务器。注意:这将自动创建相应的防火墙规则来允许 HTTP 流量通过端口 80。
  1. 点击创建

    新的虚拟机 gcelab 应该会在 1 分钟左右创建完毕。gcelab 创建完毕后,将出现在虚拟机实例页面的虚拟机实例列表中。

  2. 要使用 SSH 连接至该虚拟机,请点击实例名称 gcelab 右侧的 SSH

    这样即可从您的浏览器中直接启动 SSH 客户端。

    注意:如需详细了解如何使用 SSH 连接到实例,请参阅 Compute Engine 指南中的使用 Google 工具连接到 Linux 虚拟机

任务 2. 安装 NGINX Web 服务器

现在,您需要安装 NGINX Web 服务器。这是全球最受欢迎的 Web 服务器之一,可用来为您的虚拟机建立连接。

  1. 更新操作系统:

    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] ...
  2. 安装 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: ...
  3. 确认 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
  4. 如需查看网页,可以返回 Cloud 控制台并点击您虚拟机所在行中的外部 IP 链接;也可打开一个新的浏览器窗口或标签页,将此外部 IP 值添加至 http://EXTERNAL_IP/

    系统应该会打开此默认网页:

    默认 nginx 页面;欢迎使用 nginx!

    如需检查您在本实验中的进度,请点击下方的检查我的进度。对勾表示您成功完成了相应任务。

    创建一个 Compute Engine 实例,设置必要的防火墙规则,将 NGINX 服务器添加到您的实例。

任务 3. 使用 gcloud 创建一个新实例

使用 Google Cloud Shell 中预装的命令行工具 gcloud 而非 Cloud 控制台来创建虚拟机实例。Cloud Shell 是 Google Cloud 的一个互动式 shell 环境,其中预装了您需要的所有开发者工具(gcloudgit 等),并提供 5GB 的永久性主目录。

注意:如果您希望在自己的机器上尝试此操作,请参阅 gcloud 命令行工具指南
  1. 在 Cloud Shell 中,使用 gcloud 运行以下命令行,创建一个新的虚拟机实例:

    gcloud compute instances create gcelab2 --machine-type e2-medium --zone=$ZONE

    预期输出:

    Created [...gcelab2]. NAME: gcelab2 ZONE: {{{project_0.default_zone | Zone}}} MACHINE_TYPE: e2-medium PREEMPTIBLE: INTERNAL_IP: 10.128.0.3 EXTERNAL_IP: 34.136.51.150 STATUS: RUNNING

    如需检查您在本实验中的进度,请点击下方的检查我的进度。对勾表示您成功完成了相应任务。

    使用 gcloud 创建一个新实例。

    该新实例采用以下默认值:

    当您处理自己的项目时,可以指定自定义机器类型

  2. 要查看所有默认值,请运行以下命令:

    gcloud compute instances create --help 注意:如果您始终在同一个区域/可用区内工作,且不想每次都附加 --zone 标志,则可以设置 gcloud 使用的默认区域和可用区。

    为此,请运行以下命令:

    gcloud config set compute/zone ...

    gcloud config set compute/region ...

  3. 要退出 help,请按 CTRL + C 键。

  4. 在 Cloud 控制台的导航菜单中,点击 Compute Engine > 虚拟机实例
    系统应该会列出您创建的两个新实例。

  5. 您也可以通过 gcloud 使用 SSH 连接至实例。请务必添加您的可用区;若您已在全局范围内设置了该选项,则可省去 --zone 标志:

    gcloud compute ssh gcelab2 --zone=$ZONE __Expected 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.
  6. 输入 Y 以继续。

    Do you want to continue? (Y/n)
  7. 在口令部分连续按 ENTER,将口令留空。

    Generating public/private rsa key pair. Enter passphrase (empty for no passphrase)
  8. 建立连接后,退出远程 shell 即可断开与 SSH 的连接:

    exit

任务 4. 知识测验

不妨参加我们的测验,检验您对 Google Cloud 知识的掌握情况。 (必要时请选择多个正确选项。)

恭喜!

Compute Engine 是 Google Cloud 基础架构即服务的基础。您已使用 Compute Engine 创建了虚拟机,现在即可将现有的服务器基础架构、负载均衡器和网络拓扑映射到 Google Cloud。

完成挑战任务

本自学实验已纳入 Google Cloud 基础知识挑战任务中。一项挑战任务就是一系列相关的实验,学习时按部就班地完成这些实验即可。欢迎注册参加此挑战任务,完成本实验后就能立即获得相应的积分。查看其他可参与的挑战任务

参与下一项实验

欢迎您继续参与挑战任务,下一项实验是 Cloud Shell 和 gcloud 入门,或者,您也可以查看以下推荐实验:

后续步骤/了解详情

Google Cloud 培训和认证

…可帮助您充分利用 Google Cloud 技术。我们的课程会讲解各项技能与最佳实践,可帮助您迅速上手使用并继续学习更深入的知识。我们提供从基础到高级的全方位培训,并有点播、直播和虚拟三种方式选择,让您可以按照自己的日程安排学习时间。各项认证可以帮助您核实并证明您在 Google Cloud 技术方面的技能与专业知识。

上次更新手册的时间:2023 年 9 月 13 日

上次测试实验的时间:2023 年 9 月 13 日

版权所有 2024 Google LLC 保留所有权利。Google 和 Google 徽标是 Google LLC 的商标。其他所有公司名和产品名可能是其各自相关公司的商标。

此内容目前不可用

一旦可用,我们会通过电子邮件告知您

太好了!

一旦可用,我们会通过电子邮件告知您