环境如何使用搭建生产vagrant(配置虚拟机启动环境笔者)「vagrant创建虚拟机」

分享一篇简短的实践文章,明天就是五一假期了,祝大家玩得开心。
解决的问题笔者需要部署一个 etcd 集群,并非使用 goreman 工具部署的伪集群。
为了与真实环境对等,需要用到三台机器,然而笔者手上只有一台主机,Centos 系统,配置为 8G 双核。
由此想到在单机 Centos 再启动虚拟机的想法。
环境准备vagrant 的使用需要结合 VirtualBox,我们我们准备这两个软件的安装源,以及用到的 centos7 镜像:#virtualboxhttps://www.virtualbox.org/wiki/Linux_Downloads#vagranthttps://www.vagrantup.com/downloads.html#centos7.boxhttp://cloud.centos.org/centos/7/vagrant/x86_64/images/笔者下载的是最新的版本,官网的下载速度实在慢(有需要可以联系笔者获取下载好的安装包),文件如下:$lsCentOS-7-x86_64-Vagrant-2002_01.VirtualBox.boxVirtualBox-6.1-6.1.6_137129_el7-1.x86_64.rpmvagrant_2.2.7_x86_64.rpm安装$yum-ylocalinstallVirtualBox-6.1-6.1.6_137129_el7-1.x86_64.rpmvagrant_2.2.7_x86_64.rpm如上的命令,即安装好 vagrant 和 VirtualBox。
初始化vagrant 的常用命令如下,用于管理boxes的命令,比如添加、删除等等。
此命令的功能主要通过以下子命令完成:#添加box文件,就是我们刚刚下载的镜像文件,添加后可以到处使用。
vagrantboxaddCentOS-7-x86_64-Vagrant-2002_01.VirtualBox.box--namecentos7#创建配置文件vagrantinitcentos7
初始化的步骤,会生成一个 Vagrantfile,即配置文件。
$vagrantinitcentos7A`Vagrantfile`hasbeenplacedinthisdirectory.Youarenowreadyto`vagrantup`yourfirstvirtualenvironment!PleasereadthecommentsintheVagrantfileaswellasdocumentationon`vagrantup.com`formoreinformationonusingVagrant.Vagrantfile 配置常用的配置如下所示:config.vm.box:该名称是再使用 vagrant init 中后面跟的名字config.vm.hostname:配置虚拟机主机名config.vm.network:这是配置虚拟机网络,由于比较复杂,我们其后单独讨论config.vm.synced_folder:除了默认的目录绑定外,还可以手动指定绑定config.ssh.username:默认的用户是vagrant,从官方下载的box往往使用的是这个用户名。
如果是自定制的box,所使用的用户名可能会有所不同,通过这个配置设定所用的用户名。
config.vm.provision:我们可以通过这个配置在虚拟机第一次启动的时候进行一些安装配置还有更详细的配置,参见:https://www.vagrantup.com/docs/vagrantfile/。
笔者使用的配置如下:Vagrant.configure("2")do|config|config.vm.box="centos7"config.vm.network"public_network",ip:"192.168.0.5"config.vm.provider"virtualbox"do|vb|#DisplaytheVirtualBoxGUIwhenbootingthemachinevb.gui=false#CustomizetheamountofmemoryontheVM:vb.memory="1024"endend可以看到,配置比较简单,使用桥接的方式指定了网络,设置关闭 gui,并限制内存为 1GB。
启动$vagrantupTheprovider'virtualbox'thatwasrequestedtobackthemachine'default'isreportingthatitisn'tusableonthissystem.Thereasonisshownbelow:VirtualBoxiscomplainingthatthekernelmoduleisnotloaded.Pleaserun`VBoxManage--version`oropentheVirtualBoxGUItoseetheerrormessagewhichshouldcontaininstructionsonhowtofixthiserror.参考,virtualbox-is-complaining-that-the-kernel-module-is-not-loaded。
原因是 vagrant 依赖 kernel-devel gcc make perl, 启动 kernel-devel ,最好按照 vagrant 的提示进行安装和正在使用内核版本一直的库。
通过uname查看内核版本:$uname-aLinuxaoho3.10.0-1062.1.2.el7.x86_64#1SMPMonSep3014:19:46UTC2019x86_64x86_64x86_64GNU/Linux因此我们需要安装相应的包:kernel-devel-3.10.0-1062.1.2.el7.x86_64.rpm在官网下载了对应的包,并安装。
启动 vagrant:#启动虚拟机vagrantup#进入虚拟机vagrantssh大功告成。

环境如何使用搭建生产vagrant(配置虚拟机启动环境笔者)
(图片来源网络,侵删)

联系我们

在线咨询:点击这里给我发消息