17
CyberAgent, Inc. All Rights Reserved 2016 July 28 Ironicを運用して 半年が経過しました

Ironicを運用して半年が経過しました - OpenStack最新情報セミナー(2016年7月)

Embed Size (px)

Citation preview

Page 1: Ironicを運用して半年が経過しました  - OpenStack最新情報セミナー(2016年7月)

CyberAgent, Inc. All Rights Reserved

2016 July 28

Ironicを運用して半年が経過しました

Page 2: Ironicを運用して半年が経過しました  - OpenStack最新情報セミナー(2016年7月)

Profile● 島貫稔之● 株式会社サイバーエージェント

技術本部 サービスファシリティグループ● 業務

○ Openstack検証・構築、管理ツール開発等○ Ironicを含む、物理マシン管理を担当

Page 3: Ironicを運用して半年が経過しました  - OpenStack最新情報セミナー(2016年7月)

新たな事業へのチャレンジ

⇒21世紀を代表する会社を創る

昨年は定額制音楽配信サービス「AWA」、今年2016年は、インターネットテレビ局「AbemaTV」が開局、映像配信プラットフォーム「FRESH! by AbemaTV」もリリースし音楽、そして動画という

エンターテインメント領域を新たな事業の柱にすることを目指しています

Page 4: Ironicを運用して半年が経過しました  - OpenStack最新情報セミナー(2016年7月)

オフィス環境

MTGスペース 執務スペース マッサージルーム リラクゼーションスペース

エンジニアとデザイナーのみ利用できる専用の開発集中ルーム

Page 5: Ironicを運用して半年が経過しました  - OpenStack最新情報セミナー(2016年7月)

本日の話

Page 6: Ironicを運用して半年が経過しました  - OpenStack最新情報セミナー(2016年7月)

Agenda● 弊社のOpenStack環境について● 物理サーバの運用● Serial Console over Web Browser

Page 7: Ironicを運用して半年が経過しました  - OpenStack最新情報セミナー(2016年7月)

OpenStack環境

● バージョン○ Kilo (残念ながらEOL)

● 運用期間○ 2015/10 -○ 現在運用フェーズ

● 詳しくは○ http://www.slideshare.net/VirtualTech-JP/amebaopenstack-openstack-

201512又は

○ http://www.slideshare.net/VirtualTech-JP/openstacknw

Page 8: Ironicを運用して半年が経過しました  - OpenStack最新情報セミナー(2016年7月)

物理マシン環境

● 全物理マシンをIronicで管理○ nova経由による物理マシンへデプロイ可能

● 現状

Compute Node 350台程度

Baremetal 250台程度

計 600台程度

Page 9: Ironicを運用して半年が経過しました  - OpenStack最新情報セミナー(2016年7月)

困っていたこと

Ironicで作ったベアメタルが立ち上がってこない!

ベアメタルサーバにSSH出来なくなった!

Page 10: Ironicを運用して半年が経過しました  - OpenStack最新情報セミナー(2016年7月)

ネットワーク構成

Baremetal

Service

Mgmt

IPMI/PXE shared

別権限が必要

Page 11: Ironicを運用して半年が経過しました  - OpenStack最新情報セミナー(2016年7月)

SOL vs Java applet● SOL (Serial over LAN)

○ 文字列のコピペができる○ terminal と ipmitool があれば良い○ シリアルコンソールのリダイレクション設定が必要○ Linuxのブートオプションにシリアルコンソールの設定が必要

● Java applet○ どんな設定でもとりあえずコンソールが取れる○ ISOイメージをマウントできる○ 文字列のコピペが出来ない○ Java appletを立ち上げないといけない

Page 12: Ironicを運用して半年が経過しました  - OpenStack最新情報セミナー(2016年7月)

Ironicでシリアルコンソール

● ironic node-get-console <UUID>● 実装

○ shellinabox + SOL● 全マシンのシリアルコンソールが開ける

○ →ユーザが属さないテナントのマシンも操作できてしまう

● ironic-conductor上の任意のポートを開く○ 1マシン/1ポート

Page 13: Ironicを運用して半年が経過しました  - OpenStack最新情報セミナー(2016年7月)

必要だったもの

APInoVNC

keystone ironic

Tenant A

baremetal

baremetalTenant B

baremetal

baremetal

Tenant A

● Keystone, Ironicと連携● ユーザが保有するベアメタルのみア

クセス可能● Webブラウザだけで動作

Page 14: Ironicを運用して半年が経過しました  - OpenStack最新情報セミナー(2016年7月)

他の環境へ転用しやすい

APInoVNC

Group A

Group A

baremetal

baremetalGroup B

baremetal

baremetal

認証基盤 BMC情報

Page 15: Ironicを運用して半年が経過しました  - OpenStack最新情報セミナー(2016年7月)

Serial Console over Web Browser

OpenStack VM

API

Docker

Docker Container

x11vnc

supervisord

xvfb

xfce4

firefox openjdkicedtea

noVNC

Keystone Ironic

Page 16: Ironicを運用して半年が経過しました  - OpenStack最新情報セミナー(2016年7月)

Serial Console over Web Browser

Page 17: Ironicを運用して半年が経過しました  - OpenStack最新情報セミナー(2016年7月)

安全✚第一● もちろん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