Ansibleでwordpress1

第一回ということで、このブログについて。

このブログを動かしているサーバは自宅のサーバで動かしています。
サーバの構築には最近主流となってきたAnsibleを用いています。
プロビジョニングツールといえば、他に有名所だとPuppetやChefがあります。
Chef経験もあるのですが、Ansibleのほうが結構さっぱりしていたので、
Ansibleに乗り換えました。(Puppetは使ったことないです)

作ったものはgit-hubに公開しています。
https://github.com/poppyhi/wordpress_ansible

Chefだと構築する際の処理を記載したものはレシピと呼びますが、ansibleだとPlaybookと言います。
Playbookを実行するコマンドは以下

ansible-playbook -i hosts site.yml

-i オプション:hostsファイルを指定する。
hostsファイル:処理を実行するサーバのIP情報等を記載する。
site.yml  :処理を実行する内容を記載する。

今回は各ファイルの説明等を記載します。

  • [hostsファイル]
[blog]
192.168.1.1

構築対象のサーバを指す名前と、そのサーバに割り振られているIPを記載する

  • [site.yml]
---

- name: blog role
  hosts: blog
  remote_user: ansible
  sudo: yes
  roles:
    - blog_role

'name:' 処理の名称。何でも良いが、わかりやすいものが良い。
'hosts:' [hostsファイル]に記載されているサーバを指定
'remote_user:' 構築対象のサーバ上のどのユーザで処理を実行するか指定
'sudo:' sudoで処理を行うか指定
'roles:' Ansibleはroleでサーバの役割をひとまとめにする。どのroleを実行するか指定。
   rolesディレクトリ配下のディレクトリ名の処理を実行する。今回はblog_roleという名前のディレクトリが存在する。

  • group_vars/all の説明
    構築対象のサーバに応じて、設定値変えたりとかしたいときに利用。
    変数とその値を指定。変数はtemplateの中のファイルで扱えたり、tasks上で使用したりできる。
    このファイルを見れば、あとからサーバの設定値を確認することもできる。

  • roles/blog_role/ の説明
    tasks: 処理内容を記載。
    handlers: tasksで実行中の処理から呼び出されるもの。主にサービスの再起動等はここに記載。
    templates: 設定ファイルとかのテンプレートを置く。

  • roles/blog_role/tasks/ の説明
    main.yml: 最初に読み込まれるファイル。タスク一覧を記載したりする。
    configure_db.yml: 'main.yml'から呼び出される。dbの構築に関係する処理が書かれている。
    configure_wordpress.yml: 'main.yml'から呼び出される。wordpressの構築に関係する処理が書かれている。

次回は各ファイルの中身を説明します。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です