IT教程 ·

使用Vagrant部署虚拟分布式开发和测试环境

进阶之路 | 奇妙的Animation之旅

同步更新到笔者个人博客,可以接见我的博客检察原文:

竖立自动化设置开发环境

近来由于近来研讨和进修的关联,须要常常设置和搭建多个假造机构成的分布式体系。本来只是用假造机程序,比如说用Virtual box直接竖立假造机。假如只是偶然竖立假造机研讨的话,我以为直接运用Hyper-V或许Virtual box照样没问题的。然则这段时候须要常常批量竖立假造机,然后有大概会在开发或许测试完成后烧毁这些假造机。而且完成的假造机设置偶然须要牢固下来今后再运用。实在人人可以发明,这些需求,是可以用容器手艺来完成吗?然则容器手艺并不能竖立完全的VM,而且容器手艺通常是无状况的,用于运转微效劳运用。关于数据库和存储类的分布式运用。或许请求牢固存储的运用环境的搭建实在并不合适。

装置和设置Vagrant

Vagrant是用Ruby言语开发的多假造机(Multiple Hypervisors)自动化管理东西。Vagrant的最新版本是2.2.7。这个东西的装置异常简朴,装置包可以鄙人面的页面下载: 我是在自身的Windows操纵体系上装置的。运转装置程序,然后挑选好装置目次就可以入手下手了。Vagrant是一个敕令行东西,没有UI界面。所以装置完成后我们翻开PowerShell,或许装置的操纵体系的shell程序,输入以下敕令:

vagrant -v

我们就可以看到会显现版本号,我装置的是最新的2.2.7。假如一般那就应当没啥问题了。然后是装置假造机程序,在windows操纵体系上我们可以挑选Virtualbox,VMware workstation和Hyper-V。Hyper-V是windows自带的假造机程序,机能最好,不过我照样不引荐运用。主要照样由于Hyper-V自身功用和设想还不太成熟,假如删除一台假造机,相干的硬盘等资本不会同步删除,还须要手工清算。而且在默许设置下对CPU和内存的斲丧比较大。固然最主要的要素照样Vagrant的Box库中供应的支撑HyperV的box照样比较少,更新也不实时。VMWare Workstation在Windows的兼容性不太好,运用起来总觉得不是迥殊随手,而且还总是提醒升级到付费的Pro版本,横竖就是用户体验不大好。因而,综合起来,我比较引荐单机VM开发测试环境采纳Virtualbox。

接下来就是从Oracle的网站上下载VirtualBox和装置了,这个历程也很简朴和直观,就不细致描述了。装置完Virtual Box后,windows体系的用户请一定要封闭HyperV功用,以下图所示:

使用Vagrant部署虚拟分布式开发和测试环境 IT教程 第1张

也可以在Powershell敕令行输入下面的敕令(须要管理员权限)

Disable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V-All 

#### 装置Vagrant插件vagrant share

假如愿望可以把设置好的假造机环境同享给其他人演示,或许和其他人协作。须要装置vagrant share插件,可以运用下面的敕令:

vagrant plugin install vagrant-share

须要衔接Vagrant在国外的效劳器,所以装置会须要一段时候,守候一会儿后就会完成了。这个功用须要和内网穿透效劳一同运用。

使用Vagrant部署虚拟分布式开发和测试环境 IT教程 第2张

Vagrant的基础运用和操纵

起首运转Vagrant协助敕令,检察大抵有哪些敕令和功用:

Vagrant会把一个假造机打包成box,这个有点相似docker的image观点。就是用来生成一个完全的假造机的。根据官网的申明竖立一个规范的Ubuntu或许Centos异常轻易。直接从官方的box库就可以下载并运转。下面的敕令会在当前文件夹生成一个Vagrantfile设置文件。然后运转vagrant up就可以竖立并运转一个Ubuntu18.4的假造机了,默许状况是运用的VirtualBox作为假造机Provider。

vagrant init hashicorp/bionic64 
vagrant up

不过由于尽人皆知的缘由,国内的下载速率是异常异常迟缓的。慢到怀疑是在上个世纪90年代的网速。

种种镜像源

, 固然也可以到官方主页上去查找和下载。清华和科大有Centos和Ubuntu的Box镜像。下载下来今后怎样载入。

vagrant box add https://mirrors.tuna.tsinghua.edu.cn/ubuntu-cloud-images/vagrant/trusty/current/trusty-server-cloudimg-amd64-vagrant-disk1.box --name ubuntu/trusty

上面是下载清华的源

vagrant box add C:test.box --name unbuntu1804

上面的是经由过程当地box加载

box被加载到当地今后我们可以经由过程box list敕令检察, 我们可以看到当地如今已经有了两个box了。

PS D:vagrantexample2> vagrant box list
ubuntu1804 (virtualbox, 0)
ubuntuNew  (virtualbox, 0)

重载,挂起,停息和烧毁假造机

vagrant suspend #这个敕令是停息假造机
vagrant halt #封闭假造机
vagrant destroy #完全烧毁假造机
vagrant reload #设置文件修正事后,可以重新加载设置

ssh登录假造机

vagrant ssh

我们经由过程vagrant status可以检察一切假造机的运转状况,假如有多个假造机在运转,须要加上机械称号

vagrant ssh node1

重新打包Box

当我们修正了原始的假造机设置,须要把如今的假造机作为规范开发环境的box时,我们应当用package敕令:

vagrant package [name|id]

细致用法:

Vagrant的设置文件

直接运转 vagrant init,然后翻开这个文件。我们可以看到各个设置项。最基础的设置文件以下, 这个是用称号是hashicorp/bionic64的box竖立一个假造机。

Vagrant.configure("2") do |config|
  config.vm.box = "hashicorp/bionic64"
end

可以到场box的版本信息

Vagrant.configure("2") do |config|
  config.vm.box = "hashicorp/bionic64"
  config.vm.box_version = "1.1.0"
  config.vm.hostname = "myhost"
end

设置私有收集,

这个是用假造网关作为dhcp效劳器自动分派IP地点

Vagrant.configure("2") do |config|
  config.vm.network "private_network", type: "dhcp"
end

设置IPV4静态地点

Vagrant.configure("2") do |config|
  config.vm.network "private_network", ip: "192.168.50.4"
end

设置IPV6静态地点

Vagrant.configure("2") do |config|
  config.vm.network "private_network", ip: "fde4:8dba:82e1::c4"
end

设置公有收集

这个是用和主机物理网卡桥接的形式衔接到外部的路由器的形式。外部收集可以接见到这台假造机

Vagrant.configure("2") do |config|
  config.vm.network "public_network"
end

同时设置多台假造机

经由过程下面的体式格局可以设置多台假造机

Vagrant.configure("2") do |config|
  config.vm.provision "shell", inline: "echo Hello"

  config.vm.define "node1" do |n1|
    n1.vm.box = "mybox"
  end
  config.vm.define "node2" do |n2|
    n2.vm.box = "mybox2"
  end
end

文本相似性算法实现(二)-分组及分句热度统计

参与评论