概要
Ansibleの環境準備はDockerを使うと簡単にできます。
背景
Ansibleを始めてみようと思ってもMac向けやLinux向けの環境構築ばかり出てくるので、Windowsでもパパッと始められる方法を考えました。
やりかた
触ったことがなかったので、Ansibleサーバーなるものを建ててセットアップして~、という系のものだと思っていましたがツールとしてAnsibleが入っていればいいだけのようです。
なので、Ansible入りのDockerイメージを作っておき、Playbook(自動化するための設定ファイル)はWindowsで書いて実行する時はコンテナの中に入って実行という風にしました。
Dockerは事前にインストールしておいてください。
適当な作業フォルダを作り、コマンドプロンプトで作業フォルダに移動します。
次のDockerfileを作成します。
FROM alpine:latest
RUN apk --update add openssh-client python3 py3-pip sshpass&& rm -rf /var/cache/apk/*
RUN pip3 install pip --upgrade && pip3 install ansible && pip3 cache purge
CMD ["/bin/ash"]
Dockerイメージをビルドします。
docker build -t ansible .
これで終わりです。
動作確認
準備
動作確認のために作業用ディレクトリ(work)とテストファイルを用意します。
- work
- inventory.yml
- playbook
- test.yml
inventory.ymlではターゲットホストや変数を定義します。
all:
hosts:
local:
ansible_connection: local
ansible_host: localhost
test.ymlでは自動化する設定を定義します。
- name: First Playbook
hosts: all
tasks:
- name: Hello
debug:
msg: "Hello World"
動作確認
コマンドプロンプトを起動し、次のコマンドでDockerコンテナを立ち上げます。
docker run --rm -it -v D:\work:/ansible ansible
次のコマンドでansible-playbookが実行できることを確認します。
ansible-playbook -i /ansible/inventory.yml /ansible/playbook/test.yml
コメント