本シリーズのトップページ |
---|
https://qiita.com/robozushi10/items/1790fdf5ba220b00a2a2 |
概要
docker-compose を使って Ansible 検証環境として使用できる Docker コンテナを構築する.
Docker コンテナの中で systemctl の使用が可能になるようにしている.
なお、本記事では環境構築手順のみを記したので、
Dockerfile や docker-compose.yml の中身を知りたい場合は 02 を参照してほしい.
コンテナを作成したホスト
・ubuntu 18.04
今回構築する Ansible 検証用のコンテナ環境
コンテナ構成 (2022/01/22 時点)
用途 | 台数 | OS | 備考 |
---|---|---|---|
Ansible Master | 1台 | Ubuntu 18.04 | ■本コンテナに導入する Ansible バージョンは次の通り. ・ansible = 3.4.0-1ppa~bionic ・ansible-base = 2.10.16-1ppa~bionic ■Slave に対して、アカウント「foo」であればパスワードなしで ssh 接続可能である. ■必要ないはずだが、一応、アカウントのパスワードは Dockerfile に記している. |
Ansible Slave | 8台 | Ubuntu 18.04 | ■基となる Docker Image は上記 Master と同じである.(横着した) |
構築手順
1. コード群を配置する
$ git clone https://github.com/robozushi10/qiita-ansible.git
2. Docker イメージビルドをする
$ cd qiita-ansible
$ docker-compose build
3. Docker コンテナ群を起動する
$ docker-compose up -d
4. master コンテナに対して、アカウント「foo」でログインする
$ docker-compose exec -u foo master bash
動作確認
master コンテナから slave0* に対して ping-pong 応答があること
## 永続ボリュームに移動する
$ cd /share
## inventory.ini を作成する
$ cat <<'EOL' > inventory.ini
[myservice]
slave[01:08]
EOL
## slave01 に対して ping - pong チェックをする. 次のように SUCCESS となれば OK.
$ ansible -i inventory.ini -m ping slave01
slave01 | SUCCESS => {
"ansible_facts": {
"discovered_interpreter_python": "/usr/bin/python3"
},
"changed": false,
"ping": "pong"
}
以上