インフラ自動構築エンジン "Ansible"の勘所を1日でつかむ ~基礎入門編~

44
インフラ自動構築エンジン " Ansible"の勘所を1日でつかむ ~基礎入門編~ 2015924TIS株式会社 OSS推進室 倉持 健史

Transcript of インフラ自動構築エンジン "Ansible"の勘所を1日でつかむ ~基礎入門編~

インフラ自動構築エンジン"Ansible"の勘所を1日でつかむ

~基礎入門編~

2015年9月24日

TIS株式会社 OSS推進室

倉持 健史

本日のゴール

• Ansible がどんなものかを知ってもらう

• 帰ったらスグに迷わず試せる

• プロダクション・開発環境どちらも十分活用

アジェンダ

What’s Ansible?

Design Principles

How to use Ansible

Ansible for Enterprise

Demo Movie

Demonstration

Reference

自己紹介倉持健史(くらもち たけし)

現職

TIS OSS推進室 OSSプロモーション担当

職歴・他

NetApp.KK

OpenStack/Hadoop ソリューション開発

HA クラスタウェア 保守/開発/教育/プリ/コンサル

UNIX/Linuxインテグレーション

Perl / R

TISエンタープライズ OSS サポートサービス

OSS プロダクトサポート OSS 技術コンサルティング OSS マイグレーション

https://www.tis.jp/service_solution/oss/

きっかけは・・・

プレゼンテーションデモンストレーション

楽をしたい!

Ansible is a radically simple IT automation

engine that automates cloud provisioning,

configuration management, application

deployment, intra-service orchestration, and

many other IT needs.

サーバ構築を自動化する構成管理ツール(OSS)

What’s Ansible?

What’s Ansible?

システム構築・運用で、

人が楽をできる簡単な自動化エンジン

What’s Ansible?

•システムコンフィグレーション

•オーケストレーション

•アプリケーションデプロイメント

アプリケーションサービスデプロイメント

システムコンフィグレーション

クラウド、VM、コンテナイメージ起動

OSインストレー

ション

Provisioning Activity

Orchestration

Configuration

Bootstrapping

AWS Cobbler

OpenStack

Kickstart

VMware

Capistrano

Fabric

Puppet

Chef

Azure

Ansible

引用元:Provisioning Toolchain (Velocity2010) by Lee Thompson

Docker

DevOps made Simple.

Deploy apps. Manage systems. Crush

complexity.

Ansible is a powerful automation tool that you

can learn quickly.

Ansible Design Principles

シンプル is ベスト複雑ではない

共通“言語”

スグに達人!?

習得もインストールも

参考図書でみる学習コスト差

某OSS・・・400頁 or 670頁

Ansible・・・112頁

エージェントレス余計な導入物不要

スグ試行

スグ本番適用

Agentless for UNIX/Linux

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

SSH 接続

Python は必要

Ansible

SSH

構成される側UNIX/Linux

Agentless for Windows

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

HTTP/HTTPS 接続

PowerShell 3.0以上は必要

Ansible

Web Service Management

プロトコル(SOAP)

構成される側Windows

Batteries included

冪等性(べきとうせい)

パワフル!

Batteries included

• ファイル編集

• ファイルダウンロード

• アプリケーションやサービスの起動

• クラウドイメージの管理(起動・停止など)

• 通知・ジョブ設定

• ネットワーク機器設定

• コマンド・シェル実行

などなど・・・

Inventory

Playbook

YAML

Module

Role

Galaxy

How to use Ansible 必要なマシン

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

必要なファイル

Inventory (インベントリ)

Playbook (プレイブック)

Inventory : ansible_hosts

Playbook : playbook.yml

Inventory

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

192.168.2.200

192.168.2.200192.168.3.200

[webservers]192.168.2.200192.168.3.200

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

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

---- hosts: 192.168.2.200

remote_user: roottasks:- 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 をインストールし、 起動(次回再起動時も起動するように同時に設定)」

Runansible-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)

More …

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

Playbook ファイルの分割や役割毎にまとめる

(include , role)

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

自分で作る (module)

巨人の肩の上に立つ

Ansible Galaxy

6月・・・2600

9月・・・3405

I think any customer is not only ISV and

IHV will expect for this.

Ansible for Enterprise

• 物理サーバ、仮想サーバ

• AWS、Azure、Google

• Docker

• OpenStack、CloudStack

• SDX

Ansible Tower

http://www.ansible.com/tower

Ansible が導入された “host” からTarget ”blog” マシン上で WordPress を構成する

(blog)

VMUbuntu14.04

(host)

Ansible Target

AP

Web

DB

PHP

Apache

MariaDB

Demo Movie

Configuration

Create VM

Install Packages

一撃Ansible

- Inventory

- Playbook

AP

Web

DB

PHP

Apache

MariaDB

Demonstration

Chef vs Ansible

The comparison of Chef and Ansible

• Ansible は エージェントレス

• Ansible は オーケストレーション もこなす

• 学習コスト Chef > Ansible

• Chef = Ruby , Ansible = Python

• Chef → Ansible多い、 Ansible → Chef ?

• 実績・ノウハウ Ansible < Chef

Google Trend …

Google Trend …

Reference ドキュメント

http://docs.ansible.com

採用事例・WhitePaper

http://www.ansible.com/resources

• インフラ技術

• 機械学習

イベントサイト Connpass にて開催中

Let’s Try!

• Tech-Circle#6 Ansible ハンズオン~事前準備~

• Tech-Circle#6 Ansible ハンズオン~Lesson1~

• Tech-Circle#6 Ansible ハンズオン~Lesson2~

http://qiita.com/tksarah/

まとめ

Ansible で楽をしよう!

• Simple , Agentless , Powerful

• 2パーツだけで自動化・オーケストレーション

• プロダクション・開発環境どちらでも

『 Ansible 』の発音は?

あえぇんしぼー

Thank you