1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Ansible導入テスト

Last updated at Posted at 2018-09-09

はじめに

最近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によるインストール
1
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?