Help us understand the problem. What is going on with this article?

Ansible導入テスト

More than 1 year has passed since last update.

はじめに

最近Ansibleを始めたので、導入からテスト実行までを簡単にまとめてみました。

実行環境
・CentOS7.5
・Python 2.7.5(デフォルト)

Ansibleの導入

用意するもの

・Ansibleを導入するサーバー(コントローラ)
・Ansibleで変更を加えるサーバー(管理ノード)

導入作業

作業は全て「コントローラー」側のサーバーで実施します。

1.Ansibleのインストール

AnsibleコントローラーとなるサーバーにてAnsibleをインストールする。
yum install ansible
依存関係で色々とインストールされると思いますがそのまま実行。

2.作業用のディレクトリを作成

ansibleのファイルを保管するディレクトリを作成。
今回は、ホームディレクトリの直下に作成します。
mkdir ~/ansible

3.SSHキーの準備

コントローラと管理ノード間のSSH通信を行うため、SSHの公開鍵を作成します。
ssh-keygen
passphraseを求められますが、空エンターで進めます。

実行例
[root@localhost ansible]# ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:

4.SSH公開鍵を管理ノードに送付

作成したSSH公開鍵を管理ノードに送付します。
ssh-copy-id [ユーザー名@管理ノードのIP]

実行例
[root@localhost ansible]# ssh-copy-id root@192.168.242.134
/usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/root/.ssh/id_rsa.pub"
The authenticity of host '192.168.242.134 (192.168.242.134)' can't be established.
~省略~
Are you sure you want to continue connecting (yes/no)? yes

これで導入作業は完了です。

Playbookの作成

PlaybookとはAnsibleで実行する内容を記述したファイルです。

1.実行ファイルの編集

作業ディレクトリの配下に、実行ファイルとなるPlaybookを作成します。

今回はyumでhttpdをインストールするPlaybookを作成するため、
viで以下の内容のファイルを記述します。

test.yml
- hosts: all
  tasks:
    - name: install packages from yum
      yum: name=httpd

2.Playbookの実行

全ての準備が完了したので、いよいよPlaybookを実行してみます。
ansible-playbook -i 管理ノードのIP, [実行するPlaybook]

test.yml実行結果
[root@localhost ansible]# ansible-playbook -i 192.168.242.134, test.yml

PLAY [all] *********************************************************************

TASK [Gathering Facts] *********************************************************
ok: [192.168.242.134]

TASK [install packages from yum] ***********************************************
changed: [192.168.242.134] ←httpdのインストールを行ったログ

PLAY RECAP *********************************************************************
192.168.242.134            : ok=2    changed=1    unreachable=0    failed=0

[root@localhost ansible]#

管理ノード側でHTTPDがインストールされている事が確認できました。

[root@test01 ~]# yum info httpd
読み込んだプラグイン:fastestmirror
Loading mirror speeds from cached hostfile
 * base: ftp.iij.ad.jp
 * extras: ftp.iij.ad.jp
 * updates: ftp.iij.ad.jp
インストール済みパッケージ
名前                : httpd
アーキテクチャー    : x86_64
バージョン          : 2.4.6
リリース            : 80.el7.centos.1
容量                : 9.4 M
リポジトリー        : installed
提供元リポジトリー  : updates
要約                : Apache HTTP Server
URL                 : http://httpd.apache.org/
ライセンス          : ASL 2.0
説明                : The Apache HTTP Server is a powerful, efficient, and
                    : extensible web server.

[root@test01 ~]#

以上

おまけ:よく使うモジュール一覧

よく使うモジュールを簡単にまとめました。使用方法は公式を参考にしてください。

タスク名 内容
command 管理ノード上でコマンドを実行する
copy ファイルを管理ノードにコピーする
debug 変数をメッセージとして出力する
linefile ファイルの変更を行う
sytemd サービスの起動/停止の他に有効化/無効化も可能
yum yumによるインストール
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした