Vagrant搭建虚拟机集群

我的个人博客,Vagrant搭建虚拟机集群

本人的机器环境是:MaxOS

工具准备

1. 安装 VirtualBox

2. 安装 Vagrant

Vagrantfile

1. 初始化一个工作目录

比如:~/Document/vagrant

使用命令:vagrant init初始化,会自动生成Vagrantfile文件

2. 下载centos系统

vagrant box add centos/7

Vagrant Box的中央仓库地址

3. 配置Vagrantfile文件,创建一个3个节点的虚拟机

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
   end
end

语法还是比较易懂的,下面介绍其中几个比较关键的句法

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 来删除这四台机子。

免密登陆

(1)配置hosts

每台机器上都做如下配置:

vi /etc/hosts

增加如下内容:
192.168.56.101 node1
192.168.56.102 node2
192.168.56.103 node3

(2) 生成秘钥

ssh-keygen -t rsa

默认的路径在/home/vagrant/.ssh/

将主机公钥复制到其他虚拟机即可实现免密登陆:

cat id_rsa.pub | ssh vagrant@node1 'cat >> /home/vagrant/.ssh/authorized_keys'

如果免密登陆失败,是ssh密码校验没有开启,可以如下操作:

vi /etc/ssh/sshd_config
开启如下配置:
PasswordAuthentication yes
systemctl restart sshd

这样就全部完成啦!!!

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 224,383评论 6 522
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 96,028评论 3 402
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 171,486评论 0 366
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 60,786评论 1 300
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 69,793评论 6 399
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 53,297评论 1 314
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 41,685评论 3 428
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 40,655评论 0 279
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 47,192评论 1 324
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 39,223评论 3 345
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 41,343评论 1 354
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 36,966评论 5 350
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 42,656评论 3 336
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 33,130评论 0 25
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 34,257评论 1 275
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 49,869评论 3 381
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 46,407评论 2 365

推荐阅读更多精彩内容