使用Vagrant和Ansible来构建MongoDB环境

在主机 OS 上安装 Ansible,并通过 Vagrant 的配置来部署 MongoDB 环境到客户机 OS 上。

需要在宿主操作系统中的东西

    • VirtualBox

 

    • Vagrant

 

    • Python 2.4 以上

 

    Ansible

Vagrantfile的句子可以翻译为以下内容:

– Vagrant配置文件
– Vagrant文件
– Vagrant规则文件
– Vagrant定义文件

# -*- mode: ruby -*-
# vi: set ft=ruby :

Vagrant.configure(2) do |config|
  config.vm.box = "chef/centos-6.5"
  config.vm.network "private_network", ip: "192.168.33.10"

  config.vm.provision :ansible do |ansible|
    ansible.playbook = "playbook.yml"
    ansible.inventory_path = "hosts"
    ansible.limit = 'all'
  end
end
    • AnsibleではSSHでログインするのでプライベートネットワークを設定しておく。

 

    Vagrant1.5からはansible.limit = ‘all’という記述がないとエラーになってしまうらしい。

主持人 (zhǔ chí

[vagrant]
192.168.33.10

剧本 (jù

- hosts: vagrant
  sudo: true
  user: vagrant
  tasks:
    - name: install python-selinux
      yum: pkg=libselinux-python state=latest
    - name: disable selinux
      selinux: state=disabled
    - name: copy mongodb.repo
      copy: src=mongodb.repo dest=/etc/yum.repos.d/mongodb.repo owner=root
    - name: install mongodb
      yum: pkg=mongodb-org
    - name: start mongodb
      service: name=mongod state=started
    • selinuxが有効になっているとansibleからroot権限で作業できないので、最初の2つのタスクでselinuxを無効にしている。

 

    3つめ以降のタスクはMongoDBのインストール手順に書いてある手順。

: mongodb软件源配置文件

[mongodb]
name=MongoDB Repository
baseurl=http://downloads-distro.mongodb.org/repo/redhat/os/x86_64/
gpgcheck=0
enabled=1

虚拟机启动

vagrant up

请参考

    • Ansible – Provisioning – Vagrant Documentation

 

    • Ansible Documentation — Ansible Documentation

 

    • vagrant – Ansible コトハジメ – Qiita

 

    • Vagrant 1.5からAnsibleを使うのならlimit = ‘all’が必要 – 今日のハック

 

    CentOS に Ansible で GitLab をインストール – Qiita
广告
将在 10 秒后关闭
bannerAds