声明:本文档是在Windows环境下快速搭建ansible学习环境的参考文档,如果你的操作系统是其他操作系统请结合自身具体情况,本文档的Vagrantfile和setup.sh文件均来自油管大佬 麦兜搞IT,仅供参考学习
一、下载虚拟机对应操作系统的官方镜像box
1)https://app.vagrantup.com/boxes/search
在这个链接下搜索Centos、Ubuntu等linux发行版的镜像box
2)官方对box镜像的相关描述:
Vagrant.configure("2") do |config|
config.vm.box = "centos/7"
end
根据上述官方文档的Vagrantfile的定义默认将box名称设为 centos/7,centos版本以官网最新的released version为准,目前是CentOS 7.8.2003
注意:这里执行下列代码会遇到,拉取镜像下载速度慢的问题
#从官方拉取box初始化
vagrant init centos/7
#根据Vagrantfile文件执行虚拟机的自动化安装
vagrant up
该命令会默认从国外网站拉取镜像,很慢,所以才有第一步先把镜像下载下来的操作
二、添加本地box到vagrant box list
#从本地添加镜像初始化
vagrant box add centos/7 本地镜像box名称
#检查box列表,会在本地成一个叫 centos/7的box
vagrant box list
三、通过vagrant up 命令执行Vagrantfile文件和setup.sh
这里转载油管大佬 麦兜搞IT 的github源代码,他的Vagrantfile和setup.sh文件里的代码已经配置好了三台供学习用的virtualbox虚拟机
#提前将配置好的Vagrantfile和setup.sh放入vagrant执行当前目录
vagrant up
下面将源码提供如下,仅供参考学习:
Vagrantfile文件(注:Vagrantfile文件采用ruby语言语法编写)
# -*- mode: ruby -*-
# vi: set ft=ruby :
Vagrant.require_version ">= 1.6.0"
#这里boxes是一个变量,用于后边ruby的each遍历循环,[]里为列表,{}里为字典键值对
boxes = [
{
:name => "ansible-controller",
:eth1 => "192.168.200.10",
:mem => "1024