Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

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

4,901 views

Published on

講師:日本仮想化技術 宮原
日時:2015/5/22
タイトル:これから始める人のための自動化入門 〜Ubuntu Jujuを使って〜
概要:
- 自動化をやってみたい人に簡単に始められる自動化ツール「Juju」を紹介します
- 自動化とは?
- Jujuを動かしてみよう
- Juju環境を構築しよう
--- VirtualBox+Vagrantでの導入
--- Ubuntu環境に手動でインストール
- Juju活用とトラブルシューティング
- スタッフ募集のお知らせ

Published in: Technology

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

  1. 1. これから始める人のための自動化入門 ~Ubuntu Jujuを使って~ 日本仮想化技術株式会社 代表取締役社長兼CEO 宮原 徹(@tmiyahar) http://VirtualTech.jp
  2. 2. 自己紹介 • 本名:宮原 徹 • 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
  3. 3. 日本仮想化技術株式会社 概要 • 社名:日本仮想化技術株式会社 – 英語名: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
  4. 4. 情報サイト:EnterpriseCloud.jp • OpenStackで始めるエ ンタープライズクラウ ドの情報サイト • OpenStack導入手順 書のダウンロード • 各種プレゼン資料 • その他ブログ記事 4
  5. 5. 本日のアジェンダ 自動化をやってみたい人に簡単に始められる 自動化ツール「Juju」を紹介します • 自動化とは? • Jujuを動かしてみよう • Juju環境を構築しよう – VirtualBox+Vagrantでの導入 – Ubuntu環境に手動でインストール • Juju活用とトラブルシューティング • スタッフ募集のお知らせ 5
  6. 6. 自動化とは? 6
  7. 7. 自動化のメリット • 自動化とはシステム構築・管理において、 従来の手動作業を自動化ツールなどを活 用して自動的に行えるようにすること • オペレーションミスを減らすことができる • 行った作業を後から確認、修正できる • 繰り返し、大量の作業が行える 7
  8. 8. 主な自動化ツール • シェルスクリプト – 最も手軽で汎用性が高い • Puppet – manifestに処理を記述 • Chef(Ruby) – Recipeに処理を記述 • Ansible(Python) – Play bookに処理を記述 • Vagrant – VirtualBoxなどを使って仮想マシン構成を自動化 8
  9. 9. Ubuntu Jujuとは? • Canonical社が開発している自動化ツール • Charmに処理を記述できる – WebアプリケーションとDBの接続、DBのクラ スタリングなどの処理も行える • 各種クラウド環境に対応 – AWS、Azure、OpenStackなど • Web GUIが用意されており、簡単にアプリ ケーションを配備できる 9
  10. 10. Jujuを動かしてみよう 環境構築の話は後ほど
  11. 11. Jujuの使い方(GUI版) 1. Web GUIにadminでログイン 2. インストールしたいアプリケーション用の Charmを検索 3. Charmをキャンバスに配置 – 自動的にユニットが1つ追加される 4. Charm同士を接続(ex. バックエンドDB) 5. Commitすると、Charmがダウンロードされ、 ユニットが配備される 6. 外部からの接続を可能にする(Expose) 11
  12. 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になるまでしばらく待つ 12
  13. 13. GUI デモ手順(2) 6. MediaWikiをExposeする 1. 「Expose this service?」をチェックしてCommit 7. MediaWikiにアクセスする 1. MediaWikiのユニット(mediawiki/0)を確認す る 2. Public AddressのIPアドレスをクリックする 13
  14. 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作業は不要 14
  15. 15. Juju環境を構築しよう Jujuつ師になるための第一歩 15
  16. 16. Juju環境を作るには A. VirtualBox+Vagrantで自動的に作る – 必要なソフトウェアのインストールとコマンドを いくつか入れるだけで超簡単に作れる – 毎回、初期化が必要なのでお試し用 B. Ubuntuに手動でインストールしていく – Ubuntu 14.04 LTSにパッケージをインストール – 意外と簡単なので練習用 C. クラウド上にインストール – AWSとかAzureとか、OpenStackとか 16
  17. 17. A. VirtualBox+Vagrantでの導入 • 「Juju Vagrant」でググればOK – https://jujucharms.com/docs/devel/config- vagrant • Ubuntu、Mac OS X、Windowsをサポート – 仮想マシンの中でUbuntuが動けばいいので、 多分CentOSなどでもOK 17
  18. 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 – 必要なものをダウンロードしてくるので時間がかかる 18
  19. 19. Vagrantfileの編集 • Jujuが動作する仮想マシンのメモリ割り当て量を4GB以 上にする – いくつかのアプリはデフォルトでメモリを沢山要求するため • ~/vagrant/Vagrantfileを編集 – 行頭の#を外してコメントアウトされていた設定を有効化&メモリ 容量を変更 19 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
  20. 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つ師! 20
  21. 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を動かしてコンテナで色々なアプリを動かします – インストール時に特別何も追加しないでも大丈夫 21
  22. 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 22
  23. 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で確認 23 local: type: local admin-secret: password
  24. 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のターミナルで実行 24 ホストマシン 仮想マシン eth1 eth0 192.168.56.101 en0 ブラウザ (Mac) コンテナ 10.0.3.0/24 ホスト オンリー NAT lxcbr 0 10.0.3.1 10.0.2.15 IPマスカレード インター ネット
  25. 25. Juju 活用テクニック • GUIの操作はゆっくり – 操作は一発だが、実際のデプロイはパッケー ジのダウンロードやインストール速度に依存 • デプロイしたマシン(コンテナ)への接続 – $ juju ssh ユニット名 – ユニット名は「mysql/0」など • 複数のCharmをとりまとめたBandleも活用 – OpenStackのような複数Charmが必要なシステ ムも一括でデプロイ可能 25
  26. 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:セクションに追加 1. juju destroy-environment localを実行 2. juju bootstrapを実行 26 Acquire::http::Proxy "http://127.0.0.1:3142/"; atp-http-proxy: http://10.0.3.1:3142/ ※IPアドレスは環境によって変わる場合があります
  27. 27. Juju トラブルシューティング • juju sshコマンドでトラブル原因を確認 • デプロイに失敗したユニットを消すにはエラー を先に取り除く必要がある – $ juju resolved ユニット名 – resolvedコマンドを連発して、とりあえず起動処理 を終わらせる • 最初からやり直したい 1. juju destroy-environment local • juju switch localを実行している場合 • ~/.juju/environments.yamlは消えません 2. juju bootstrapをやり直す 27
  28. 28. まとめ:ここからの課題 • 実際のクラウド環境への適用 – AWS、Azure、OpenStackなど – Jujuの操作感は基本的に変わりません • マシン配備のMAASと組み合わせて – MAAS:Metal as a Service • Charmを書いてみる – GUIでパラメータ調整可能 – 自分でスクリプトを書ける(言語は何でもOK) • 外部サービス連携 – 詳細設定やコンテンツをGitなどから適用 28
  29. 29. スタッフ募集のお知らせ
  30. 30. 日本仮想化技術株式会社は • 仮想化技術のエキスパート集団 • 進取の精神 • 豊富な検証機材で新技術を追求 • 自由な雰囲気の職場
  31. 31. 募集している職種は • サーバー・ネットワークエンジニア – LPIC、CCNAなどの保有者歓迎 • プログラマー – オブジェクト指向言語が理解できている事 – OpenStackのコードを読んだり、書いたり • 営業・企画・マーケティング – SE、PL、PM経験者大歓迎
  32. 32. 勤務先は? •渋谷駅より徒歩5分 •全員がゆったりデスク とアーロンチェア
  33. 33. オフィスは渋谷駅至近 33 日本仮想化技術 オフィス ハ チ 公 渋谷駅東 口 交差点信 号 渋 谷 駅 ヒカリエの中を通ると 雨の日にあまり濡れません 渋 谷 郵 便 局
  34. 34. 優れた環境が優れた成果を生む 渋谷駅徒歩5分の新オフィス 幅140cmのゆったりデスクとアーロンチェア MacBook Pro/Airと大型液晶モニタが標準 キーボード・マウスも自由 充実の検証環境 最新機材で作業
  35. 35. 充実の福利厚生 • マッサージチェア • 充実のフリードリンクコーナー – 各種お茶類、ネスプレッソなど各種取り揃え • 誕生日はケーキでお祝い • 雑誌年間購読制度 – 何でも好きな雑誌を年間購読 • 書籍購入支援制度 – 好きな書籍(漫画も可)を1万円/年購入 35
  36. 36. お問い合わせ先 メールにて recruit@VirtualTech.jp 履歴書、職務経歴書をご用意ください ご紹介も是非。きっと何かいいことあります。 36
  37. 37. お待ちしております 37

×