Vagrant自动创建Vmware虚拟机

本文详细介绍了如何使用Vagrant自动化创建虚拟机,包括VirtualBox和VMware两种环境的配置。通过Vagrantfile编写配置,可以快速启动和同步虚拟机,避免手动创建的繁琐,特别适合大规模集群部署。
摘要由CSDN通过智能技术生成

使用vmware手动创建虚拟机确实很繁琐,如果我们需要初始一个100个节点的kubernetes集群,那肯定会神经衰落的。接下来介绍一种自动vagrant创建虚拟机的方法。

vagrant是一种自动供应(auto provisioning)全部虚拟机的工具, 和Docker采用完全不同层次的虚拟化策略(docker是只将运行时,依赖包打进容器,内核和宿主机是共用的)。

基本介绍

provider

vagrant可以使用不同厂商(vagrant provider)的实现供应虚拟机, 如virtualbox,vmware,甚至是docker. provider这个概念可以代表一切实例供应实现,甚至aws ecs,阿里云这些云供应商也可以作为provider.

一个厂商实现对应一个插件,比如要创建vmware provider的厂商实现,就要安装provider对应的插件(plugin).

vmware provider对应的插件叫做vmware-desktop

box

vagrant box就是类似docker镜像的概念,你把一个虚拟机打包成box,传送给其他人。其他人就可以创建一个完全一毛一样的虚拟机。这就是它官网所说的彻底杜绝"在我机器上是可以的(working on my machine)"甩锅行为。

安装vagrant

戳下面 https://www.vagrantup.com/downloads 下载

在这里插入图片描述
下载完重启机器。

windows 10

直接安装msi

centos 7

CentOS 7安装图形界面(必须),然后去下载virtual box rpm
可能会缺少依赖:

yum install compat-libstdc++-33 SDL
yum -y install gcc make perl
yum install kernel-devel
rcvboxdrv setup

需要安装内核模块,如果setup命令成功,日志类似这种:

vboxdrv.sh: Stopping VirtualBox services.
vboxdrv.sh: Starting VirtualBox services.
vboxdrv.sh: Building VirtualBox kernel modules.

使用virtualbox创建虚拟机

step 1. 启动virtualbox

virtualbox

step 2. 下载box

# 下载centos 7,选择virtualbox类型
https://app.vagrantup.com/centos/boxes/7

Step 3. Vagrantfile

编写Vagrantfile

Vagrant.configure("2") do |config|
  config.vm.box = "centos/7"
end

Vagrantfile同级目录启动实例:

vagrant up

你就可以看到virtualbox中增加了一个实例。

使用vmware创建虚拟机

step 1. 安装vmware provider插件vmware-desktop

我的环境是vmware workstation 15 pro. 安装相关插件

  1. 下载vmware-utility

  2. 下载vmware-desktop插件

vagrant plugin install vagrant-vmware-desktop

step 2. 下载box

这个下载时间有点长,我下载的centos 7的。

下载地址:https://app.vagrantup.com/centos/boxes/7

每个box有provider属性,下载对应provider的box.(此处为vmware-desktop)

在这里插入图片描述
本地安装box:

# vagrant box add box_name box_path
vagrant box add centos/7 CentOS-7-x86_64-Vagrant-2004_01.VMwareFusion.box

step 3. Vagrantfile

ruby语法,倒是不用学。

Vagrant.configure("2") do |config|
  config.vm.box = "centos/7"
end

初始化机器:

vagrant up --provider vmware_desktop

启动机器:

# vagrant up --provider vmware_desktop
Bringing machine 'default' up with 'vmware_desktop' provider...
==> default: Verifying vmnet devices are healthy...
==> default: Preparing network adapters...

==> default: Starting the VMware VM...
==> default: Waiting for the VM to receive an address...
==> default: Forwarding ports...
    default: -- 22 => 2222
==> default: Waiting for machine to boot. This may take a few minutes...
    default: SSH address: 127.0.0.1:2222
    default: SSH username: vagrant
    default: SSH auth method: private key
    default:
    default: Vagrant insecure key detected. Vagrant will automatically replace
    default: this with a newly generated keypair for better security.
    default:
    default: Inserting generated public key within guest...
    default: Removing insecure key from the guest if it's present...
    default: Key inserted! Disconnecting and reconnecting using new SSH key...
==> default: Machine booted and ready!
==> default: Configuring network adapters within the VM...
==> default: Rsyncing folder: /cygdrive/d/geoway/workbunch/vagrant-test/ => /vagrant

step 3. 连接机器

连接机器

$ vagrant ssh 

或者使用xshell

在这里插入图片描述
导入密钥,一般在工作目录的(含有VagrantFile的目录)的.vagrant\machines\default\vmware_desktop\private_key
根据xshell引导选择上述路径私钥导入进去。

Reference List

  1. https://www.vagrantup.com/docs/providers/vmware/boxes
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值