More Related Content Similar to OpenStackでつくる開発環境と外道塾 Similar to OpenStackでつくる開発環境と外道塾 (20) OpenStackでつくる開発環境と外道塾2. Copyright gedow.net All Rights Reserved. 2
ち
ょ
う
ど
オ
ー
プ
ン
ス
タ
ッ
ク
が
気
に
な
っ
て
た
?
べ
ん
り
だ
よ
~
就
活
に
は
役
に
立
た
な
い
け
ど
な
!
7. Copyright gedow.net All Rights Reserved. 7
バージョン
Grizzly
を使ってます
グリズリー
HP:110
生息地:カザーブの東
ちからのたねを落とす
グリズリー
HP:340
生息地:ホーリーローリーマウンテン
2回攻撃/さいごのいちげき
──> Folsom ──> ──> Havana ──>
8. Copyright gedow.net All Rights Reserved. 8
OpenStackを一言で表す
一般的には
クラウド基盤を構築するOSS
外道父的には
仮想環境用Linux技術総合管理ツール
名前の由来は知らないけど
Open (Source Software) Stack
オープンソースソフトウェアの積み重ね
とはよく言ったものだと最近、感じています
9. Copyright gedow.net All Rights Reserved. 9
コンポーネントでみる構成
Keystone
(認証)
Quantum
(ネットワーク)
Nova
(VM管理)
Glance
(イメージ)
Cinder
(ボリューム)
Horizon
(管理画面)
Storage
(ストレージ)
最重要
必須
必須
必須
任意
任意
任意
10. Copyright gedow.net All Rights Reserved. 10
コンポーネントの優先順位
Keystone
(認証)
Quantum
(ネットワーク)
Nova
(VM管理)
Glance
(イメージ)
Cinder
(ボリューム)
Horizon
(管理画面)
Storage
(ストレージ)
高
低
1. どのコンポーネントを動作させるに
も、まずは認証が必要
2. インスタンスを起動するにはネット
ワークとVMイメージが必要
3. ようやくインスタンスを起動して遊
ぶことができる
4. 普通はVMイメージの容量は小さい
ので、追加ディスクが欲しい場合は
必要
5. 管理画面があれば皆で仲良く遊べ
ちゃう
最
重
要
必
須
任
意
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. Copyright gedow.net All Rights Reserved. 13
Linux技術でみる構成 / Glance
Glance
api, registry
MySQL
Storage
Glance
(イメージ)
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. Copyright gedow.net All Rights Reserved. 15
Linux技術でみる構成 / Cinder
Cinder
api, scheduler, volume
MySQL
Storage
Cinder
(ボリューム)
17. Copyright gedow.net All Rights Reserved. 17
Linux技術でみる構成 / Storage
Swift
Ceph
LVM
NFS
iSCSI
Storage
(ストレージ)
Glance用
Cinder用
18. Copyright gedow.net All Rights Reserved. 18
Linux技術でみる構成 / その他
その他
(利用意識は低め)
rabbitmq
memcached
mongodb
NTP
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. Copyright gedow.net All Rights Reserved. 20
大切なことは折れない心
『Stackしすぎやろこれ~』
って言ってる暇などない
外道の父さん、独りで全部やったよ
でもTwitterがなかったら
途中で泣き崩れてたかも
@ishikawa84g , @jedipunkz
@ritchey98 , @saito_hideki ,
@Irix_jp
Thanks for
流行りのフルスタックエンジニアだぜ!
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. 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. 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
26. Copyright gedow.net All Rights Reserved. 26
開発者ができること/できなくしたこと
できること
VM操作(作成/停止/削除/コンソール など)
スナップショット操作(作成/削除)
他人のスナップショット利用
ボリューム操作(作成/アタッチ/デタッチ)
できなくしたこと(管理者が行う)
他人のVM/ボリューム操作
ネットワーク操作
セキュリティ操作
鍵登録
イメージ登録(運用ルールでカバー)
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. Copyright gedow.net All Rights Reserved. 28
アカウント管理方法
Keystone+MySQL …… っ!?
漢なら
Keystone+LDAP じゃろっ…!!
Keystone+LDAP+LAMでOpenStack管理 | 外道父の匠
LDAPにした理由
既に他のソフトウェアでLDAP連携しているものがあり、
連携しないと入場/退場者についていけず面倒だった
退場者のVMを自動削除したかった(独自スクリプト)
29. Copyright gedow.net All Rights Reserved. 29
VMログイン方法
コンソール
HorizonからSpiceコンソール
マウスカーソルが上にないと動かねぇ!
SSH+LDAP
キーペア機能とメタデータ取得による、自動公開鍵埋め
込みは使わない
VM基本イメージにSSH+LDAPを入れておく
LDAPに登録してある公開鍵と、各自所有の秘
密鍵でログインする
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. 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. 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. 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対応)
36. Copyright gedow.net All Rights Reserved. 36
名前の由来
通常業務外の範囲の技術を習得する機会が少ない気
がするなぁ…
発表会型勉強会
ジョブローテーション/部署異動
仲の良いエンジニアと情報交換
聴くだけでも独学でもなく機会が多くなるよう
塾 という表現がほどよさそう!
講師は皆でやるけど塾長は・・・わ た し で す
シンプルに『外道塾』!!
37. Copyright gedow.net All Rights Reserved. 37
概要1
目的はエンジニア/デザイナの技術力促進
通常業務の速度と精度の向上、効率化
アーキテクチャ・技術手法の選択肢増加
広い範囲を身につけることで、思考レベルや自
信(≒不安点の解消)を向上する
• 規模が大きくなると分業化が進み、狭い範囲に留ま
りがち
キャリアパスの可能性を拡げる
新技術の共有・検討
38. Copyright gedow.net All Rights Reserved. 38
概要2
◆必ず身につく内容に
発表型勉強会への参加や、通常業務では得
られない地力となる技術を、修得・または
その足がかりを得る
形式は講習型・ハンズオン
ためになればハッカソンだろうとコンテン
ストだろうとOK
◆環境はOpenStackのインスタンス
好きなOSで作って気兼ねなくブッ壊せる
スナップショットでより効率的に
39. Copyright gedow.net All Rights Reserved. 39
概要3
時間
2~4時間 × 1~3回の複数日程可
人数
4~8人程度
開催回数
需要が集まるたびに同内容を何度でも開催
内容
HTML5からネットワークまでなんでも
数十種類を目標
講師
誰でも
40. Copyright gedow.net All Rights Reserved. 40
お題例
1から10まで構築するWEBサービス
(WEB/AP/KVS/DB/デプロイ)
ネットワークの基礎知識
(IPアドレス/ルーティング/L2L3/iptables)
泣く子も黙るGitHub徹底入門
とりあえず叩いてみまくるLinuxコマンド
理解するまで帰れないHadoop象印
データ分析の真髄を会得するまで外せない
萌アクセサリー
41. Copyright gedow.net All Rights Reserved. 41
使うツール
OpenStack
プロジェクター
メッセンジャー
URLを共有したり
ブラックジョークを飛ばしたり
tmux
セッションの共有
全員の作業を分割表示
43. Copyright gedow.net All Rights Reserved. 4343
お
名
前
と
ク
レ
カ
番
号
を
ご
記
入
く
だ
さ
い
外
道
塾
を
仕
上
げ
て
会
社
や
社
会
に
滅
私
奉
公
す
る
ぞ
~
あ
、
外
道
塾
に
お
申
込
み
で
す
か
?
fin