Amazon LinuxをDockerで起動してansibleを適用する
4418 ワード
Ansibleの検証するのにいちいちEC2でAmazonLinuxを起動しないといけないのは面倒なので、dockerで試してみた。
Dockerの準備
Docker for Macのインストール
Get started with Docker for Mac
Amazon ECR registryにログイン
$ $(aws ecr get-login | sed 's/\-e none //g')
Login Succeeded
イメージを取得
$ docker pull amazonlinux:latest
latest: Pulling from library/amazonlinux
c9141092a50d: Pull complete
Digest: sha256:2010c88ac1e7c118d61793eec71dcfe0e276d72b38dd86bd3e49da1f8c48bf54
Status: Downloaded newer image for amazonlinux:latest
ansible-playbook適用対象として起動しておく
$ docker run -itd --name example amazonlinux:latest
ansible側の準備をする
$ ansible --version
ansible 2.2.1.0
config file = /Users/example/.ansible.cfg
configured module search path = Default w/o overrides
docker-pyをインストール
$ pip install docker-py
inventory/docker.pyをプロジェクト内に取得
$ curl https://raw.githubusercontent.com/ansible/ansible/devel/contrib/inventory/docker.py -o inventory/docker.py
$ chmod 755 inventory/docker.py
playbookを作成
example.yml
---
- hosts: example # 先ほどdocker runで指定したnameの値を指定
connection: docker
user: root
tasks:
- name: ping
ping:
実行
$ ansible-playbook example.yml -i inventory/docker.py
PLAY [example] *****************************************************************
TASK [setup] *******************************************************************
ok: [example]
TASK [ping] ********************************************************************
ok: [example]
PLAY RECAP *********************************************************************
example : ok=2 changed=0 unreachable=0 failed=0
注意点
$ ansible --version
ansible 2.2.1.0
config file = /Users/example/.ansible.cfg
configured module search path = Default w/o overrides
$ pip install docker-py
$ curl https://raw.githubusercontent.com/ansible/ansible/devel/contrib/inventory/docker.py -o inventory/docker.py
$ chmod 755 inventory/docker.py
example.yml
---
- hosts: example # 先ほどdocker runで指定したnameの値を指定
connection: docker
user: root
tasks:
- name: ping
ping:
$ ansible-playbook example.yml -i inventory/docker.py
PLAY [example] *****************************************************************
TASK [setup] *******************************************************************
ok: [example]
TASK [ping] ********************************************************************
ok: [example]
PLAY RECAP *********************************************************************
example : ok=2 changed=0 unreachable=0 failed=0
注意点
Amazon Linux AMIとAmazon Linux Container Imageは標準で入っているモジュールが違うので、注意が必要。
Author And Source
この問題について(Amazon LinuxをDockerで起動してansibleを適用する), 我々は、より多くの情報をここで見つけました https://qiita.com/ikeisuke/items/1d25bc1cc0c4fbabcbda著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .