Linux2台でAnsible最速入門(CentOS)


はじめに

 Ansibleで自動化してみたいと思った時、インストールから簡単なチュートリアルまでまとまってると楽しいのでまとめました。

概要

  • 疎通が可能な端末(Windows,Mac)とLinux(CentOS7)が2台ある環境で行う
  • 自動操作を行う方をServer、される方をCliantとする
  • Terminalからsshして作業、確認すると良い
  • Server側にAnsibleをインストールする
  • Client側はAnsibleでhttpdをインストールされる

インストール(Serverのみ)

EPELの追加
wget https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
rpm -ivh epel-release-latest-7.noarch.rpm
Ansible インストール
# yum install ansible
バージョン確認
# ansible --version

Ansible インストール方法(Centos7)

チュートリル

Ansibleのインストールとサンプルコードの実行

操作可能端末の確認

ansibleは誤爆すると危険なのでリストにあるホストのみ操作できる
このチュートリアルの場合クライアントのIP(192.168.0.3)を追記

vi /etc/ansible/hosts
プレイブック

プレイブックは構築の手順書です
yaml形式で記述するためインデントがずれると意味が変わってしまうため注意
エラーが出たらyamlの書き方ググってくださ

cd
vi testbook.yml
- hosts: 172.20.10.3
  gather_facts: no
  become: yes

  tasks:
    - name: install the latest version of Apache
      yum:
       name: httpd
       state: latest
    - name: Make sure a service is running
      systemd:
       state: started
       name: httpd
    - name: Firewalld Start
      firewalld: service=http permanent=true state=enabled immediate=true
サーバからクライアントをSSHで操作できるように

AnsibleはSSHを利用して自動操作を行うため、サーバからクライアントへ、パスワードレスSSHできるように鍵の生成+転送

  • 試しにSSHしてみる
ssh [email protected]
パスワードが聞かれる
  • 鍵の生成
ssh-keygen
全てエンター
  • 鍵の転送
ssh-copy-id 192.168.0.3
  • 確認
ssh [email protected]
聞かれない
実行
ansible-playbook testbook.yml
確認

TerminalのブラウザからクライアントのWEBページを見てみる

http://192.168.0.3

まとめ

インストールから最小構成のプレイブック実行までとにかく簡単にまとめました。
チュートリアルができたらプレイブックを読んでみてググって改造ができると思います。
触ったことがない人の初めてになれればうれしいです。