官网地址(https://www.vagrantup.com/)
使用(以创建一个linux虚拟机为例) 1. 查看帮助vagrant --help2. 创建一个空目录
mkdir centos73.初始化 Vagrantfile
vargrant init centos/7
Vagrantfile描述了我们需要创建的虚拟机的属性,比如config.vm.Box="centos/7"
4.启动虚拟机vargrant up
下载Box并且启动,建议下载Box后再运行,如果本地没有Box会从网上下载,比较慢
5.连接vagrant ssh6.退出
exit7.停止&删除
vagrant status vagrant halt # 停止 vagrant destroy #删除Vagrant搭建虚拟机集群 工具准备 安装 VirtualBox
安装 Vagrant
Vagrantfile 1. 初始化一个工作目录比如:~/document/vagrant
使用命令:vagrant init
初始化,会自动生成Vagrantfile文件
vagrant Box add centos/7
3 . 配置Vagrantfile文件,创建一个3个节点的虚拟机Vagrant Box的中央仓库地址(https://app.vagrantup.com/Boxes/search)
Vagrant.configure("2") do |config| (1..3).each do |i| config.vm.define "node#{i}" do |node| # 设置虚拟机的Box node.vm.Box = "centos/7" # 设置虚拟机的主机名 node.vm.hostname="node#{i}" # 设置虚拟机的IP node.vm.network "private_network",ip: "192.168.56.#{100+i}" # 设置主机与虚拟机的共享目录 # node.vm.synced_folder "~/documents/vagrant/share","/home/vagrant/share" # VirtaulBox相关配置 node.vm.provIDer "virtualBox" do |v| # 设置虚拟机的名称 v.name = "node#{i}" # 设置虚拟机的内存大小 v.memory = 2048 # 设置虚拟机的cpu个数 v.cpus = 1 end end endend
语法还是比较易懂的,下面介绍其中几个比较关键的句法
deploy.vm.provIDer
这句指定了虚拟机的提供者是。本例中是 virtualBox。需要注意的是 Vagrant 只是虚拟机的编排工具,而它本身并不提供虚拟技术,需要跟其他虚拟机软件结合,例如:virtualBox、libvirt。接下来的 v 就是对这台虚拟机的设置。
v.name:virtualBox 中这台虚拟机的名字。
v.memory:该虚拟机的内存大小,单位是 MB。
v.cpus:该虚拟机的 cpu 核数。
vm.Box该虚拟机的初始化镜像名称,这里是 centos/7。 vm.hostname
该虚拟机的 hostname,很重要,ssh 连接时用的就是这个名字。请起一个有意义的名字,不然以后又得重设啦。 vm.network
网络设置,Vagrant 有三种网络设置模式: Forwarded port
这种方式把本机和虚拟机的端口进行映射,例如: config.vm.forwarded_port 80,8080
这是把虚拟机的 80 端口映射到宿主机的 8080 端口,这样访问宿主机的 8080 端口就相当于访问虚拟机的 80 端口了。 Private network
这种方式是私有网络,只允许宿主机访问虚拟机。如果多个虚拟机设定在同一个网段,那么几个虚拟机之间也可以互相访问。相当于搭建了个小型集群。
Public network
这种方式虚拟机的网络配置跟宿主机的网络配置一样,在外网别可以像访问宿主机一样访问虚拟机。
启动虚拟机
之前介绍的,就是本地搭建集群所需掌握的 Vagrantfile 文件格式的基本内容了。下面介绍如何从这个配置文件来启动这组虚拟机。
将上面的文件保存为 Vagranfile,然后在 Vagranfile 文件所在目录执行:vagrant up
这时候整个集群启动完毕了。
使用虚拟机
前面说过要连接虚拟机,是要使用虚拟机的 hostname,比如:vagrant ssh node1
这句命令会以 vagrant 的用户登录到 deploy 虚拟机节点,然后可以用 sudo su 命令获得 root 权限。
用一下指令可以查看虚拟机的 ssh 配置详细情况:vagrant ssh-config
当我们想暂时关闭虚拟机时可以:vagrant halt
这个命令会关掉整组虚拟机,要是我们只想关掉 deploy 可以用:vagrant halt node1
当我们玩腻了,想要删掉虚拟机可以:vagrant destroy
Vagrant 会每台机子询问一遍,你需要打 3 个 y 来删除这四台机子。
免密登陆 @H_419_175@(1)配置hosts每台机器上都做如下配置:
vi /etc/hosts
增加如下内容:
192.168.56.101 node1
192.168.56.102 node2
192.168.56.103 node3
·ssh-keygen -t rsa·
默认的路径在/home/vagrant/.ssh/
将主机公钥复制到其他虚拟机即可实现免密登陆:
cat ID_rsa.pub | ssh [email protected] ‘cat >> /home/vagrant/.ssh/authorized_keys‘
如果免密登陆失败,是ssh密码校验没有开启,可以如下 *** 作:
vi /etc/ssh/sshd_config
开启如下配置:
PasswordAuthentication yes
systemctl restart sshd
这样就全部完成啦!!!
总结以上是内存溢出为你收集整理的工具杂记(一) -- vagrant全部内容,希望文章能够帮你解决工具杂记(一) -- vagrant所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)