使用Vagrant和Chef构建MongoDB环境
提前准备
VirtualBox安装
https://www.virtualbox.org/wiki/Downloads
Vagrantインストール
https://www.vagrantup.com/downloads.html
安装Vagrant插件
vagrant plugin install omnibus
厨师工具的安装
https://downloads.getchef.com/chef-dk/
Kinfe-solo的安装
chef gem install knife-solo
创建和启动虚拟机
mkdir centos-mongodb
cd centos-mongodb
vagrant init chef/centos-6.5
vargrant up
创建Chef代码库
knife solo init .
コミュニティークックブックを使用してMongoDBをインストールする場合
下载食谱
我要使用这个烹饪书。
https://supermarket.chef.io/cookbooks/mongodb
编辑 Berksfile 并指定要下载的 Cookbook 名称,然后使用 berks vendor 命令进行下载。
source "https://api.berkshelf.com"
cookbook "mongodb"
berks vendor ./cookbooks
从Vargrant调用Chef
修改Vagrantfile并调用mongodb配方进行配置。
Vagrant.configure(2) do |config|
config.vm.box = "chef/centos-6.5"
config.omnibus.chef_version = :latest
config.vm.provision "chef_solo" do |chef|
chef.cookbooks_path = ["./cookbooks", "./site-cookbooks"]
chef.add_recipe "mongodb"
end
end
vagrant reload --provision
如果你想自己创建一个烹饪手册并安装MongoDB的话。
下载食谱
source "https://api.berkshelf.com"
cookbook "yum"
berks vendor ./cookbooks
制作烹饪书
执行”knife cookbook create”命令会生成一个Cookbook的模板。
knife cookbook create my-cookbook -o ./site-cookbooks
参考MongoDB的安装步骤,编写添加yum仓库和安装软件包的配方。
yum_repository "mongodb" do
url "http://downloads-distro.mongodb.org/repo/redhat/os/x86_64/"
gpgcheck false
enabled true
action :add
end
package "mongodb-org" do
action :install
end
调用Chef来自Vargrant。
修改Vagrantfile,以调用之前创建的配方。
Vagrant.configure(2) do |config|
config.vm.box = "chef/centos-6.5"
config.omnibus.chef_version = :latest
config.vm.provision "chef_solo" do |chef|
chef.cookbooks_path = ["./cookbooks", "./site-cookbooks"]
chef.add_recipe "yum"
chef.add_recipe "my-cookbook"
end
end
vagrant reload --provision