利用者視点でみる 10分でansible - scsk株式会社 › lib › product › oss › pdf ›...

14
利用者視点でみる 10分でAnsible 2017.2.23 Hideki Saito

Upload: others

Post on 05-Jul-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 利用者視点でみる 10分でAnsible - SCSK株式会社 › lib › product › oss › pdf › Ansible_LT.pdf · 2017-03-06 · Ansibleは、手作業のコード化と自動実行を実現する

利用者視点でみる 10分でAnsible

2017.2.23 Hideki Saito

Page 2: 利用者視点でみる 10分でAnsible - SCSK株式会社 › lib › product › oss › pdf › Ansible_LT.pdf · 2017-03-06 · Ansibleは、手作業のコード化と自動実行を実現する

whom氏名: 齊藤 秀喜 (さいとう ひでき) TwitterID: @saito_hideki

• 所属: • 日本OpenStackユーザ会

• OSSとの関わり • OpenStack Active Technical Contributor • Ansibleコミュニティモジュールメンテナ

• 趣味: OpenStack, Ansible, IT Automation

2

10分でAnsible

Page 3: 利用者視点でみる 10分でAnsible - SCSK株式会社 › lib › product › oss › pdf › Ansible_LT.pdf · 2017-03-06 · Ansibleは、手作業のコード化と自動実行を実現する

Ansibleは、手作業のコード化と自動実行を実現するためのITオートメーションツールです。

構築手順構築手順Server

Ansibleとは(1)10分でAnsible

Apache

MySQL

PHP

Linux

Linux

Apache

MySQL

PHP

Server

Linux

Apache

MySQL

PHP

構築手順書作業実施

Playbookコード実行

オペレータ3

Page 4: 利用者視点でみる 10分でAnsible - SCSK株式会社 › lib › product › oss › pdf › Ansible_LT.pdf · 2017-03-06 · Ansibleは、手作業のコード化と自動実行を実現する

Ansibleとは(2)Ansibleは、ITオートメーションを実現する優秀なツールですが、他の選択肢も存在しています。 他の代表的なプロダクトとして、ChefやPuppetがあげれられます。

10分でAnsible

4

Page 5: 利用者視点でみる 10分でAnsible - SCSK株式会社 › lib › product › oss › pdf › Ansible_LT.pdf · 2017-03-06 · Ansibleは、手作業のコード化と自動実行を実現する

Ansibleの特徴ChefとPuppetはAnsibleに比べて歴史も長く、多くの利用実績があります。また、自動化を実現するためのコンセプトも似通っています。

これらのプロダクトに対して、Ansibleは以下のような特徴を持っています。

◎ 運用しやすいコマンドラインベースのシンプルなアーキテクチャ ◎ エージェントレスなうえに、CMDBもなしで身軽 ○ 標準提供される数多くのモジュール群をもっている ☓ 外部から制御可能なAPIをもっていない(CLIベースなので) ☓ ユーザの細かな権限管理をしにくい ☓ Ansibleの設定やログなどを中央で管理する方法は提供されない

10分でAnsible

5

Page 6: 利用者視点でみる 10分でAnsible - SCSK株式会社 › lib › product › oss › pdf › Ansible_LT.pdf · 2017-03-06 · Ansibleは、手作業のコード化と自動実行を実現する

ITオートメーションツールと、他の役割のツール群を連携させることで、更に大きな導入効果を得られます。

Server

Infrastructure as Codeを実現

10分でAnsible

Linux

Apache

MySQL

PHP

Playbook例: テスト環境の⾃動構築

fetch/push review

check/fetch/review

fetch/pushdeploy

operation

operation

exec

6

Page 7: 利用者視点でみる 10分でAnsible - SCSK株式会社 › lib › product › oss › pdf › Ansible_LT.pdf · 2017-03-06 · Ansibleは、手作業のコード化と自動実行を実現する

Ansibleの構成要素Ansibleはコマンドラインベースのツールで、主に以下の要素から構成されています。

10分でAnsible

# 構成要素 概要

1 Configuration Ansibleの振る舞いを決める設定ファイル

2 Inventory 管理対象ホストの一覧が記述されたファイル

3 Module タスクとしてAnsibleが実行するプログラム

4 Command タスクやPlaybookを実行するためのコマンド群

5 Playbook 複数のタスクから構成されるワークフロー定義ファイル

6 Plugin コア機能を拡張するためのプラグイン

7

Page 8: 利用者視点でみる 10分でAnsible - SCSK株式会社 › lib › product › oss › pdf › Ansible_LT.pdf · 2017-03-06 · Ansibleは、手作業のコード化と自動実行を実現する

Ansibleによる自動化の仕組み

10分でAnsible

(a) UNIXホストに対する操作

(b)Windowsホストに対する操作

(c)ネットワーク機器に対する操作

8

Page 9: 利用者視点でみる 10分でAnsible - SCSK株式会社 › lib › product › oss › pdf › Ansible_LT.pdf · 2017-03-06 · Ansibleは、手作業のコード化と自動実行を実現する

ansibleによるタスク実行10分でAnsible

9

Page 10: 利用者視点でみる 10分でAnsible - SCSK株式会社 › lib › product › oss › pdf › Ansible_LT.pdf · 2017-03-06 · Ansibleは、手作業のコード化と自動実行を実現する

ansible-playbookによるシナリオ実行

10分でAnsible

AnsibleはPlaybookにより、オペレーションのコード化を実現しています。 Playbookは、実施する一連のタスクを、順序立ててYAML形式で記述したものです。

10

Page 11: 利用者視点でみる 10分でAnsible - SCSK株式会社 › lib › product › oss › pdf › Ansible_LT.pdf · 2017-03-06 · Ansibleは、手作業のコード化と自動実行を実現する

最後に...

10分でAnsible

Page 12: 利用者視点でみる 10分でAnsible - SCSK株式会社 › lib › product › oss › pdf › Ansible_LT.pdf · 2017-03-06 · Ansibleは、手作業のコード化と自動実行を実現する

Playbookを書く際の心得(1)ちゃんとしたYAMLの書式で書こう

(2)できるだけBest Practiceに従った構造にしよう

(3)タスクの先頭にはname:セクションをちゃんと書こう

(4)タスク内で即値を書かずにvarsファイルに外出ししよう

(5)名前重要。Playbookの変数の名前空間はフラットです

(6) debugモジュールをつかう場合はverbosityも設定しよう

(7) jinja2テンプレートはできるだけシンプルに書こう

(8)巨大な1つのファイルに書かずに分割してincludeしよう

(9) Playbookをコードレビューできる仕組みを導入しよう

10分でAnsible

Page 13: 利用者視点でみる 10分でAnsible - SCSK株式会社 › lib › product › oss › pdf › Ansible_LT.pdf · 2017-03-06 · Ansibleは、手作業のコード化と自動実行を実現する

Inventoryを書く際の心得(1) IPアドレスやFQDNよりも、わかりやすい名前をつけよう

(2)環境毎に分けて誤爆を防ごう

(3)適切なパーミッションを設定しよう

(4) --limitを多用するくらいなら、専用にグループを作ろう

(5) Dynamic Inventoryは単一の情報ソースから生成しよう

10分でAnsible

Page 14: 利用者視点でみる 10分でAnsible - SCSK株式会社 › lib › product › oss › pdf › Ansible_LT.pdf · 2017-03-06 · Ansibleは、手作業のコード化と自動実行を実現する

ご静聴ありがとうございました