如何使用称为Vagrant的命令行工具来构建自己的验证环境

我叫伊藤,是一名基础设施工程师。
众所周知,你不能随意改动客户的环境。
通常情况下,你会准备一个类似的测试环境并在那里进行测试,但如果
你擅自改动生产环境,一旦出现问题,你就不配做基础设施工程师了!
这次我想介绍的工具
Vagrant 它是一款可以让你轻松创建虚拟测试环境的工具,而设置虚拟测试环境可能非常麻烦!
Vagrant是什么?
Vagrant 是一个命令行工具,专门用于高效地创建和运行虚拟机 (VM) 环境,并可与 VirtualBox、VMware 和 AWS (EC2) 等各种虚拟化软件协同工作。
这次我们将使用 VirtualBox 安装 Vagrant。
程序
我们来安装 Vagrant。
安装 VirtualBox
Vagrant 需要名为 VirtualBox 的软件,该软件可以在操作系统上运行虚拟操作系统。
请从以下网站下载 VirtualBox:
下载 – Oracle VM VirtualBox

如果您按照安装程序中的说明操作,应该不会有问题。
如果您对安装过程有任何疑问,请参阅以下网站:
在 Windows 上安装 VirtualBox | VirtualBox Mania
安装 Vagrant
接下来,安装 Vagrant。
您可以从以下网站下载:
下载 - HashiCorp 的 Vagrant

与 VirtualBox 一样,如果您不确定安装步骤,请参考以下网站:
如何在 Windows 上安装 Vagrant | WEB ARCH LABO
安装完成后,尝试在命令提示符下输入以下命令。
此时应该会显示 Vagrant 版本。
C:\Users\test>vagrant --version Vagrant 1.7.4
尝试设置虚拟环境
让我们实际使用 Vagrant 来设置虚拟环境。Vagrant
会下载一个名为“box”的磁盘镜像,并
根据配置文件将 box 文件创建为虚拟环境。
您可以从以下来源获取 Box 文件:
官方: Discover Vagrant Boxes | Atlas by HashiCorp
: Vagrant 基础 box 列表 - Vagrantbox.es。
实际上,您可能会更频繁地使用非官方的 vagrantbox.es。
顺便一提,你也可以创建自己的文件盒。
首先,下载 box 文件。
vagrant box add <box name> <box URL>
它看起来大概是这样的。下载名为 centos70 的 centos7 box 文件。
$ vagrant box add centos70 https://github.com/tommy-muehle/puppet-vagrant-boxes/releases/download/1.1.0/centos-7.0-x86_64.box ==> box: 未检测到 Box 文件作为元数据。直接添加... ==> box: 为提供程序添加 box 'centos70' (v0) box: 下载:https://github.com/tommy-muehle/puppet-vagrant-boxes/releases/download/1.1.0/centos-7.0-x86_64.box box: ==> box: 已成功为 'virtualbox' 添加 box 'centos70' (v0)!
检查该软件包是否已下载。
$ vagrant box list centos70 (virtualbox, 0)
您可以确认已下载名为“centos70”的镜像文件。
接下来,根据虚拟机镜像创建一个定义文件。
该定义文件将用于启动虚拟服务器。
$ vagrant init centos70 一个 `Vagrantfile` 文件已放置在此目录中。现在,您可以运行 `vagrant up` 来启动您的第一个虚拟环境了!请阅读 Vagrantfile 中的注释以及 `vagrantup.com` 上的文档,以了解更多关于使用 Vagrant 的信息。.
将在当前目录下创建一个名为“Vagrantfile”的定义文件。
通过配置此定义文件,您可以设置各种参数并启动虚拟服务器。
现在,我们终于可以启动虚拟服务器了。
它将通过读取 Vagrantfile 中的设置来启动。
$ vagrant up 正在使用 'virtualbox' 提供程序启动虚拟机 'default'... ==> default: 正在导入基础镜像 'centos70'... ==> default: 正在匹配 NAT 网络的 MAC 地址... ==> default: 正在设置虚拟机名称:centos7_default_1455040381652_22475 ==> default: 正在清除之前设置的端口转发... ==> default: 正在清除之前设置的网络接口... ==> default: 正在根据配置准备网络接口... default: 适配器 1:nat ==> default: 正在转发端口... default: 22 => 2222(适配器 1) ==> default: 正在启动虚拟机... ==> default: 正在等待虚拟机启动。这可能需要几分钟时间... default: SSH 地址:127.0.0.1:2222 default: SSH 用户名:vagrant default: SSH 认证方式:私钥 default: 警告:连接超时。正在重试... 默认:警告:连接超时。正在重试... 默认:默认:检测到 Vagrant 不安全密钥。Vagrant 将自动将其替换为新生成的密钥对,以提高安全性。默认:默认:正在将生成的公钥插入虚拟机... 默认:如果虚拟机中存在不安全密钥,则将其移除... 默认:密钥已插入!正在使用新的 SSH 密钥断开连接并重新连接... ==> 默认:虚拟机已启动并准备就绪! ==> 默认:正在检查虚拟机中的 Guest Additions... ==> 默认:正在挂载共享文件夹... 默认:/vagrant => D:/system/cygwin64/home/itou/centos7
我们来尝试连接。
$ vagrant ssh 上次登录:2015年5月30日星期六 12:27:44 来自 10.0.2.2 欢迎使用您的 Vagrant 构建的虚拟机。[vagrant@localhost ~]$
完毕!
除了上述命令外,以下是一些常用命令:
#停止 Vagrant vagrant halt #重新加载 Vagrantfile(重启) vagrant reload #销毁 Vagrant(丢弃已创建的虚拟服务器) vagrant destroy #检查 Vagrant 状态 vagrant status
概括
就是这样,使用 Vagrant 构建测试环境的简单方法!
最耗时的部分只是下载 box 文件。
我认为贵公司服务器上应该有默认设置。
您也可以创建一个包含这些设置的虚拟环境的 box 文件,这样就
无需为每个测试环境执行相同的操作。
此外,使用 Vagrantfile
可以轻松设置端口转发、私有 IP 地址并启动多个虚拟环境。
如果您能掌握这些功能,即使是复杂的虚拟环境也能轻松构建。
我们希望您能使用 Vagrant 来享受构建出色测试环境的乐趣!
如果您想咨询云专家
在 Beyond,我们利用自成立以来作为多云集成商和托管服务提供商 (MSP) 培养的技术能力,使用 AWS、GCP、Azure 和 Oracle 等各种云/服务器平台进行设计、构建和迁移云我去了那儿。
我们提供定制的云/服务器环境,根据客户所需的系统和应用程序的规格和功能进行优化,因此如果您对云感兴趣,请随时与我们联系。
● 云/服务器设计/建设
● 云/服务器迁移/迁移
● 云/服务器运维、监控(全年365天、每天24小时)
0