arnaudblancher.docker_provisionning

arnaudblancher.docker_provisionning

目的 : Ansibleインベントリを使用して、リストにある各ホストのために1つのDockerコンテナを作成します。

その後、これらのDockerインベントリ上でお気に入りのAnsibleプレイブックをデプロイし、新しくクリーンな環境で安全に完全なテストを簡単に行うことができます。新しい仮想マシンを作成する必要はありません。

テストが完了したら、Ansibleロール「arnaudblancher.docker_unprovisionning」を使用してこれらのDockerを破棄するだけです。

要件

  • docker-engine

Dockerエンジンが動作していることを確認します。以下のコマンドでテストできます(おそらくrootとして実行...)

docker info

必要な場合、docker-engineをインストール

ここでは、Debian Jessieのdocker-engine 1.11を使用します。

apt-get remove docker.io python-docker
apt-key adv --keyserver hkp://p80.pool.sks-keyservers.net:80 --recv-keys 58118E89F3A912897C070ADBF76221572C52609D
echo 'deb https://apt.dockerproject.org/repo debian-jessie main' > /etc/apt/sources.list.d/docker.list
apt-get update
apt-get install docker-engine python-docker

Ubuntu Trustyの場合、

以下を置き換えてください。 python-docker

次のようにします:

sudo apt-get install python-pip
sudo pip install docker-py

ロール変数

defaults/main.ymlを参照してください。

依存関係

なし

サンプルプレイブック

サブディレクトリ./demo/を参照してください。

cat demo/docker-provisionning.yml

- name: "インベントリにリストされたすべてのホストのためにすべてのDockerイメージとコンテナを作成する"
  hosts: localhost
  gather_facts: no

  roles:
    - { role : arnaudblancher.docker_provisionning,
      docker_provisionning_net: "ansible_myplateform" }

cat inventory/docker/000_hosts

[mysql]
# defaults/main.ymlで設定されたデフォルトのdocker_provisionning_imageを使用
dock_mysql

[apache]
# このコンテナに特定のdocker_provisionning_imageを指定します
dock_apache docker_provisionning_image="ubuntu1604"

[jmeter]
# オプションのdocker_provisionning_dockerfileは、このロールの外部にある代替のDockerfileパスを指定します。
# パスはroles/arnaudblancher.docker_provisionning/dockerfiles/に対して相対的でなければなりません。
dock_jmeter docker_provisionning_image="jmeter2.13private"  docker_provisionning_dockerfile="../../../local_files/dockerfiles/jmeter2.13private"

[all:vars]
ansible_connection=docker

cat group_vars/all

# docker_provisionningのためにdefault/main.ymlのOSをオーバーライド
docker_provisionning_image: "ubuntu1404"

cat inventory/docker/group_vars/all

# コンテナのホストエイリアスを追加
docker_provisionning_aliases:
  dock_mysql:
    - "bdd01"
    - "bdd02"
  dock_apache:
    - www01
    - www02
    - www03

呼び出し :

ansible-playbook  -i inventory/docker/ docker-provisionning.yml

ライセンス

GPLv3

著者情報

アーノー・ブランシェ

https://github.com/arnaudblancher/ansible-role-docker_provisionning

プロジェクトについて

Take an ansible inventory and create one docker container for each listed hosts. After you can deploy your favorite ansible playbook on theses docker-inventory and make easily and safely full tests in a new and clean environnement.

インストール
ansible-galaxy install arnaudblancher.docker_provisionning
ライセンス
Unknown
ダウンロード
111
所有者