arrow_back

创建虚拟机 - Creating a Virtual Machine

加入 登录
Test and share your knowledge with our community!
done
Get access to over 700 hands-on labs, skill badges, and courses

创建虚拟机 - Creating a Virtual Machine

Lab 40 分钟 universal_currency_alt 1 个积分 show_chart 入门级
Test and share your knowledge with our community!
done
Get access to over 700 hands-on labs, skill badges, and courses

GSP001

Google Cloud 自定进度实验

概览

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

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

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

您将执行的操作

  • 使用 Cloud 控制台创建虚拟机。

  • 使用 gcloud 命令行创建虚拟机。

  • 部署网络服务器并将其连接至虚拟机。

前提条件

  • 熟悉标准的 Linux 文本编辑器(例如 vimemacsnano)对完成本实验很有帮助。

设置

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

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

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

为完成此实验,您需要:

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

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

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

    • 打开 Google 控制台按钮
    • 剩余时间
    • 进行该实验时必须使用的临时凭据
    • 帮助您逐步完成本实验所需的其他信息(如果需要)
  2. 点击打开 Google 控制台。 该实验会启动资源并打开另一个标签页,显示登录页面。

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

    注意:如果您看见选择帐号对话框,请点击使用其他帐号
  3. 如有必要,请从实验详细信息面板复制用户名,然后将其粘贴到登录对话框中。点击下一步

  4. 请从实验详细信息面板复制密码,然后将其粘贴到欢迎对话框中。点击下一步

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

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

片刻之后,系统会在此标签页中打开 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. 通过 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 流量 请选择此选项,以便访问您后续安装的网络服务器。注意:这将自动创建相应的防火墙规则来允许 HTTP 流量通过端口 80。
  1. 点击创建

    新的虚拟机应该会在 1 分钟左右创建完毕。届时,该虚拟机就会出现在虚拟机实例页面中。

  2. 要使用 SSH 连接至该虚拟机,请点击该虚拟机所在行中的 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 页面

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

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

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

除了 Cloud 控制台,您还可以使用 Google Cloud Shell 中预装的命令行工具 gcloud 来创建虚拟机实例。Cloud Shell 是一个基于 Debian 的虚拟机,其中预装了您需要的所有开发工具(gcloudgit 等),并提供 5GB 的永久性主目录。

注意:如果您希望在自己的机器上尝试此操作,可参阅 gcloud 命令行工具指南
  1. 在 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 创建一个新实例。

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

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

  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 > 虚拟机实例
    系统应该会列出 2 个新实例。

  5. 您也可以通过 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. ```
  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 Skills Boost 实验:

后续步骤/了解详情

Google Cloud 培训和认证

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

上次更新手册的时间:2022 年 7 月 29 日
上次测试实验的时间:2022 年 7 月 29 日

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