创建一个虚拟机实例(2)

Compute Engine

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

执行的操作

  1. 使用 Cloud Console 创建虚拟机。

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

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

激活 Google Cloud Shell

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

  1. 在 GCP Console 右上角的工具栏中,点击“打开 Cloud Shell”按钮。

  2. 点击继续。

配置和连接到环境需要一些时间。如果您连接成功,即表示您已通过身份验证,且相关项目的 ID 会被设为 PROJECT_ID。

通过此命令列出有效的帐号名称:

gcloud auth list

输出:

Credentialed accounts:
 - <我的帐号>@<我的域名>.com (active)

//输出示例:
Credentialed accounts:
 - google1623327_student@qwiklabs.net

通过此命令列出项目 ID:

gcloud config list project

输出:

[core]
project = <项目 ID>
content_copy

//输出示例:
[core]
project = qwiklabs-gcp-44776a13dea667a6

Task1:通过 Cloud Console 创建新实例

通过 Cloud Console 使用 Compute Engine 新建预定义类型的虚拟机。

  1. 在 Cloud Console 的导航菜单 () 中,点击 :Compute Engine > VM Instance(虚拟机实例)
    首次初始化可能需要一分钟时间。

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

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

项目Value其他信息
名称gcelab虚拟机实例的名称
区域us-central1(爱荷华)有关区域的更多信息,请参阅区域和可用区。
可用区us-central1-f注意:请记住您选择的可用区,稍后会用到它。
系列N1系列名称
机器类型2 个 vCPU这是一个 n1-standard-2、双 CPU、7.5GB RAM 实例。机器类型有多种,从微型实例类型,到 32 核/208GB RAM 实例类型,不一而足。注意:新项目有默认的资源配额,这可能会限制 CPU 核心的数量。在此实验之外处理项目时,您可以请求获得更多资源。
启动磁盘新的 10 GB 平衡永久性磁盘 操作系统映像:Debian GNU/Linux 10 (buster)有多种映像可供选择,包括 Debian、Ubuntu、CoreOS,以及 Red Hat Enterprise Linux 和 Windows Server 等付费映像。
防火墙允许 HTTP 流量请选择此选项,以便访问您后续安装的网络服务器。注意:这将自动创建相应的防火墙规则来允许 HTTP 流量通过端口 80。
  1. 点击创建。
    新的虚拟机应该会在 1 分钟左右创建完毕。届时,该虚拟机就会出现在虚拟机实例页面中。

  2. 要使用 SSH 连接至该虚拟机,请点击该虚拟机所在行中的 SSH。
    这样即可从您的浏览器中直接启动 SSH 客户端。

Task2:安装 NGINX 网络服务器

NGINX 网络服务器是全球最受欢迎的网络服务器之一,可用来为您的虚拟机建立连接。

  1. 如需获取 SSH 终端的 root 访问权限,请运行以下命令:
sudo su -
  1. 以 root 用户的身份更新您的操作系统:
apt-get update

预期输出:

Get:1 http://security.debian.org stretch/updates InRelease [94.3 kB]
	3.	Ign http://deb.debian.org strech InRelease
	4.	Get:2 http://deb.debian.org strech-updates InRelease [91.0 kB]
	5.	...
  1. 安装 NGINX:
apt-get install nginx -y

预期输出:

Reading package lists... Done
	7.	Building dependency tree
	8.	Reading state information... Done
	9.	The following additional packages will be installed:
	10.	...
  1. 确认 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;
	12.	www-data  2331  0.0  0.0 159864  3204 ?        S    14:06   0:00 nginx: worker process
	13.	www-data  2332  0.0  0.0 159864  3204 ?        S    14:06   0:00 nginx: worker process
	14.	root      2342  0.0  0.0  12780   988 pts/0    S+   14:07   0:00 grep nginx
  1. 如需查看网页,可以返回 Cloud Console 并点击您虚拟机所在行中的External IP 链接;也可打开一个新的浏览器窗口或标签页,将此外部 IP 值添加至

    http://EXTERNAL_IP/。

Task3:使用 gcloud 创建新实例

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

注意:如果您以后您希望在自己的机器上尝试此操作,可参阅 gcloud 命令行工具指南。

  1. 在 Cloud Shell 中,使用 gcloud 运行以下命令行,创建一个新的虚拟机实例:
gcloud compute instances create gcelab2 --machine-type n1-standard-2 --zone us-central1-f

预期输出:

Created [...gcelab2].
	2.	NAME     ZONE           MACHINE_TYPE  ...    STATUS
	3.	gcelab2  us-central1-f  n1-standard-2 ...    RUNNING

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

  • 最新的 Debian 10 (buster) 映像。
  • n1-standard-2 机器类型。

在本实验中,您可以任选一种其他机器类型 n1-highmem-4n1-highcpu4 在 Qwiklabs 之外处理项目时,您还可以指定自定义机器类型。
一个与此实例同名的 root 永久性磁盘;该磁盘会自动挂接到此实例。

  1. 如需查看所有默认值,请运行以下命令:
gcloud compute instances create --help

注意:如果您始终在一个区域/可用区内工作,且不想每次都附加 --zone 标志,则可以设置 gcloud 使用的默认区域和可用区。为此,请运行以下命令:gcloud config

set compute/zone ...
gcloud config set compute/region ...
  1. 要退出 help,请按 CTRL + C 键。

  2. 在 Cloud Console 的导航菜单 中,点击 Compute Engine > VM Instance(虚拟机实例)。 系统应该会显示您新建的 2 个实例。

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

gcloud compute ssh gcelab2 --zone us-central1-f

预期输出:

WARNING: The public SSH key file for gcloud does not exist.
	8.	WARNING: The private SSH key file for gcloud does not exist.
	9.	WARNING: You do not have an SSH key for gcloud.
	10.	WARNING: [/usr/bin/ssh-keygen] will be executed to generate a key.
	11.	This tool needs to create the directory
	12.	[/home/gcpstaging306_student/.ssh] before being able to generate SSH
	13.	Keys.
  1. 输入 Y 以继续。
Do you want to continue? (Y/n)
  1. 按 ENTER 进入密码部分,将密码留空。
    Generating public/private rsa key pair.

  2. Enter passphrase (empty for no passphrase)

  3. 建立连接后,退出远程 shell 即可断开与 SSH 的连接:

exit
创建虚拟机是开发、测试和学习不同操作系统环境的重要手段。以下是在主流平台(VMware、VirtualBox 和云服务)上创建虚拟机的详细步骤和注意事项。 ### 在 VMware 上创建虚拟机 VMware 提供了两种主要产品:**VMware Workstation Player**(适用于 Windows 和 Linux)和 **VMware Fusion**(适用于 macOS)。以下是创建虚拟机的基本流程: 1. 启动 VMware,选择“创建虚拟机”。 2. 选择安装方式: - 使用 ISO 镜像文件(推荐) - 或者使用物理光驱 3. 选择客户操作系统类型及其版本(如 Windows 10 x64)。 4. 设置虚拟机名称和存储位置。 5. 分配磁盘空间,默认为动态扩展,也可选择固定大小。 6. 自定义硬件(可选),包括内存、处理器数量、网络适配器等。 7. 点击“完成”,进入安装操作系统阶段。 在安装过程中,系统会引导你进行操作系统的常规安装流程,如同在真实硬件上安装一样[^2]。 --- ### 在 VirtualBox 上创建虚拟机 Oracle VirtualBox 是一个开源的虚拟化平台,支持 Windows、macOS、Linux 和 Solaris。以下是创建虚拟机的步骤: 1. 打开 VirtualBox,点击“新建”按钮。 2. 输入虚拟机名称,并选择操作系统类型及版本(例如 Microsoft Windows / Windows 10 x64)。 3. 分配内存大小,建议至少 2GB 以上以保证运行流畅。 4. 创建虚拟硬盘,选择“现在创建虚拟硬盘”,格式通常选择 VDI(VirtualBox 默认格式)。 5. 选择动态分配或固定大小,设置磁盘容量。 6. 虚拟机创建完成后,右键点击该虚拟机并选择“设置” > “存储” > “控制器: IDE” > 添加光盘图标,选择 ISO 文件作为启动介质。 7. 返回主界面,点击“启动”开始安装操作系统[^2]。 --- ### 在云服务创建虚拟机(以 AWS EC2 为例) 云平台如 Amazon Web Services (AWS)、Microsoft Azure 和 Google Cloud Platform (GCP) 提供了基于 Web 的虚拟机创建流程,适合远程部署和生产环境使用。以 AWS EC2 为例: 1. 登录 AWS 控制台,进入 EC2 服务。 2. 点击“启动实例”。 3. 选择 AMI(Amazon Machine Image),即预配置的操作系统模板,如 Ubuntu、Windows Server、Red Hat 等。 4. 选择实例类型(如 t2.micro 免费层级适用)。 5. 配置实例详细信息(如子网、自动分配公网 IP 等)。 6. 添加存储,默认为 8GB,可根据需求调整。 7. 设置标签(可选,用于资源管理)。 8. 配置安全组(防火墙规则),确保开放所需端口(如 HTTP 80、SSH 22)。 9. 审核并启动实例,下载密钥对(.pem 文件)以便后续连接。 10. 实例启动后,可通过 SSH(Linux)或远程桌面(Windows)连接使用[^4]。 --- ### 注意事项 - **性能优化**:根据用途合理分配 CPU、内存和磁盘资源,避免主机资源耗尽。 - **快照功能**:VMware 和 VirtualBox 支持创建快照,方便回滚到某个状态,适合开发与测试场景。 - **安全性**:在云环境中务必配置好安全组规则,防止未授权访问。 - **自动化工具**:可以使用 Packer 构建标准化镜像,Vagrant 管理虚拟机生命周期,提升效率和一致性[^4]。 --- ### 示例代码:使用 Vagrant 创建 VirtualBox 虚拟机 ```bash # 初始化 Vagrant 项目 vagrant init ubuntu/focal64 # 启动虚拟机 vagrant up # 进入虚拟机终端 vagrant ssh # 关闭虚拟机 vagrant halt # 删除虚拟机 vagrant destroy ``` --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值