ansible はじめてみました

31
Ansible はじめてみました 2015/6/8 Takeshi Kuramochi @tsarah0822

Upload: takeshi-kuramochi

Post on 03-Aug-2015

461 views

Category:

Software


5 download

TRANSCRIPT

Page 1: Ansible はじめてみました

Ansible はじめてみました

2015/6/8

Takeshi Kuramochi @tsarah0822

Page 2: Ansible はじめてみました

本日のゴール

Ansible を知る

Ansible 導入のきっかけを掴む

Page 3: Ansible はじめてみました

Agenda What’s Ansible?

Design Principles

How to use Ansible

Ansible for Enterprise

★Start Hands On

Page 4: Ansible はじめてみました

Let me introduce myself 倉持健史(くらもち たけし)

現職

TIS OSS推進室 (TME のような)

職歴

NetApp.KK

OpenStack Manila / Hadoop Solution

HA Clusterware Sup/Edu/Dev/Pre

SPARC Solaris , Vine Linux

R

Page 5: Ansible はじめてみました

楽をしたい!

Page 6: Ansible はじめてみました

Ansible is a radically simple IT automation engine that automates cloud provisioning, configuration management, application deployment, intra-service orchestration, and many other IT needs.

Page 7: Ansible はじめてみました

What’s Ansible? サーバ構築の自動化ツール

App Deployment Configuration Management Orchestration

Ansible

楽をさせてくれる簡単な自動化エンジン

Page 8: Ansible はじめてみました

Example システム自動構築

運用の簡便化・効率化

Page 9: Ansible はじめてみました

DevOps made Simple. Deploy apps. Manage systems. Crush complexity. Ansible is a powerful automation tool that you can learn quickly.

Page 10: Ansible はじめてみました

Ansible Design Principles

Page 11: Ansible はじめてみました

Simple

学習コストが低い

既知知識の流用

スグに導入

スグに達人

Page 12: Ansible はじめてみました

Agentless 構成される側にエージェントが不要

SSH 接続

Python は必要

Ansible

SSH

構成される側

Page 13: Ansible はじめてみました

Powerful Batteries included

冪等性(べきとうせい)担保

Page 14: Ansible はじめてみました

Inventory Playbook

YAML Module

Role Galaxy

Page 15: Ansible はじめてみました

How to use Ansible 必要なマシン

Ansible がインストールされているマシン

必要なファイル

Inventory (インベントリ)

Playbook (プレイブック)

Inventory : ansible_hosts Playbook : playbook.yml

Page 16: Ansible はじめてみました

Inventory 「何(対象物)に?」を示すファイル

192.168.2.200

192.168.2.200 192.168.3.200

[webservers] 192.168.2.200 192.168.3.200

http://docs.ansible.com/intro_inventory.html

Page 17: Ansible はじめてみました

Playbook 「何を?(最終的にどんな状態に?)」を書いたファイル(YAMLという決まったフォーマット)

--- - hosts: 192.168.2.200 remote_user: root tasks: - name: install apache at the latest version yum: pkg=httpd state=latest - name: start apache service: name=httpd state=started enabled=yes

http://docs.ansible.com/playbooks_intro.html

文章で書くと、「192.168.2.200 に対して、スーパーユーザで yum を使って httpd をインストールし、 起動(次回再起動時も起動するように同時に設定)」

Page 18: Ansible はじめてみました

Run ansible-playbook コマンド実行

Ansible 構成される側

SSH

$ ansible-playbook -i ansible_hosts playbook.yml PLAY [192.168.2.200] ********************************************************** GATHERING FACTS *************************************************************** ok: [192.168.2.20] : : PLAY RECAP ******************************************************************** 192.168.2.20 : ok=2 changed=2 unreachable=0 failed=0

# yum install httpd # service httpd start # chkconfig httpd on OR systemctl enabled httpd

Page 19: Ansible はじめてみました

More … 台数や処理数が増えたら・・・

Playbook ファイルの分割やパッケージを使用

(include , role)

標準で出来ないことがあったら・・・

自分で作る (module)

巨人の肩の上に立つ

Page 20: Ansible はじめてみました

Ansible Galaxy

Page 21: Ansible はじめてみました

I think any customer is not only ISV and IHV will expect for this.

Page 22: Ansible はじめてみました

Ansible for Enterprise 物理サーバ、仮想サーバ

SDX

Amazon Web Service

Docker

Google

Microsoft Azure

OpenStack

CloudStack

VMware

Page 23: Ansible はじめてみました

The comparison of Chef and Ansible Ruby or Python

Ansible は Agentless

Ansible は Orchestration もこなす!

Chef → Ansible 、 Ansible → Chef ?

実績・ノウハウ Ansible < Chef(後発が故に・・・)

Page 24: Ansible はじめてみました

Google Trend …

Page 25: Ansible はじめてみました

Summary Ansible で楽をしよう!

Simple , Agentless , Powerful

たった2つだけで自動化・オーケストレーション

Enterprise への十分な期待!

Page 26: Ansible はじめてみました

Reference ドキュメント

http://docs.ansible.com

採用事例・WhitePaper

http://www.ansible.com/resources

Page 27: Ansible はじめてみました

事前準備 Lesson 1 Lesson 2

http://goo.gl/5kZN8k

Page 28: Ansible はじめてみました

Goal

(blog)

VM Ubuntu14.04

(host)

Ansible Target

AP

Web

DB

PHP

Apache

MariaDB

Page 29: Ansible はじめてみました

Hands On Point Playbook(YAML で書く)

直感的

順番に記述

処理単位は Module

Page 30: Ansible はじめてみました

Modules

Module Index

ほしい物を探す

http://docs.ansible.com/

Page 31: Ansible はじめてみました

Modules(つづき) Synopsis(概要)

Option(オプション)

Note(注意点)

Example(使用例)