OpenStackでつくる開発環境と外道塾

7,535 views

Published on

Published in: Technology
0 Comments
22 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
7,535
On SlideShare
0
From Embeds
0
Number of Embeds
2,168
Actions
Shares
0
Downloads
0
Comments
0
Likes
22
Embeds 0
No embeds

No notes for slide

OpenStackでつくる開発環境と外道塾

  1. 1. Copyright gedow.net All Rights Reserved. OpenStackでつくる 開発環境と外道塾 外道父@GedowFather Drecom×gloops 夜の勉強会 2013/07/23
  2. 2. Copyright gedow.net All Rights Reserved. 2 ち ょ う ど オ ー プ ン ス タ ッ ク が 気 に な っ て た ? べ ん り だ よ ~ 就 活 に は 役 に 立 た な い け ど な !
  3. 3. Copyright gedow.net All Rights Reserved. 自己紹介
  4. 4. Copyright gedow.net All Rights Reserved. 4 自己紹介 ■私は 外道父@GedowFather ■所属 ドリコム ■職種 インフラエンジニア ■ブログ 外道父の匠
  5. 5. Copyright gedow.net All Rights Reserved. 5 目次 1. 外道的OpenStack 2. 開発環境としてつかう 3. 外道塾を開校する
  6. 6. Copyright gedow.net All Rights Reserved. 外道的OpenStack
  7. 7. Copyright gedow.net All Rights Reserved. 7 バージョン Grizzly を使ってます グリズリー HP:110 生息地:カザーブの東 ちからのたねを落とす グリズリー HP:340 生息地:ホーリーローリーマウンテン 2回攻撃/さいごのいちげき ──> Folsom ──> ──> Havana ──>
  8. 8. Copyright gedow.net All Rights Reserved. 8 OpenStackを一言で表す 一般的には  クラウド基盤を構築するOSS 外道父的には  仮想環境用Linux技術総合管理ツール 名前の由来は知らないけど Open (Source Software) Stack オープンソースソフトウェアの積み重ね とはよく言ったものだと最近、感じています
  9. 9. Copyright gedow.net All Rights Reserved. 9 コンポーネントでみる構成 Keystone (認証) Quantum (ネットワーク) Nova (VM管理) Glance (イメージ) Cinder (ボリューム) Horizon (管理画面) Storage (ストレージ) 最重要 必須 必須 必須 任意 任意 任意
  10. 10. Copyright gedow.net All Rights Reserved. 10 コンポーネントの優先順位 Keystone (認証) Quantum (ネットワーク) Nova (VM管理) Glance (イメージ) Cinder (ボリューム) Horizon (管理画面) Storage (ストレージ) 高 低 1. どのコンポーネントを動作させるに も、まずは認証が必要 2. インスタンスを起動するにはネット ワークとVMイメージが必要 3. ようやくインスタンスを起動して遊 ぶことができる 4. 普通はVMイメージの容量は小さい ので、追加ディスクが欲しい場合は 必要 5. 管理画面があれば皆で仲良く遊べ ちゃう 最 重 要 必 須 任 意
  11. 11. Copyright gedow.net All Rights Reserved. 11 Linux技術でみる構成 / Keystone Keystone (認証)  Keystone  MySQL  LDAP
  12. 12. Copyright gedow.net All Rights Reserved. 12 Linux技術でみる構成 / Quantum  カーネルモジュール (vhost_net or not)  カーネルパラメータ (net.***)  OpenvSwitch (& brcom or bridge)  Quantum router, L3, dhcp, metadata  MySQL  Network NameSpace (ip netns)  iptables (filter, nat, mangle)  route  dnsmasq  libvirt + QEMU KVM Quantum (ネットワーク)
  13. 13. Copyright gedow.net All Rights Reserved. 13 Linux技術でみる構成 / Glance  Glance api, registry  MySQL  Storage Glance (イメージ)
  14. 14. Copyright gedow.net All Rights Reserved. 14 Linux技術でみる構成 / Nova  Nova api, cert, compute, conductor, console, consoleauth, scheduler, spicehtml5proxy, xvpvncproxy  MySQL  libvirt  QEMU+KVM Nova (VM管理)
  15. 15. Copyright gedow.net All Rights Reserved. 15 Linux技術でみる構成 / Cinder  Cinder api, scheduler, volume  MySQL  Storage Cinder (ボリューム)
  16. 16. Copyright gedow.net All Rights Reserved. 16 Linux技術でみる構成 / Horizon  Apache+Python Horizon (管理画面)
  17. 17. Copyright gedow.net All Rights Reserved. 17 Linux技術でみる構成 / Storage  Swift  Ceph  LVM  NFS  iSCSI Storage (ストレージ) Glance用 Cinder用
  18. 18. Copyright gedow.net All Rights Reserved. 18 Linux技術でみる構成 / その他 その他 (利用意識は低め)  rabbitmq  memcached  mongodb  NTP
  19. 19. Copyright gedow.net All Rights Reserved. 19 全部並べてみる Keystone (認証) Quantum (ネットワーク) Nova (VM管理) Glance (イメージ) Cinder (ボリューム) Horizon (管理画面) Storage (ストレージ)  Keystone  MySQL  LDAP  Glance api registry  MySQL  Storage  Nova api, cert, compute, conductor, console, consoleauth, scheduler, spicehtml5proxy, xvpvncproxy  MySQL  libvirt  QEMU+KVM  カーネルモジュール  カーネルパラメータ  OpenvSwitch  Quantum router L3 dhcp, metadata  MySQL  Network NameSpace  iptables  route  dnsmasq  libvirt + QEMU KVM  Cinder api scheduler volume  MySQL  Storage  Apache + Python  Swift  Ceph  LVM  NFS  iSCSI グリズリーがあらわれた!
  20. 20. Copyright gedow.net All Rights Reserved. 20 大切なことは折れない心 『Stackしすぎやろこれ~』 って言ってる暇などない 外道の父さん、独りで全部やったよ でもTwitterがなかったら 途中で泣き崩れてたかも @ishikawa84g , @jedipunkz @ritchey98 , @saito_hideki , @Irix_jp Thanks for 流行りのフルスタックエンジニアだぜ!
  21. 21. Copyright gedow.net All Rights Reserved. サーバ見積もり
  22. 22. Copyright gedow.net All Rights Reserved. 22 構築用サーバ  CPU:Xeon E5-2630L 2.00GHz ×2 12core 24thread  Mem:128 GB  HDD:SATA 7200rpm 1TB ×8 RAID10 実効4TB  NIC:1Gbps ×4(2つしか使ってない) ×3
  23. 23. Copyright gedow.net All Rights Reserved. 23 サーバ当りのインスタンス目安  CPU:開発用なのでVM数は気にしない  Mem:1VM当り2GB平均として 2GB×50VM=100GB/128GB まで Scheduler的には空きメモリで決まるので Quotaで〆る  サーバ3台で150VMを想定  実際には512MBで立ち上げるのが多かったり  コンパイルするのに8vCPU使ったり  HAやHadoop練習するのに大量VM作ったり 予測が難しいので、気楽に必要だったら使って、 不要になったら消してよ。というスタンス
  24. 24. Copyright gedow.net All Rights Reserved. 24 メインを Ceph+FuseMount 上において、 live migration で遊んだけど、Disk Syncエラーが多発 したので諦めた。Cephのボリュームは安定している ディスク性能 メインVMイメージ( / ルート)  SATAのRAID10  IOPS:2500~4000 追加ボリューム(Cinder)  SATAのRAID10上のCeph  3台で2レプリケーション  IOPS:300~1200 ※1 並列処理数が多いほど上がるがネットワークがボトルネック ※2 同期処理により不安定なI/O wait
  25. 25. Copyright gedow.net All Rights Reserved. 開発環境として
  26. 26. Copyright gedow.net All Rights Reserved. 26 開発者ができること/できなくしたこと  できること  VM操作(作成/停止/削除/コンソール など)  スナップショット操作(作成/削除)  他人のスナップショット利用  ボリューム操作(作成/アタッチ/デタッチ)  できなくしたこと(管理者が行う)  他人のVM/ボリューム操作  ネットワーク操作  セキュリティ操作  鍵登録  イメージ登録(運用ルールでカバー)
  27. 27. Copyright gedow.net All Rights Reserved. 27 ネットワーク  サブネットマスク  1ネットワーク当り /22(IPアドレス1024個)  プロジェクト内で足りなくなったら普通に追加  DHCP  IPアドレス範囲は前半3/4  172.16.4.10 ~ 172.16.6.250  DHCPアドレスは 172.16.4.10 なので実効1つ減  VirtualAddress(VIP)  VIP範囲は後半1/4  172.16.7.11 ~ 172.16.7.240  Virtual Router ID は第4オクテットに合わせて 11 ~ 240  管理は原始的にWiki(自動化も厳しい…シクシク…
  28. 28. Copyright gedow.net All Rights Reserved. 28 アカウント管理方法 Keystone+MySQL …… っ!? 漢なら Keystone+LDAP じゃろっ…!! Keystone+LDAP+LAMでOpenStack管理 | 外道父の匠 LDAPにした理由  既に他のソフトウェアでLDAP連携しているものがあり、 連携しないと入場/退場者についていけず面倒だった  退場者のVMを自動削除したかった(独自スクリプト)
  29. 29. Copyright gedow.net All Rights Reserved. 29 VMログイン方法  コンソール  HorizonからSpiceコンソール  マウスカーソルが上にないと動かねぇ!  SSH+LDAP  キーペア機能とメタデータ取得による、自動公開鍵埋め 込みは使わない  VM基本イメージにSSH+LDAPを入れておく  LDAPに登録してある公開鍵と、各自所有の秘 密鍵でログインする
  30. 30. Copyright gedow.net All Rights Reserved. 30 VMイメージの種類 Debian(5, 6, 7) Ubuntu(13) CentOS(5, 6) ScientifixLinux(6) Fedora(19) GentooLinux(12) ⇒ Gentooは @mazgi の要望を外道父が却下したら 次ページの提示した条件を満たしてイメージを作っ てきたので入れてあげた
  31. 31. Copyright gedow.net All Rights Reserved. 31 VM制作条件  qemu-kvm で動くこと  イメージが qcow2 形式  イメージファイル容量が 10GB  パーティションは  sda1:ext2, 128MB, /boot  sda2:ext4, 残り, / ,  SWAP無し (flavorで追加する)  追加ボリュームは自動的に XFS, /data (予備情報)  SSH+LDAP, sudo-ldap が動くこと  ネットワークはDHCP  他は好きなもの入れてOK
  32. 32. Copyright gedow.net All Rights Reserved. 32 VMスペック(flavor) Mem\vCPU 1 2 4 8 16 0.5 GB ○ - - - - 1 GB ○ ○ - - - 2 GB ○ ○ ○ - - 4 GB - ○ ○ ○ - 8 GB - - ○ ○ - 16 GB - - - ○ -  推奨スペックは 1vCPU 2GB  要不要を判断できる人は好きなのどうぞ  SWAPは全てに256MB(/dev/vdb)
  33. 33. Copyright gedow.net All Rights Reserved. 33 VM起動時の自動設定  メタデータから hostname を取得し、必要が あれば hostname の切替や /etc/hosts を編集  /dev/vdb がSWAPにフォーマットされている場 合は swapon !! (flavorによるデバイス)  /dev/vdc が空デバイスなら、XFSにフォーマッ トして /data にマウント。XFS以外がいいなら 手動でフォーマットOK  /etc/udev/rules.d/70-persistent-net.rules があったら削除しておく(CentOS6, SL6対応)
  34. 34. Copyright gedow.net All Rights Reserved. 34 時間があればデモる
  35. 35. Copyright gedow.net All Rights Reserved. 外 道 塾
  36. 36. Copyright gedow.net All Rights Reserved. 36 名前の由来 通常業務外の範囲の技術を習得する機会が少ない気 がするなぁ…  発表会型勉強会  ジョブローテーション/部署異動  仲の良いエンジニアと情報交換 聴くだけでも独学でもなく機会が多くなるよう 塾 という表現がほどよさそう! 講師は皆でやるけど塾長は・・・わ た し で す シンプルに『外道塾』!!
  37. 37. Copyright gedow.net All Rights Reserved. 37 概要1 目的はエンジニア/デザイナの技術力促進  通常業務の速度と精度の向上、効率化  アーキテクチャ・技術手法の選択肢増加  広い範囲を身につけることで、思考レベルや自 信(≒不安点の解消)を向上する • 規模が大きくなると分業化が進み、狭い範囲に留ま りがち  キャリアパスの可能性を拡げる  新技術の共有・検討
  38. 38. Copyright gedow.net All Rights Reserved. 38 概要2 ◆必ず身につく内容に  発表型勉強会への参加や、通常業務では得 られない地力となる技術を、修得・または その足がかりを得る  形式は講習型・ハンズオン  ためになればハッカソンだろうとコンテン ストだろうとOK ◆環境はOpenStackのインスタンス  好きなOSで作って気兼ねなくブッ壊せる  スナップショットでより効率的に
  39. 39. Copyright gedow.net All Rights Reserved. 39 概要3 時間 2~4時間 × 1~3回の複数日程可 人数 4~8人程度 開催回数 需要が集まるたびに同内容を何度でも開催 内容 HTML5からネットワークまでなんでも 数十種類を目標 講師 誰でも
  40. 40. Copyright gedow.net All Rights Reserved. 40 お題例  1から10まで構築するWEBサービス (WEB/AP/KVS/DB/デプロイ)  ネットワークの基礎知識 (IPアドレス/ルーティング/L2L3/iptables)  泣く子も黙るGitHub徹底入門  とりあえず叩いてみまくるLinuxコマンド  理解するまで帰れないHadoop象印  データ分析の真髄を会得するまで外せない 萌アクセサリー
  41. 41. Copyright gedow.net All Rights Reserved. 41 使うツール  OpenStack  プロジェクター  メッセンジャー  URLを共有したり  ブラックジョークを飛ばしたり  tmux  セッションの共有  全員の作業を分割表示
  42. 42. Copyright gedow.net All Rights Reserved. 42 時間があればデモる
  43. 43. Copyright gedow.net All Rights Reserved. 4343 お 名 前 と ク レ カ 番 号 を ご 記 入 く だ さ い 外 道 塾 を 仕 上 げ て 会 社 や 社 会 に 滅 私 奉 公 す る ぞ ~ あ 、 外 道 塾 に お 申 込 み で す か ? fin

×