ネットワークプログラマビリティ勉強会 #npstudy #15 参加メモ
ネットワークプログラマビリティ勉強会に参加してきたのでいつものメモです。
- ネットワークプログラマビリティ勉強会 #15 - connpass
- 資料についてはこっちも参照してください。
- ネットワークプログラマビリティ勉強会#15 #npstudy ツイートまとめ - Togetter
ネットワークプログラマビリティ勉強会
趣旨
募集
- スピーカーがいると次回早く開催できます
- LTは公募割と早く埋まるので、確定してないネタでも声をかけてもらえると
- スタッフも募集してます。
- 会場も探してます
Lagopus Router, hibitomo さん
余談: MSのすごいところ
- DPDK
- [dpdk-dev] [dpdk-announce] git repository for DPDK on Windows, 昨日アナウンスされた。DPDK が Windows で動いて L2/L3 Forwarding が動くらしい。
- 是非 Windows で動かしてドヤ顔で npstudy で発表してください
Lagopus
- NTTの研究所で開発している。OSSプロジェクト。
- 2013年から。SDN/NFVというキーワードで。DPDKで10Gワイヤレート、ソフトウェアで汎用サーバの上で。
- コスト効果、time-to-market の短縮
- 最初は総務省のプロジェクト。今はNTTと大学とか。
- 2017/8月にLagopus software router (alpha), 今頃には beta が出てるはずだったんだけど社内手続きを勘違いしていてちょっとずれる…
Lagopus switch
- OpenFlow1.3 + Tunnel Extension
OpenFlow?
- パケットをマッチしていろいろいじる
- 弱点: ステートを持てない (ステートはコントローラでしか持てない)
- よく考えないとフローが爆発しがち
- ユースケース例
- SDN-IX (Interop), DDoS対策とか。
- ユースケース要望きくとOFだとつらい
- VRRPとか。自発的にパケットを出す・ステートを持つ
Lagopus switch → Lagopus routerへ
- NWエンジニアが使いやすいものを作ろう
- 方針
- コントローラ--スイッチ間が埋まりがち → 経路交換とかの機能は「箱」のほうへ。コントローラ側は提供したいサービスアプリのみに注力しよう。
- lagopus で実証実験 → 良ければベンダとかで
中身の話
- Lagopus project 側の思いからは、モジュールを作ってみてほしい → router architecture について。
- 中身はマイクロサービスみたいな感じ
- モジュール間が gRPC とかで切れてる
- Zebra2.0 で使っている config manager を利用。(config datastore)
- demo
- config datastore → agent (routing, vrrp, ike, mat) → dataplane
- DP間I/Fは gRPC, NetLink の agent がある
Dataplane module
- Fast path → DPDK, Slow path → Golang で記述
- Go/DP(Clang)間はRING, (2016 の dpdk user space (ダブリン) の資料を参照)
- alpha → beta で中身が変わる。2018年度頭リリースの時にモジュールの書き方とかのドキュメントを追加して公開予定。
Config datastore
- Openconfigd
- YANGを突っ込むとCLI/APIを生成してくれる
- YANGのconfig sub tree に対して、agent が subscribe すると push してくれる。
- CLI も他とか commit とかつかえる
- validation して subscribe しているモジュールがみんなOKならcommitになる
- openconfigd でオレオレCLIを書こう (IW2017 BoF 浅間さん)
Openconfigd Demo
Roadmap
QA
- lagopus arch, agent は golang の別のプロセスで動いている?
- スレッドのつかいかた、switch は dpdk pipeline model, router は?
- 基本的には pipeline model にちかいけど、スケジューラがいて仕事を割り振る感じ。
ここ3年におけるサイバーエージェントのネットワークを取り巻く環境の変化 ~API/SDN/kubernetes~, 山本さん
- ゲーム・メディア事業
- アドテク本部
- インターネット広告
- アドテクスタジオ
- いろんな広告をまとめて開発していく(掲載媒体より・広告出したい人向け、広告競売、などのシステムがある
- 遅延の少ないネットワークが求められる
アドテクスタジオのインフラ?
- 広告プロダクト…25-30ある。200名くらいのエンジニア(ほとんどアプリ。インフラは10人くらい。)
- インフラはプロダクトで選択できる。GCP < AWS < Private cloud (インスタンス数)
- GCP増えてきてる
- 本番用 OpenStack (ふたつあって新旧移行中)
- コンテナ基盤
- CI (Circle CI)
- Circle CI 2.0 で苦労しています
- 物理マシンはMAAS (Ironic)
- 個人開発用クラウド (OpenStack Mille + Midonet)
- 分析基盤: tableau, Hadoop (OpenStack)
ここ3年
- 2014/3
- 2014/8
- 2015/2
- 2016/11
- コンテナ使いたい → GKE → k8s-aaS ("AKE")
- private cloud, パフォーマンスとか見てもコストメリットがあったので。
- k8s 構築がつらい問題→k8sクラスタを簡単にデプロイ。動的な永続ボリュームの提供。
- OpenStack上で必要なリソースを展開...HEATの話とかもトラブルシュートする上では必要
- type:LoadBalancerの壁…OpenStackでは neutron LBaaS, Octavia : でも アドテクのOpenStackはL2構成…
- k8s cloud provider の openstack pkg を回収 → LB用IP払い出してAXCをたたくように変更
- 物理の世界だけでは生きていけない
- chatbot も進化: ヘルスチェックやアラート応答
まとめ
- NWエンジニアの領域は変わってきている
- openstack, sdn, k8s による変化にどれくらいNWEが食い込んでいけるか
- 申請処理などの単純作業から解放されれば他のことがやれる
- 情報交換を
Azure のネットワークはブラックボックスじゃない!, 山本さん
Azure
- サービス8年。IaaS/PaaS, AKS
- Enterprise Cloud : 固い会社とよくやっている
- 世界中にDCがあるよ
- 5月~欧州で個人情報保護系の法律(GDPR)にも対応
- Openなクラウドです!
NWがブラックボックス?
- Azure NW, 世界中のDCにいろんな回線引いてる。backbone NW つよいよ
- IaaSのNWイメージ
- NWの可視化 : Network Watcher
- 有料だけどゴミのような値段!
- demo
- VM→NIC→IP,NSG
- Network watcher → トポロジ → NW図を表示 (defaultでやれる + download topology すると visio で編集可能なファイルが落とせる)
- Network watcher → IPフロー確認(ping), packet captuer
- PowerBIにNWログ食わせる(Windows)。テンプレートがある。とってきた情報のままレポートが書ける
- Security center: NWの推奨値とかが出てくる。ポリシあてたりとかいろいろ。
- Just in Time VM preview: 普段は全部閉じたFWポリシ。要求タイミングで特定プロトコルを指定時間・指定範囲で空けることができる。(まだGUIでの入力)
分離されたネットワークでの複合機/プリンターの共有, @otahi さん
オフィスでのネットワークの課題とその対策。
- 総務省が自治体に、ネットワークの分離を求めている。住基ネット/LGWAN/インターネットをわけてそれぞれで情報が簡単にやり取りできないように。
- 複数のネットワークから複合機とかプリンタを安全に利用したい
- NWごとにプリンタ置けばいいんだけど場所の問題もあるしそうもいかない
複数のNWからプリンタ使いたい
- USBプリントサーバ
- 2系統までなら簡単
- インタフェースボックスタイプ (今回の話はこれ)
- 3系統までの有線LANに対応
- scan-to-folder 可能
- 個人認証/私書箱プリント対応
- Tag VLAN対応(10VLANまで) (プリンタはtag対応しない)
しくみ
- いままでのNWはそのまま
- 他のNWは NAPT...プリンタが source になるときのルーティングとかNW間制御とかでSDN的に
USBプリントサーバだと快癒ところに手が届かないところに対応
pyATSをつかったテストの自動化, 緒勝さん
pyATS?
- python based framework
- pytest + netomico
- もうちょっとすると testfms 込み見たいなフレームワークに
- まだ OSS としてソースコードが公開されていない
- 公開されるかどうかはまだわからない。
- 発表はいちユーザとして。
- pyATS + Genie
- 現在は netomico 的モジュール(genie), 今後は REST, parser lib 都下も出てくる予定。
テストケースをクラスで書いて、メソッドでステップを刻んでいく
- ベーシックなテストケースを書いて、子classでoverrideしてバリエーション
いいとこ
- cisco で結構長くつかわれてる。
Testbed file
NSOで自動化した処理の試験を自動化する - pyATS →(REST)→ NSO → config → test - CLIでやったけど XML でやったほうがらくだったかな
関連情報
- https://developer.cisco.com/site/pyats/
- ドキュメントはそれなりにそろえてあります。
次回
- 2か月後くらい?
- ネタがある人は声をかけてください