Upload
virtualtech-japan-inc
View
2.210
Download
1
Embed Size (px)
Citation preview
CyberAgent, Inc. All Rights Reserved
2016 July 28
Ironicを運用して半年が経過しました
Profile● 島貫稔之● 株式会社サイバーエージェント
技術本部 サービスファシリティグループ● 業務
○ Openstack検証・構築、管理ツール開発等○ Ironicを含む、物理マシン管理を担当
新たな事業へのチャレンジ
⇒21世紀を代表する会社を創る
昨年は定額制音楽配信サービス「AWA」、今年2016年は、インターネットテレビ局「AbemaTV」が開局、映像配信プラットフォーム「FRESH! by AbemaTV」もリリースし音楽、そして動画という
エンターテインメント領域を新たな事業の柱にすることを目指しています
オフィス環境
MTGスペース 執務スペース マッサージルーム リラクゼーションスペース
エンジニアとデザイナーのみ利用できる専用の開発集中ルーム
本日の話
Agenda● 弊社のOpenStack環境について● 物理サーバの運用● Serial Console over Web Browser
OpenStack環境
● バージョン○ Kilo (残念ながらEOL)
● 運用期間○ 2015/10 -○ 現在運用フェーズ
● 詳しくは○ http://www.slideshare.net/VirtualTech-JP/amebaopenstack-openstack-
201512又は
○ http://www.slideshare.net/VirtualTech-JP/openstacknw
物理マシン環境
● 全物理マシンをIronicで管理○ nova経由による物理マシンへデプロイ可能
● 現状
Compute Node 350台程度
Baremetal 250台程度
計 600台程度
困っていたこと
Ironicで作ったベアメタルが立ち上がってこない!
ベアメタルサーバにSSH出来なくなった!
ネットワーク構成
Baremetal
Service
Mgmt
IPMI/PXE shared
別権限が必要
SOL vs Java applet● SOL (Serial over LAN)
○ 文字列のコピペができる○ terminal と ipmitool があれば良い○ シリアルコンソールのリダイレクション設定が必要○ Linuxのブートオプションにシリアルコンソールの設定が必要
● Java applet○ どんな設定でもとりあえずコンソールが取れる○ ISOイメージをマウントできる○ 文字列のコピペが出来ない○ Java appletを立ち上げないといけない
Ironicでシリアルコンソール
● ironic node-get-console <UUID>● 実装
○ shellinabox + SOL● 全マシンのシリアルコンソールが開ける
○ →ユーザが属さないテナントのマシンも操作できてしまう
● ironic-conductor上の任意のポートを開く○ 1マシン/1ポート
必要だったもの
APInoVNC
keystone ironic
Tenant A
baremetal
baremetalTenant B
baremetal
baremetal
Tenant A
● Keystone, Ironicと連携● ユーザが保有するベアメタルのみア
クセス可能● Webブラウザだけで動作
他の環境へ転用しやすい
APInoVNC
Group A
Group A
baremetal
baremetalGroup B
baremetal
baremetal
認証基盤 BMC情報
Serial Console over Web Browser
OpenStack VM
API
Docker
Docker Container
x11vnc
supervisord
xvfb
xfce4
firefox openjdkicedtea
noVNC
Keystone Ironic
Serial Console over Web Browser
安全✚第一● もちろんrootは与えない
● 選択したベアメタルへのスタティックルートのみ
● ターミナルの起動を阻止
○ xfceの設定を変更
● ログインユーザのシェルを /bin/false
$ docker exec -ti f510f8eb30bf /bin/shroot@f510f8eb30bf:/# ip routeXXX.XXX.XXX.XXX via 192.168.254.1 dev eth0 192.168.254.1 dev eth0 scope link