DockerでAnsibleをインストールして動かす(Windows、MacOS共通)

Ansible Docker ツール

構成管理ツールAnsibleをWindows10やMacOSで動かせるようにしていきます。

といってもWindows上では直接動かせないようなので、DockerでCentOSの環境を作って動かします。

MacOSには直接インストールする事も可能ですが、環境をきれいに保つためにもDockerを使うのは良いと思います。

Ansibleのインストールについて

公式ドキュメントを元にCentOSにAnsibleをインストールする手順を確認します。

Ansibleのインストール— 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)]

インストールまではこれで完了です。

以上です。

コメント/ピンバック

  1. SEO Services より:

    Awesome post! Keep up the great work! 🙂

  2. […] DockerでAnsibleをインストールして動かす(Windows、MacOS共通) […]

  3. […] インストールはこちら → DockerでAnsibleをインストールして動かす(Windows、MacOS共通) […]

タイトルとURLをコピーしました