More Related Content
Similar to Ansible provisioning (20)
Ansible provisioning
- 2. 自己紹介
渡部
わ た な べ
直樹
な お き
• 株式会社 Rosso インフラ構築運用部
• JP1、SQLServerなどで構成された某商社のポータルサーバの運用業務
• Windows・Linux問わずインフラ設計構築・運用業務
• クラウド環境の構築・運用 (Vartage・VM)
• Ansibleを使用した某SIerのシステム運用構築作業の自動化
2/17
- 9. Ansible用語集
• 構成管理ツールAnsilbeにて使用する用語。以降のスライドにて使用
項番 用語 意味
1 インベントリ(hosts) リモート環境への接続情報
2 変数(var) Playbook,ロールで使用する変数の値を記載するYAML形式
のファイル
3 Playbook Ansibleで実行するプログラムの総称。今回はrolesを呼び出
す処理内容を記載するYAML形式のファイル
4 ロール(Roles) Playbookの一連の処理を纏めたもの。playbookより呼び出
される処理内容を記載するYAML形式のファイル
5 Module Playbook、ロールより呼び出されるPythonファイル。公式
の他にユーザ作成のModuleも多数有。自作可能
6 ベストプラクティス Ansibleで推奨されているディレクトリ構造。モジュールや
ロールを呼び出す上で理想的な構造。
ベストプラクティス構成にすることでplaybook記載内容を
簡易にすることができる。
9/17
- 13. apacheインストール例
⇒ 1コマンドでApacheのインストール、セットアップが完了
13/17
---
- name: Playbook Ansible Apache Install and
Setup
hosts: laravel
roles:
- 1_apache
Playbook/1_apache.yml
---
- name: apache Install Apache
yum: name=httpd
- name: Documentroot Permisson change
file: path="{{ httpdir }}" owner="{{ httpuser }}"
group="{{ httpuser }}" mode=0775
- name: Documentroot Subdirectory Permission change
shell: find {{ httpdir }} -type d -exec chmod 0775 {} ¥;
- name: Documentroot Subdirectory Permission change
shell: find {{ httpdir }} -type f -exec chmod 0664 {} ¥;
- name: apache Enable htaccess
replace: dest="{{ httpdfile }}" regexp="{{ httpdbef }}"
replace="{{ httpdaft }}"
- name: apache restart
service: name=httpd state=restarted
Playbook/roles/tasks/1_apache.yml
Playbook/group_vers/laravel.yml
### Apache ###
httpdgroup: apache
httpdir: /var/www
httpuser: apache
httpdfile: /etc/httpd/conf/httpd.conf
httpdbef: 'AllowOverride None'
httpdaft: 'AllowOverride All'
Playbook/hosts
[laravel]
10.1.2.xx
インベントリ
読み込み
変数読み込み
role実行
実行コマンド:
ansible-playbook –i hosts 1_apache.yml
- 15. 実行コマンドと処理内容
項番 実行コマンド 処理内容
1 ansible-playbook –i host 0_Devloper.yml 1.管理ツールのダウンロード、インストール
2 ansible-playbook –i host 1_apache.yml 1.Apacheダウンロード、インストール&セットアップ
2.Laravelで使用するhtaccess有効化
3 ansible-playbook –i host 2_php.yml 1.PHPダウンロード、インストール&セットアップ
2.PHPのTimezoneをAsia/Tokyoに変更
4 ansible-playbook –i host 3_mysql.yml 1.MySQLダウンロード、インストール&セットアップ
2.MySQL-pythoインストール(ansible用)
3.MySQLアクセス用ユーザ・パスワード設定
4.MySQLログイン用ファイル作成
5.Laravelで使用するDB作成
5 ansible-playbook –i host 4_laravel.yml 1.Laravelコンテンツデータ展開
2.ApacheドキュメントルートをLaravel用に変更
3.Composerダウンロード
4.Laravelインストール&セットアップ
5.Apache再起動
15/17
Laravelの画面が開けたら成功!