38
こここここここここここここここここ Ubuntu Juju こここここここここここここここ ここここここここ CEO ここ こ (@tmiyahar) http://VirtualTech.jp

これから始める人のための自動化入門~Ubuntu Jujuを使って〜– OpenStack最新情報セミナー 2015年7月

Embed Size (px)

Citation preview

Page 1: これから始める人のための自動化入門~Ubuntu Jujuを使って〜– OpenStack最新情報セミナー 2015年7月

これから始める人のための自動化入門~ Ubuntu Juju を使って~

日本仮想化技術株式会社代表取締役社長兼 CEO

宮原 徹 (@tmiyahar)http://VirtualTech.jp

Page 2: これから始める人のための自動化入門~Ubuntu Jujuを使って〜– OpenStack最新情報セミナー 2015年7月

自己紹介• 本名:宮原 徹• 1972 年 1 月 神奈川県生まれ• 1994 年 3 月 中央大学法学部法律学科卒業• 1994 年 4 月 日本オラクル株式会社入社

– PC サーバ向け RDBMS 製品マーケティングに従事– Linux 版 Oracle8 の日本市場向け出荷に貢献

• 2000 年 3 月 株式会社デジタルデザイン 東京支社長および株式会社アクアリウムコンピューター 代表取締役社長に就任– 2000 年 6 月 (株)デジタルデザイン、ナスダック・ジャパン

上場( 4764 )• 2001 年 1 月 株式会社びぎねっと 設立• 2006 年 12 月 日本仮想化技術株式会社 設立• 2008 年 10 月 IPA 「日本 OSS 貢献者賞」受賞• 2009 年 10 月 日中韓 OSS アワード 「特別貢献賞」受賞

2

Page 3: これから始める人のための自動化入門~Ubuntu Jujuを使って〜– OpenStack最新情報セミナー 2015年7月

日本仮想化技術株式会社 概要• 社名:日本仮想化技術株式会社

– 英語名: VirtualTech Japan Inc.– 略称:日本仮想化技術/ VTJ

• 設立: 2006 年 12 月• 資本金: 2,000 万円• 売上高: 1 億 3,573 万円( 2013 年 7 月期)• 本社:東京都渋谷区渋谷 1-8-1• 取締役:宮原 徹(代表取締役社長兼 CEO )• 伊藤 宏通(取締役 CTO )• スタッフ: 8 名(うち、 6 名が仮想化技術専門エンジニアです)• URL : http://VirtualTech.jp/• 仮想化技術に関する研究および開発

– 仮想化技術に関する各種調査– 仮想化技術に関連したソフトウェアの開発– 仮想化技術を導入したシステムの構築– OpenStack の導入支援・新規機能開発

ベンダーニュートラルな独立系仮想化技術のエキスパート集団

3

Page 4: これから始める人のための自動化入門~Ubuntu Jujuを使って〜– OpenStack最新情報セミナー 2015年7月

4

情報サイト:EnterpriseCloud.jp

• OpenStack で始めるエンタープライズクラウドの情報サイト

• OpenStack 導入手順書のダウンロード

• 各種プレゼン資料• その他ブログ記事

Page 5: これから始める人のための自動化入門~Ubuntu Jujuを使って〜– OpenStack最新情報セミナー 2015年7月

5

本日のアジェンダ自動化をやってみたい人に簡単に始められる自動化ツール「 Juju 」を紹介します• 自動化とは?• Juju を動かしてみよう• Juju 環境を構築しよう

– VirtualBox+Vagrant での導入– Ubuntu 環境に手動でインストール

• Juju 活用とトラブルシューティング• Ubuntu Juju を使った OpenStack 環境構築(田口)• スタッフ募集のお知らせ

Page 6: これから始める人のための自動化入門~Ubuntu Jujuを使って〜– OpenStack最新情報セミナー 2015年7月

6

自動化とは?

Page 7: これから始める人のための自動化入門~Ubuntu Jujuを使って〜– OpenStack最新情報セミナー 2015年7月

7

自動化のメリット

• 自動化とはシステム構築・管理において、従来の手動作業を自動化ツールなどを活用して自動的に行えるようにすること

• オペレーションミスを減らすことができる

• 行った作業を後から確認、修正できる• 繰り返し、大量の作業が行える

Page 8: これから始める人のための自動化入門~Ubuntu Jujuを使って〜– OpenStack最新情報セミナー 2015年7月

8

主な自動化ツール• シェルスクリプト

– 最も手軽で汎用性が高い• Puppet

– manifest に処理を記述• Chef ( Ruby )

– Recipe に処理を記述• Ansible ( Python )

– Play book に処理を記述• Vagrant

– VirtualBox などを使って仮想マシン構成を自動化

Page 9: これから始める人のための自動化入門~Ubuntu Jujuを使って〜– OpenStack最新情報セミナー 2015年7月

9

Ubuntu Juju とは?

• Canonical 社が開発している自動化ツール

• Charm に処理を記述できる– Web アプリケーションと DB の接続、 DB

のクラスタリングなどの処理も行える• 各種クラウド環境に対応

– AWS 、 Azure 、 OpenStack など• Web GUI が用意されており、簡単にア

プリケーションを配備できる

Page 10: これから始める人のための自動化入門~Ubuntu Jujuを使って〜– OpenStack最新情報セミナー 2015年7月

Juju を動かしてみよう

環境構築の話は後ほど

Page 11: これから始める人のための自動化入門~Ubuntu Jujuを使って〜– OpenStack最新情報セミナー 2015年7月

11

Juju の使い方( GUI 版)

1. Web GUI に admin でログイン2. インストールしたいアプリケーション用の

Charm を検索3. Charm をキャンバスに配置

– 自動的にユニットが 1つ追加される

4. Charm同士を接続( ex. バックエンド DB )5. Commit すると、 Charm がダウンロードされ、ユニットが配備される

6. 外部からの接続を可能にする( Expose )

Page 12: これから始める人のための自動化入門~Ubuntu Jujuを使って〜– OpenStack最新情報セミナー 2015年7月

12

GUI デモ手順( 1 )

1. 「 MySQL 」の Charm をキャンバスに配置2. 「 MediaWiki 」の Charm をキャンバスに配置

3. Charm同士を接続1. 「 Build Relation 」をクリック2. Charm同士を線で繋ぐ3. 「 mediawiki:db → mysql:db 」を選択

4. Commitボタンを押す1. 「 Automatically place 」 を選択し、 Confirm

5. ユニットが running になるまでしばらく待つ

Page 13: これから始める人のための自動化入門~Ubuntu Jujuを使って〜– OpenStack最新情報セミナー 2015年7月

13

GUI デモ手順( 2 )

6. MediaWiki を Expose する1. 「 Expose this service? 」をチェックして

Commit

7. MediaWiki にアクセスする1. MediaWiki のユニット( mediawiki/0 )を

確認する2. Public Address の IP アドレスをクリック

する

Page 14: これから始める人のための自動化入門~Ubuntu Jujuを使って〜– OpenStack最新情報セミナー 2015年7月

14

CUI デモ手順

1. juju deploy mysql

2. juju deply mediawiki

3. juju add-relation mediawiki:db mysql:db

4. juju expose mediawiki

5. juju status

6. MediaWiki の Public Address にアクセス

GUI と異なり、 Commit 作業は不要

Page 15: これから始める人のための自動化入門~Ubuntu Jujuを使って〜– OpenStack最新情報セミナー 2015年7月

15

Juju 環境を構築しよう

Jujuつ師になるための第一歩

Page 16: これから始める人のための自動化入門~Ubuntu Jujuを使って〜– OpenStack最新情報セミナー 2015年7月

16

Juju 環境を作るには

A. VirtualBox+ Vagrant で自動的に作る–必要なソフトウェアのインストールとコマン

ドをいくつか入れるだけで超簡単に作れる–毎回、初期化が必要なのでお試し用

B. Ubuntu に手動でインストールしていく– Ubuntu 14.04 LTS にパッケージをインストール–意外と簡単なので練習用

C. クラウド上にインストール– AWS とか Azure とか、 OpenStack とか

Page 17: これから始める人のための自動化入門~Ubuntu Jujuを使って〜– OpenStack最新情報セミナー 2015年7月

17

A. VirtualBox+Vagrant での導入

• 「 Juju Vagrant 」でググれば OK– https://jujucharms.com/docs/devel/config-

vagrant

• Ubuntu 、 Mac OS X 、 Windows をサポート– 仮想マシンの中で Ubuntu が動けばいいの

で、多分 CentOS などでも OK

Page 18: これから始める人のための自動化入門~Ubuntu Jujuを使って〜– OpenStack最新情報セミナー 2015年7月

18

VirtualBox+Vagrant での導入手順

1. Vagrant の作業用ディレクトリを作成– $ mkdir ~/vagrant– $ cd ~/vagrant

2. Vagrant 用の Box ( Juju 導入済み)をダウンロード– $ vagrant box add JujuBox

https://cloud-images.ubuntu.com/vagrant/trusty/trusty-server-cloudimg-amd64-juju-vagrant-disk1.box

3. Vagrant を初期化– $ vagrant init JujuBox

4. メモリ割り当て量を増やす5. Juju 環境を起動

– $ vagrant up– 必要なものをダウンロードしてくるので時間がかかる

Page 19: これから始める人のための自動化入門~Ubuntu Jujuを使って〜– OpenStack最新情報セミナー 2015年7月

19

Vagrantfile の編集• Juju が動作する仮想マシンのメモリ割り当て量を

4GB以上にする– いくつかのアプリはデフォルトでメモリを沢山要求するた

め• ~/vagrant/Vagrantfile を編集

– 行頭の # を外してコメントアウトされていた設定を有効化&メモリ容量を変更

config.vm.provider "virtualbox" do |vb| # # Display the VirtualBox GUI when booting the machine # vb.gui = true # # # Customize the amount of memory on the VM: vb.memory = "4096" end

Page 20: これから始める人のための自動化入門~Ubuntu Jujuを使って〜– OpenStack最新情報セミナー 2015年7月

20

Juju on VirtualBox+Vagrant の利用

1. ホスト側のブラウザで Juju GUI にアクセス– http://127.0.0.1:6080/– ドキュメントには Mac OS X 10.10以降は静的

ルーティングを設定しろ、とあるが v10.10.3 は無くても大丈夫そう

2. admin でログイン– パスワードはログイン画面に書いてあります

3. 初回はチュートリアルツアーが受けられます

4. Let's Jujuつ師!

Page 21: これから始める人のための自動化入門~Ubuntu Jujuを使って〜– OpenStack最新情報セミナー 2015年7月

21

B. Ubuntu に手動でインストール

• Ubuntu 14.04 LTS の稼働環境を準備– とりあえず仮想マシンで OK– VitrualBox の場合、 NIC を 2つ

• NAT (アダプター 1 ・ eth0 )+ホストオンリーネットワーク(アダプター 2 ・ eth1 )

• インストール時は eth0 を使用• インストール後に eth1も /etc/network/interfaces を設定して

DHCP オンにしておくこと– メモリは 4GB以上(できれば 8GB )割り当てないと色々不具合が起きる

• とりあえず 1台だけで動かします– LXC を動かしてコンテナで色々なアプリを動かします– インストール時に特別何も追加しないでも大丈夫

Page 22: これから始める人のための自動化入門~Ubuntu Jujuを使って〜– OpenStack最新情報セミナー 2015年7月

22

Ubuntu に手動でインストール手順

1. リポジトリを登録– $ sudo apt-add-repository ppa:juju/stable– $ sudo apt-get update

2. Juju をインストール– $ sudo apt-get install juju-local

3. Juju を初期化– $ juju generate-config

4. ローカルで LXC を使う設定に変更– $ juju switch local

Page 23: これから始める人のための自動化入門~Ubuntu Jujuを使って〜– OpenStack最新情報セミナー 2015年7月

23

Ubuntu に手動でインストール手順

5. 管理者用パスワードを設定ファイルに設定– ~/.juju/environments.yaml を修正– 使用するセクションは「 local: 」で検索する– admin-secret: password を追加

6. Juju を起動– $ juju bootstrap

7. Juju GUI を導入– $ juju deploy juju-gui– $ juju expose juju-gui– IP アドレスは juju stat で確認

local: type: local admin-secret: password

Page 24: これから始める人のための自動化入門~Ubuntu Jujuを使って〜– OpenStack最新情報セミナー 2015年7月

24

Mac側に静的ルーティングを設定

• 仮想マシンの eth1 ( 192.168.56.101 )を経由コンテナのネットワーク( 10.0.3.0/24 )に繋ぎます– $ sudo route add -net 10.0.3.0/24 192.168.56.101

• Mac OS X のターミナルで実行ホストマシン

仮想マシン

eth1 eth0192.168.56.101

en0ブラウ

ザ (Mac)

コンテナ

10.0.3.0/24

ホストオンリー NAT

lxcbr010.0.3.1 10.0.2.15

IP マスカレードインターネット

Page 25: これから始める人のための自動化入門~Ubuntu Jujuを使って〜– OpenStack最新情報セミナー 2015年7月

25

Juju 活用テクニック• GUI の操作はゆっくり

–操作は一発だが、実際のデプロイはパッケージのダウンロードやインストール速度に依存

• デプロイしたマシン(コンテナ)への接続– $ juju ssh ユニット名–ユニット名は「 mysql/0 」など

• 複数の Charm をとりまとめた Bandleも活用– OpenStack のような複数 Charm が必要なシステムも一括でデプロイ可能

Page 26: これから始める人のための自動化入門~Ubuntu Jujuを使って〜– OpenStack最新情報セミナー 2015年7月

26

apt-cacher-ng を導入• apt-cacher-ng を導入してパッケージをキャッシュして

おけばデプロイ時の apt-get が速くなる– $ sudo apt-get install apt-cacher-ng

• ローカルで使いたい– /etc/apt/apt.conf.d/02proxy を作成

• Juju でデプロイしたコンテナから使いたい– LXC コンテナのネットワークからのゲートウェイアドレス

( lxcbr0 の IP アドレス)を指定1. ~/.juju/environments.yaml の local:セクションに追加

2. juju destroy-environment local を実行3. juju bootstrap を実行

Acquire::http::Proxy "http://127.0.0.1:3142/";

atp-http-proxy: http://10.0.3.1:3142/

※IP アドレスは環境によって変わる場合があります

Page 27: これから始める人のための自動化入門~Ubuntu Jujuを使って〜– OpenStack最新情報セミナー 2015年7月

27

Juju トラブルシューティング• juju ssh コマンドでトラブル原因を確認• デプロイに失敗したユニットを消すにはエ

ラーを先に取り除く必要がある– $ juju resolved ユニット名– resolved コマンドを連発して、とりあえず起動処理

を終わらせる• 最初からやり直したい

1. juju destroy-environment local• juju switch local を実行している場合• ~/.juju/environments.yaml は消えません

2. juju bootstrap をやり直す

Page 28: これから始める人のための自動化入門~Ubuntu Jujuを使って〜– OpenStack最新情報セミナー 2015年7月

28

まとめ:ここからの課題• 実際のクラウド環境への適用

– AWS 、 Azure 、 OpenStack など– Juju の操作感は基本的に変わりません

• マシン配備の MAAS と組み合わせて– MAAS:Metal as a Service

• Charm を書いてみる– GUI でパラメータ調整可能– 自分でスクリプトを書ける(言語は何でもOK )

• 外部サービス連携– 詳細設定やコンテンツを Git などから適用

Page 29: これから始める人のための自動化入門~Ubuntu Jujuを使って〜– OpenStack最新情報セミナー 2015年7月

29

Ubuntu Juju を使ったOpenStack 環境構築

Page 30: これから始める人のための自動化入門~Ubuntu Jujuを使って〜– OpenStack最新情報セミナー 2015年7月

スタッフ募集のお知らせ

Page 31: これから始める人のための自動化入門~Ubuntu Jujuを使って〜– OpenStack最新情報セミナー 2015年7月

日本仮想化技術株式会社は

• 仮想化技術のエキスパート集団• 進取の精神• 豊富な検証機材で新技術を追求• 自由な雰囲気の職場

Page 32: これから始める人のための自動化入門~Ubuntu Jujuを使って〜– OpenStack最新情報セミナー 2015年7月

募集している職種は

• サーバー・ネットワークエンジニア– LPIC 、 CCNA などの保有者歓迎

• プログラマー– オブジェクト指向言語が理解できている事– OpenStack のコードを読んだり、書いたり

• 営業・企画・マーケティング– SE 、 PL 、 PM経験者大歓迎

Page 33: これから始める人のための自動化入門~Ubuntu Jujuを使って〜– OpenStack最新情報セミナー 2015年7月

勤務先は?

•渋谷駅より徒歩 5分•全員がゆったりデスクとアーロンチェア

Page 34: これから始める人のための自動化入門~Ubuntu Jujuを使って〜– OpenStack最新情報セミナー 2015年7月

34

オフィスは渋谷駅至近日本仮想化技術

オフィス

ハチ公

渋谷駅東口

交差点信号

渋谷駅

ヒカリエの中を通ると雨の日にあまり濡れません

渋谷郵便局

Page 35: これから始める人のための自動化入門~Ubuntu Jujuを使って〜– OpenStack最新情報セミナー 2015年7月

優れた環境が優れた成果を生む

渋谷駅徒歩 5分の新オフィス

幅 140cm のゆったりデスクとアーロンチェアMacBook Pro/Air と大型液晶モニタが標準キーボード・マウスも自由

充実の検証環境最新機材で作業

Page 36: これから始める人のための自動化入門~Ubuntu Jujuを使って〜– OpenStack最新情報セミナー 2015年7月

36

充実の福利厚生

• マッサージチェア• 充実のフリードリンクコーナー

– 各種お茶類、ネスプレッソなど各種取り揃え

• 誕生日はケーキでお祝い• 雑誌年間購読制度

–何でも好きな雑誌を年間購読• 書籍購入支援制度

–好きな書籍(漫画も可)を 1 万円/年購入

Page 37: これから始める人のための自動化入門~Ubuntu Jujuを使って〜– OpenStack最新情報セミナー 2015年7月

37

お問い合わせ先

メールにて

[email protected]

履歴書、職務経歴書をご用意くださいご紹介も是非。きっと何かいいことあり

ます。

Page 38: これから始める人のための自動化入門~Ubuntu Jujuを使って〜– OpenStack最新情報セミナー 2015年7月

38

お待ちしております