首页 > 其他 > 详细

Create Virtual Machines with Vagrant and Puppet

时间:2014-03-18 11:45:50      阅读:534      评论:0      收藏:0      [点我收藏+]

Create the following puppet manifest and start VM with vagrant, you get a base production environment.

$ pwd
/home/chad/docs/vagrant-prj/gcpserver

$ cat Vagrantfile|grep -v ‘^\s*#‘
VAGRANTFILE_API_VERSION = "2"
Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
  config.vm.box = "precise64"
  config.vm.network :public_network
  config.vm.provision "puppet"
end

$ cat manifests/default.pp
package { ‘vsftpd‘:
  ensure => installed,
}
service { ‘vsftpd‘:
  ensure => running,
  require => Package[‘vsftpd‘],
}
user { "gcp":
  ensure     => "present",
  password   => ‘gcp‘,
  managehome => true,
}

$ vagrant init
$ vagrant up

But the password doesn‘t work, see User Password Management Fails in Puppet for reason. You have to modify password for user ‘gcp‘ manually.

The type of network is written as "bridged" in api version 1 style.

Create multiple VMs

To specify hostname, memory size and some other parameters of each VM, modify Vagrantfile like this:

$ cat Vagrantfile|grep -v ‘^\s*#‘
VAGRANTFILE_API_VERSION = "2"
Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
  config.vm.box = "precise64"

  config.vm.define "bvtserver" do |bvtserver|
    bvtserver.vm.hostname = "bvt-server"
    bvtserver.vm.network :public_network
    bvtserver.vm.provision :shell, path: "bvtprov.sh"
  end

  config.vm.define "production" do |production|
    production.vm.hostname = "gcp-server"
    production.vm.network :public_network
    production.vm.provision :puppet
    production.vm.provider :virtualbox do |vbox|
      vbox.customize ["modifyvm", :id, "--name", "ProductEnv", "--memory", 1024]
    end
  end
end

And add a shell script for provisioning of bvt server:

$ cat bvtprov.sh
echo "You can do some provisioning here"

Ref:

http://stackoverflow.com/questions/16740397/vagrant-network-type-bridged-is-invalid-please-use-a-valid-network-type http://stackoverflow.com/questions/18700060/seting-up-vm-hostname-undefined-method-hostname

Create Virtual Machines with Vagrant and Puppet,布布扣,bubuko.com

Create Virtual Machines with Vagrant and Puppet

原文:http://www.cnblogs.com/darkmatter/p/3606800.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!