使用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
广告
将在 10 秒后关闭
bannerAds