vagrant+virtualBox快速部署集群节点

原创阿虎
发布于:2020-09-27 
标签: 

简介

VirtualBox是一款开源虚拟机软件,能虚拟出window Linux等众多操作系统

Vagrant是一个基于Ruby的工具,提供基于命令和脚本的方式管理虚拟机,它会调用VirtualBox接口创建和管理虚拟机,Vagrant中有box(箱子)的概念,类似于docker中的镜像,通过box结合配置脚本就可实现虚拟机的自动化部署

在我们资源有限的情况下,通过Vagrant+VirtualBox结合可在单台机器上方便快速的搭建不同集群环境,例如在k8s的开发和测试环境上是非常有用的.

1. 安装VirtualBox

https://www.virtualbox.org/wiki/Downloads

2. 安装Vagrant

https://www.vagrantup.com/downloads

3. 单台安装

在线找到自己需要的box: centos/7
https://app.vagrantup.com/boxes/search

找到box下载地址拼接 providers/virtualbox.box
centos box下载地址:https://app.vagrantup.com/centos/boxes/7/versions/2004.01/providers/virtualbox.box

将下载的box添加到vagrant环境中

vagrant box add --name centos7 ./CentOS-7-x86_64-Vagrant-2004_01.VirtualBox.box

查看本地box列表

$ vagrant box list
centos7 (virtualbox, 0)

4 批量节点安装

演示安装三台centos7节点,node-1 node-2 node-3

5 vagrant常用命令

命令 说明
vagrant box add 添加box的操作
vagrant init 初始化box的操作,会生成vagrant的配置文件Vagrantfile
vagrant up 启动本地环境
vagrant ssh 通过 ssh 登录本地环境所在虚拟机
vagrant halt 关闭本地环境
vagrant suspend 暂停本地环境
vagrant resume 恢复本地环境
vagrant reload 修改了 Vagrantfile 后,使之生效(相当于先 halt,再 up)
vagrant destroy 彻底移除本地环境
vagrant box list 显示当前已经添加的box列表
vagrant destroy 彻底移除本地环境
vagrant box remove 删除相应的box
vagrant package 打包命令,可以把当前的运行的虚拟机环境进行打包
vagrant plugin 用于安装卸载插件
vagrant status 获取当前虚拟机的状态
vagrant global-status 显示当前用户Vagrant的所有环境状态

6 vagrant-scp 插件使用

完成虚拟机间的数据传送

7 vagrant中推荐文件共享方式

如果可能,我们建议使用NFS而不是VirtualBox共享文件夹。您还可以使用vagrant-sshfs插件,该插件与NFS不同,可在所有操作系统上使用

https://blog.centos.org/2020/05/updated-centos-vagrant-images-available-v2004-01/

https://www.vagrantup.com/docs/synced-folders/nfs