附录C Vagrant

    在本书的很多地方我们都使用虚拟机来演示需要整个机器表示或者多个虚拟机编排的技巧。

    Vagrant为从命令行启动、供应以及管理虚拟机提供了一种简易的方式,它可在多个平台上获得。

    访问https://www.vagrantup.com,按照指示设置。

    当运行vagrant up来启动一台虚拟机的时候,Vagrant读取称为Vagrantfile的本地文件来确定设置。

    可以在provider那一节创建或者修改的有用的设置是gui

    1. v.gui = true

    例如,如果提供者(provider)是VirtualBox,一个典型的配置部分看起来可能会像下面这样:

    1. config.vm.provider virtualbox do |v, override|
    2.    override.vm.box    = vagrant_openshift_config[‘virtualbox’]
    3.    [‘box_name’] unless dev_cluster
    4.    override.vm.box_url  = vagrant_openshift_config[‘virtualbox’]
    5.    [‘box_url’] unless dev_cluster
    6.    override.ssh.insert_key  = vagrant_openshift_config[‘insert_key’]
    7.    v.memory       = vagrant_openshift_config[‘memory’].to_i
    8.    v.cpus        = vagrant_openshift_config[‘cpus’].to_i
    9.    v.customize [“modifyvm”, :id,
    10.    “—cpus”, vagrant_openshift_config[‘cpus’].to_s]
    11.    v.gui         = false
    12. end if vagrant_openshift_config[‘virtualbox’]

    在运行vagrant up之前,可以把v.gui这一行的false改成true(或者如果之前没有的话添加这一行)来获得运行虚拟机的图形用户界面(GUI)。

    什么是提供者 在Vagrant里,提供者是提供虚拟机环境的程序的名字。对大多数用户来说,它是virtualbox,但它也可以是libvirt、openstack或者vmware_fusion(除此之外还有)。

    Vagrant使用虚拟机来创建其环境,这些虚拟机可能会消耗很多的内存。如果运行着一个3个节点的集群,每个虚拟机占用了2 GB的内存,用户的机器就需要6 GB的可用内存。如果机器运行得举步维艰,那么内存匮乏最有可能是元凶——唯一的解决方式就是停止所有不重要的虚拟机或者购买更大的内存。能够避免这个问题是Docker比虚拟机强大的众多原因之一。用户不用预先给容器分配资源,它们只会消耗自己需要的部分。