SlideShare une entreprise Scribd logo
1  sur  68
〜ライブデモを添えて〜
社内検証環境での利用事例を紹介
現在、私がJuniperでの検証環境の
管理をしている中でMAASを導入して
幸せになった話(多分)
現場で起こる「リアル」な問題…
NICのConfiguration問題「NWに繋がりません!!」
-> BondingのConfigurationが抜けていた
セグメント分からない問題「使えるセグなんだっけ??」
-> 管理表みてください -> 「管理表どこですか??」
サーバーが増える問題「ほら、これが君の欲しがったサーバーだよ^^」
-> 増えるのめんどくさい。。。(嬉しいんですけどね)
壊れているかもしれない問題「ブートしないんだけど。。。」
-> Boot optionが間違っていました〜!
現場で起こる「リアル」な問題…
サーバー勝手に移動問題「自分の環境で使いたいんで、動かしました」
-> 戻すのが非常にめんどくさい
IP重複問題「IPが重複しています!」
etcetc…
現場で起こる「リアル」な問題…
NICのConfiguration問題「NWに繋がりません!!」
-> BondingのConfigurationが抜けていた
セグメント分からない問題「使えるセグなんだっけ??」
-> 管理表みてください -> 「管理表どこですか??」
サーバーが増える問題「ほら、これが君が欲しがったサーバーだ^^」
-> 増えるのめんどくさい。。。(嬉しいんですけどね)
壊れているかもしれない問題「ブートしないんだけど。。。」
-> Boot optionが間違っていました〜!
まぁ、言ってしまえば些細です。
でも、これがたびたびくると。。。
問題解決の糸口
物理的な作業に関する課題は諦める(こればっかりはどうしようもない…)
-> できるだけ汎用的な設計でカバー(SWは手に入れようと思えば手に入るし…)
ソフトウェアで解決できそうな問題は解決させる
-> どういう問い合わせが起こりやすいかを知っていれば対処可能
-> 案外時間を取られるのはドキュメンテーションのアップデート&管理
• 些細な問い合わせをできる限り撲滅する
• EXCELを使う様な管理をソフトウェアに任せる
• 手動IPAM & 手動インベントリ管理の撲滅
• サーバが増えた時に素直に喜べる様にしたい
手始めに物理(ポートの収容設計)
手始めに物理(ポートの収容設計)
手始めに物理(ポートの収容設計)
Trunk&Bond
Blank
Access(PXE)
手始めに物理(GWの追加)
超簡単なNW構成図
NAT&Routing
VLAN Switching
Ironic API
Ironic
conductor
Ironic DB
Neutron
Nova
Glance
Region Controller
- 単一のDatacenterもしくは、regionを管理するコンポーネント
- 複数のFabricを用いることで、一つのregionまたは、
Datacenter内にある複数のフロアなどを表現できる
- DNS,WEBUI,APIを持つ、いわばテナントの様なイメージ
Rack Controller
- Datacenter内にあるそれぞれのRackを管理するコンポーネント
- FabricはそれぞれRack Controllerにアタッチされていて、
Network configを提供する
- DHCP,TFTP,HTTP,Power managementを持つ、
スケールアウトアーキテクチャー
Fabric
- VLAN Namespaceを定義できる
- デフォルト動作ではMAASが持っているサブネットごとにfabric-xが
作られる
- イメージとしては1fabric = 1 NIC port
- 異なるFabricのVLAN同士であったとしても、疎通が可能な場合は
Spaceとしてグループを作ることができる
Apache2
Boot image
tftpd(PXE Boot)
Squid(proxy)
ISC-Dhcpd(DHCP)
Bind (DNS)
Metadata
MAAS WEBUI
rootfs
cloud-init
curtin
squashfs
userdata
metadata
Get http
Write to localdisk
Perform script
PXE Boot
(Diskless)
boot
dd
reboot
Server Client
New Commissioning Ready
Commission
Failed
Deploying Deployed
Deploy
Failed
メンテナンスに使う状態は除外版!!
New Commissioning Ready
Commission
Failed
Deploying Deployed
Deploy
Failed
こ、これは…instack.json
New Stateのまとめ
- MAASのリスト(URL)に登録されている
- Specなどの情報は登録されていない
- 電源管理を行うための情報は登録されている
- 自動でつけられる名前は[形容詞]-[名詞].maas
- マシンに振られるIDはMAAS/#/node/[alphabet の7文字]からなる
New Commissioning Ready
Commission
Failed
Deploying Deployed
Deploy
Failed
Machine summary
- CPU,Mem,Diskの情報が収集されて表示される
- 後述のlogタブを見るとわかるが、lscpuなどを叩いて収集
- Specの情報を元にNodeをscheduleすることも可能に!
- ここはIronicのintrospectionと同じ
Interfaces
- デプロイするサーバのNIC configurationが可能
- Bonding, Bridge, VLAN taggingをサポート
- IPAMはDHCP,Staticの他にAuto Assignという神機能がある
Network Configuration
Network Configuration
Network Configuration
Network Configuration
Ready Stateのまとめ
- Commissioningが終了し、HW情報が登録されている状態
- DeployするOSの基礎的なConfigurationが可能
- 3rd PartyとIntegrationする時はこの状態にしておく
- オーケストレーターがデプロイを実行するため
New Commissioning Ready
Commission
Failed
Deploying Deployed
Deploy
Failed
メンテナンスに使う状態は除外版!!
Network Configuration(つづき)
Layer 3+4
LACP fast
Network Configuration(つづき)
Network Configuration(つづき)
Network Configuration(つづき)
Juju
- VM、Baremetalマシン、Containerのデプロイから
Apllicationのデプロイまでしてくれるオーケストレータ
- JujuとMAASは連携が可能で、OpenStackを簡単にデプロイする
ことが可能!
- CharmというPythonで書かれたPlaybookの様なものを
用いてデプロイする
http://www.airshipit.org/
http://www.airshipit.org/
http://www.airshipit.org/
Airship
- コンテナ、ベアメタル、VMをデプロイできる様にしたUCP
- ベースのk8sがあり、その上にMAASとOpenStackが
コンテナでデプロイされる
- AT&TとSK Telecom(とIntel)が開発した模様
- なぜ、Ironicではなかったのかは疑問
MAASを導入してどう変わったか?
- 問い合わせが減った!
- MAASの障害対応時間<問い合わせ時間
- NWの作成等もMAASでできるので自分の作った環境をそのまま
利用してくれる様になった!
- とりあえずOSをインストールしてNWにつなぐ!というところが
とても簡単になった!
総括
- 導入が簡単なので気になったら試してみるくらいでも効果が得られる
- TungstenFabricを使っていれば、MAASの環境とVNを統合できる
- ただ、商用で使おうと思うととても苦労をする。。。
- パッケージ、VMイメージ、LXDイメージの固定にかなり苦労する
- MAASは泥臭い作りであるが、相乗りできるシーンはとても多い!

Contenu connexe

Tendances

Fluentdのお勧めシステム構成パターン
Fluentdのお勧めシステム構成パターンFluentdのお勧めシステム構成パターン
Fluentdのお勧めシステム構成パターンKentaro Yoshida
 
忙しい人の5分で分かるMesos入門 - Mesos って何だ?
忙しい人の5分で分かるMesos入門 - Mesos って何だ?忙しい人の5分で分かるMesos入門 - Mesos って何だ?
忙しい人の5分で分かるMesos入門 - Mesos って何だ?Masahito Zembutsu
 
Kubernetesのワーカーノードを自動修復するために必要だったこと
Kubernetesのワーカーノードを自動修復するために必要だったことKubernetesのワーカーノードを自動修復するために必要だったこと
Kubernetesのワーカーノードを自動修復するために必要だったことh-otter
 
今こそ知りたいSpring Batch(Spring Fest 2020講演資料)
今こそ知りたいSpring Batch(Spring Fest 2020講演資料)今こそ知りたいSpring Batch(Spring Fest 2020講演資料)
今こそ知りたいSpring Batch(Spring Fest 2020講演資料)NTT DATA Technology & Innovation
 
NginxとLuaを用いた動的なリバースプロキシでデプロイを 100 倍速くした
NginxとLuaを用いた動的なリバースプロキシでデプロイを 100 倍速くしたNginxとLuaを用いた動的なリバースプロキシでデプロイを 100 倍速くした
NginxとLuaを用いた動的なリバースプロキシでデプロイを 100 倍速くしたtoshi_pp
 
Zabbixのパフォーマンスチューニング & インストール時の注意点
Zabbixのパフォーマンスチューニング & インストール時の注意点Zabbixのパフォーマンスチューニング & インストール時の注意点
Zabbixのパフォーマンスチューニング & インストール時の注意点Kodai Terashima
 
Amazon EKS によるスマホゲームのバックエンド運用事例
Amazon EKS によるスマホゲームのバックエンド運用事例Amazon EKS によるスマホゲームのバックエンド運用事例
Amazon EKS によるスマホゲームのバックエンド運用事例gree_tech
 
[社内勉強会]ELBとALBと数万スパイク負荷テスト
[社内勉強会]ELBとALBと数万スパイク負荷テスト[社内勉強会]ELBとALBと数万スパイク負荷テスト
[社内勉強会]ELBとALBと数万スパイク負荷テストTakahiro Moteki
 
OpenStackで始めるクラウド環境構築入門(Horizon 基礎編)
OpenStackで始めるクラウド環境構築入門(Horizon 基礎編)OpenStackで始めるクラウド環境構築入門(Horizon 基礎編)
OpenStackで始めるクラウド環境構築入門(Horizon 基礎編)VirtualTech Japan Inc.
 
Dockerからcontainerdへの移行
Dockerからcontainerdへの移行Dockerからcontainerdへの移行
Dockerからcontainerdへの移行Akihiro Suda
 
Apache Airflow入門 (マーケティングデータ分析基盤技術勉強会)
Apache Airflow入門  (マーケティングデータ分析基盤技術勉強会)Apache Airflow入門  (マーケティングデータ分析基盤技術勉強会)
Apache Airflow入門 (マーケティングデータ分析基盤技術勉強会)Takeshi Mikami
 
BuildKitの概要と最近の機能
BuildKitの概要と最近の機能BuildKitの概要と最近の機能
BuildKitの概要と最近の機能Kohei Tokunaga
 
Ansibleで始めるインフラ構築自動化
Ansibleで始めるインフラ構築自動化Ansibleで始めるインフラ構築自動化
Ansibleで始めるインフラ構築自動化dcubeio
 
SQL大量発行処理をいかにして高速化するか
SQL大量発行処理をいかにして高速化するかSQL大量発行処理をいかにして高速化するか
SQL大量発行処理をいかにして高速化するかShogo Wakayama
 
プロセスとコンテキストスイッチ
プロセスとコンテキストスイッチプロセスとコンテキストスイッチ
プロセスとコンテキストスイッチKazuki Onishi
 
CyberAgentのプライベートクラウド Cycloudの運用及びモニタリングについて #CODT2020 / Administration and M...
CyberAgentのプライベートクラウド Cycloudの運用及びモニタリングについて #CODT2020 / Administration and M...CyberAgentのプライベートクラウド Cycloudの運用及びモニタリングについて #CODT2020 / Administration and M...
CyberAgentのプライベートクラウド Cycloudの運用及びモニタリングについて #CODT2020 / Administration and M...whywaita
 
フィルタドライバ入門
フィルタドライバ入門フィルタドライバ入門
フィルタドライバ入門firewood
 
cluster-monitoringで困ったこと学んだこと
cluster-monitoringで困ったこと学んだことcluster-monitoringで困ったこと学んだこと
cluster-monitoringで困ったこと学んだことSachiho Wakita
 

Tendances (20)

Fluentdのお勧めシステム構成パターン
Fluentdのお勧めシステム構成パターンFluentdのお勧めシステム構成パターン
Fluentdのお勧めシステム構成パターン
 
忙しい人の5分で分かるMesos入門 - Mesos って何だ?
忙しい人の5分で分かるMesos入門 - Mesos って何だ?忙しい人の5分で分かるMesos入門 - Mesos って何だ?
忙しい人の5分で分かるMesos入門 - Mesos って何だ?
 
Kubernetesのワーカーノードを自動修復するために必要だったこと
Kubernetesのワーカーノードを自動修復するために必要だったことKubernetesのワーカーノードを自動修復するために必要だったこと
Kubernetesのワーカーノードを自動修復するために必要だったこと
 
今こそ知りたいSpring Batch(Spring Fest 2020講演資料)
今こそ知りたいSpring Batch(Spring Fest 2020講演資料)今こそ知りたいSpring Batch(Spring Fest 2020講演資料)
今こそ知りたいSpring Batch(Spring Fest 2020講演資料)
 
NginxとLuaを用いた動的なリバースプロキシでデプロイを 100 倍速くした
NginxとLuaを用いた動的なリバースプロキシでデプロイを 100 倍速くしたNginxとLuaを用いた動的なリバースプロキシでデプロイを 100 倍速くした
NginxとLuaを用いた動的なリバースプロキシでデプロイを 100 倍速くした
 
Zabbixのパフォーマンスチューニング & インストール時の注意点
Zabbixのパフォーマンスチューニング & インストール時の注意点Zabbixのパフォーマンスチューニング & インストール時の注意点
Zabbixのパフォーマンスチューニング & インストール時の注意点
 
Amazon EKS によるスマホゲームのバックエンド運用事例
Amazon EKS によるスマホゲームのバックエンド運用事例Amazon EKS によるスマホゲームのバックエンド運用事例
Amazon EKS によるスマホゲームのバックエンド運用事例
 
[社内勉強会]ELBとALBと数万スパイク負荷テスト
[社内勉強会]ELBとALBと数万スパイク負荷テスト[社内勉強会]ELBとALBと数万スパイク負荷テスト
[社内勉強会]ELBとALBと数万スパイク負荷テスト
 
OpenStackで始めるクラウド環境構築入門(Horizon 基礎編)
OpenStackで始めるクラウド環境構築入門(Horizon 基礎編)OpenStackで始めるクラウド環境構築入門(Horizon 基礎編)
OpenStackで始めるクラウド環境構築入門(Horizon 基礎編)
 
Dockerからcontainerdへの移行
Dockerからcontainerdへの移行Dockerからcontainerdへの移行
Dockerからcontainerdへの移行
 
ゼロからはじめるKVM超入門
ゼロからはじめるKVM超入門ゼロからはじめるKVM超入門
ゼロからはじめるKVM超入門
 
Apache Airflow入門 (マーケティングデータ分析基盤技術勉強会)
Apache Airflow入門  (マーケティングデータ分析基盤技術勉強会)Apache Airflow入門  (マーケティングデータ分析基盤技術勉強会)
Apache Airflow入門 (マーケティングデータ分析基盤技術勉強会)
 
BuildKitの概要と最近の機能
BuildKitの概要と最近の機能BuildKitの概要と最近の機能
BuildKitの概要と最近の機能
 
Ansibleで始めるインフラ構築自動化
Ansibleで始めるインフラ構築自動化Ansibleで始めるインフラ構築自動化
Ansibleで始めるインフラ構築自動化
 
SQL大量発行処理をいかにして高速化するか
SQL大量発行処理をいかにして高速化するかSQL大量発行処理をいかにして高速化するか
SQL大量発行処理をいかにして高速化するか
 
プロセスとコンテキストスイッチ
プロセスとコンテキストスイッチプロセスとコンテキストスイッチ
プロセスとコンテキストスイッチ
 
CyberAgentのプライベートクラウド Cycloudの運用及びモニタリングについて #CODT2020 / Administration and M...
CyberAgentのプライベートクラウド Cycloudの運用及びモニタリングについて #CODT2020 / Administration and M...CyberAgentのプライベートクラウド Cycloudの運用及びモニタリングについて #CODT2020 / Administration and M...
CyberAgentのプライベートクラウド Cycloudの運用及びモニタリングについて #CODT2020 / Administration and M...
 
フィルタドライバ入門
フィルタドライバ入門フィルタドライバ入門
フィルタドライバ入門
 
自宅k8s/vSphere入門
自宅k8s/vSphere入門自宅k8s/vSphere入門
自宅k8s/vSphere入門
 
cluster-monitoringで困ったこと学んだこと
cluster-monitoringで困ったこと学んだことcluster-monitoringで困ったこと学んだこと
cluster-monitoringで困ったこと学んだこと
 

MAASで管理するBaremetal server