構成管理ツールAnsibleをWindows10やMacOSで動かせるようにしていきます。
といってもWindows上では直接動かせないようなので、DockerでCentOSの環境を作って動かします。
MacOSには直接インストールする事も可能ですが、環境をきれいに保つためにもDockerを使うのは良いと思います。
Ansibleのインストールについて
公式ドキュメントを元にCentOSにAnsibleをインストールする手順を確認します。
コントロールノードの要件
コントロールノードというのはAnsibleを動かす端末の事です。
インストールの前提条件は以下のようになっています。
- 管理対象のマシンにSSH接続できる事
- Python 2(2.7)またはPython 3(3.5以降)が必要
- Red Hat、Debian、CentOS、macOS、任意のBSD をサポート
- Windowsはサポート外
- プラグインを使う場合は追加の要件が必要なる事もある
DockerでCentOSのコンテナを作ってpythonをインストールすればよさそうです。
管理対象ノードの要件
管理対象ノードとはAnsibleで操作する対象の端末です。
デプロイ先のサーバーや、開発環境を構築する対象のマシンになります。
管理対象ノードの要件は以下です。
- SSH通信ができる
コントロールノードから管理対象ノードにSSH接続ができるように準備しておきましょう。
Ansibleのインストール方法
Ansibleは3つの方法でインストール可能です。
- パッケージマネージャー(yum等)でインストールする
- pipでインストールする
- ソースコードからインストールする
好きな方法でインストールしましょう。
公式ドキュメントには「ソースコードから簡単にインストールでき、多くの人が最新バージョンでテストしている」とあります。
DockerでAnsibleをインストールしたイメージを作成する
CentOSをベースに、ansibleをyumでインストールしてイメージを作成してみようと思います。
Dockerfileを用意する
ansibleをインストールすれば必要なライブラリ等は読み込まれるので、差し当たってpythonを個別にインストールする必要はなさそうです。
Dockerfileを以下の内容で作ります。
FROM centos
RUN yum -y install epel-release
RUN yum -y install ansible
RUN mkdir /workspace
これでAnsibleがインストールされたイメージが作れます。
docker-compose.ymlを用意する
docker-compose.ymlは以下のようにします。
workspaceというパスをマウントしていますが今の時点では明確な用途はありません。共有ディレクトリが一つあると便利かなぐらいの気持ちです。
version: '3'
services:
ansible:
build: .
volumes:
- ./workspace:/workspace
tty: true
Dockerイメージとコンテナを作成(これで完成)
Dockerイメージとコンテナを作成していきます。
> docker-compose up -d
> docker-compose exec ansible /bin/bash
# ansible --version
ansible 2.8.5
config file = /etc/ansible/ansible.cfg
configured module search path = ['/root/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
ansible python module location = /usr/lib/python3.6/site-packages/ansible
executable location = /usr/bin/ansible
python version = 3.6.8 (default, Nov 21 2019, 19:31:34) [GCC 8.3.1 20190507 (Red Hat 8.3.1-4)]
インストールまではこれで完了です。
以上です。
コメント/ピンバック
Awesome post! Keep up the great work! 🙂
[…] DockerでAnsibleをインストールして動かす(Windows、MacOS共通) […]
[…] インストールはこちら → DockerでAnsibleをインストールして動かす(Windows、MacOS共通) […]