Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

検証環境をGoBGPで極力仮想化してみた

NetOpsCoding#2のLTで発表した資料です.
https://atnd.org/events/74772
Abstract:
ネットワークの業務をしていく上で,「検証」についての悩みは尽きません. 検証したくても検証機は沢山用意できるはずもなく, 少ない検証機は多人数が触るでハチャメチャな中身になってしまい,ストレスMAXです. そんな悩みを""極力""解消すべく,検証用環境のネットワークを実機とgobgpやその付属APIを使って構築してみたお話をします.

検証環境をGoBGPで極力仮想化してみた

  1. 1. ©  BIGLOBE   Inc.  20161 評価環境をGoBGPで“極⼒力力” 仮想化してみた BIGLOBE  Inc. Toshiya  Mabuchi
  2. 2. ©  BIGLOBE   Inc.  20162 みなさん 評価環境の整備って どうしてますか?
  3. 3. ©  BIGLOBE   Inc.  20163 ⾃自社でよくあること
  4. 4. ©  BIGLOBE   Inc.  20164 よし,構築できた!!!! あとは明⽇日検証かな!!!
  5. 5. ©  BIGLOBE   Inc.  20165 翌⽇日
  6. 6. ©  BIGLOBE   Inc.  20166
  7. 7. ©  BIGLOBE   Inc.  20167 翌⽇日になると おかしくなる!!!!!
  8. 8. ©  BIGLOBE   Inc.  20168 l昔の検証の痕跡が残ったまま pコンフィグが汚い 何故・・・ 標準構成に⼿手早く戻したい! &標準コンフィグをできるだけ弄弄りたくない! クリーニングする機構が 整えられてない!!
  9. 9. ©  BIGLOBE   Inc.  20169 l検証⾃自体も楽できるような構造にしたい p経路路を⼿手軽に⽣生成させたい/消したい ØConfigに書くよりもインスタントに発⽣生させたい pAttributeを⾃自在に付与したい pフルルートを⼿手軽に作りたい p好きな⾔言語のAPIを使って制御したい どうせなら・・・・ BGPの検証が主   BGPだけ上記が実現できればとりあえずOK
  10. 10. ©  BIGLOBE   Inc.  201610 GoBGP使ったら出来そう!
  11. 11. ©  BIGLOBE   Inc.  201611 作りました
  12. 12. ©  BIGLOBE   Inc.  201612 l検証が必要な機器以外は全てGoBGP pリモートでの経路路⽣生成はGoBGPのModPath l各ノードのセットアップとConfigロード pAnsible ,  Git l機器のコンフィグクリーニング pAnsible 2.1* Network  modules ØIosxr ,  Junos module *2016  3/1現在はdevel どんな感じ?
  13. 13. ©  BIGLOBE   Inc.  201613 Controll &  Monitor  Server gobgpd Git ServerRouter Management  Server ざっくりとこんな感じ Zebra Route  originate &  Setup Route  info &  syslog Git pull
  14. 14. ©  BIGLOBE   Inc.  201614 実際の構成
  15. 15. ©  BIGLOBE   Inc.  201615
  16. 16. ©  BIGLOBE   Inc.  201616 ここだけ実機
  17. 17. ©  BIGLOBE   Inc.  201617 Deploy  Server GoBGP controller +  Ansible GoBGP起動+ テストケースを元に 経路路⽣生成 Config Cleaner
  18. 18. ©  BIGLOBE   Inc.  201618 Management  Server GoBGP controller +  Ansible Config Cleaner Configを 標準テンプレートへ 書き換え
  19. 19. ©  BIGLOBE   Inc.  201619 経路路広報を遠隔でやった lGoBGPのModPathすごく便便利利 pConfigでわざわざ経路路作らなくて良良い p遠隔で出来る p経路路テストケースを作って対象ホストに 投げるだけ pgRPCなので多⾔言語でAPI的に使える ← こんな感じで書くだけで ⽣生成できるようにした
  20. 20. ©  BIGLOBE   Inc.  201620 l経路路を広報するのにConfigを弄弄ら なくて良良い lGoBGP以外の機器は荒れたら Ansibleで標準構成に戻す 環境組んでみてどうだった? Configが荒れにくい & 荒れてもすぐ直せるようになった!
  21. 21. ©  BIGLOBE   Inc.  201621 綺麗麗な環境で 快適に評価できる!
  22. 22. ©  BIGLOBE   Inc.  201622 l評価環境を”ほぼ”GoBGPで構築した p経路路の⽣生成をリモートで実施 ØConfigは弄弄らないので荒れにくい Øテストケースを作って配信するのが楽 lConfigを弄弄る実機器はAnsibleで クリーニング p標準構成にすぐ戻せるようになった lModpath+BMP+Jenkinsで評価結果 チェックの⾃自動化もできそう p次なる課題 まとめ
  23. 23. ©  BIGLOBE   Inc.  201623 Python  Modpath Sample  for  GoBGP https://github.com/Mabuchin/pygobgpmodpath

×