■プロジェクト名
Calico検証
■プロジェクト期間
2017年5月~2018年3月
■プロジェクト概要
Project CalicoはIPルーティングベース(L2レス)という従来のネットワークやSDNとは異なる特性を持っている。本プロジェクトでは、Calicoが出てきた背景や技術的な特徴、アーキテクチャ、適したユースケースなどを明らかにし、情報を公開することを目的とする。
■Calico検証PJの活動内容
Calicoホワイトボックス化
OpenStack with Calico構築 (OOLテストベッド)
Calicoの動作を詳細に調査・分析
Calicoのコンポーネント(Felix、BIRD、etcdなど)の振る舞い
OpenStackインスタンス間および外部ネットワークとの通信経路
ネットワーク分離やマルチテナントなどのセキュリティ機能
Kubernetse with Calicoの動作検証
ユースケース検討
Istioアーキテクチャ調査とCalicoとの連携動作検証
Calico技術記事の執筆
■Project Calicoが出てきた背景
運用面
仮想ネットワークやSDNが出てきて、物理ネットワーク上に独立した仮想ネットワークつまりオーバーレイネットワークが作られるようになり運用はより複雑化した
性能面
データセンターでは、オーバーレイのカプセル化によるオーバーヘッドやL2セグメントが広がることによるBUMトラフィック、East-Westトラフィックの増大などの課題がある
トレンド
クラウドネイティブアプリケーションの登場で、VMやコンテナなどの高速なライフサイクルに合わせてネットワークを変更したりスケールしたりする必要性が出てきた
■Project Calicoの技術的な特徴
Non Overlay
柔軟なネットワーク構成のためにIPルーティングだけで組むというモデルを採用
全てのVM/コンテナがIPアドレスをキーとして通信するのでIPアドレス重複はできない
Non Controller
BGPを採用したことで中央集権的なコントローラーが不要になりスケーラビリティが出しやすい
BGPを使う副次的な効果として相互接続性が高い
OpenStackやKubernetesなどのオーケストレーターと組み合わせることが前提
■Project Calicoアーキテクチャ
■Calico検証PJの成果と課題
成果
OpenStack環境におけるCalicoのホワイトボックス化によって、Calicoのアーキテクチャーを詳細に把握することができた
多数の有識者を交えた意見交換会を複数回実施し、Calicoの特徴やユースケースを検討できた
OpenStackのマルチテナント環境におけるIPアドレス重複ができないCalicoのアーキテクチャー特有の制約などは、Kubernetesといったクラウドネイティブ環境では課題とならず、BGPやコントローラーレスなどのアーキテクチャー面においてコンテナネットワーク向きであることがわかってきた
課題
コンテナ技術の利用を中心としたデータセンターでCalicoを安定して利用するためには、BGP運用技術の習得やCalicoを含めたトラブルシューティング方法の検討を行う必要がある。
コンテナネットワークの検証には、インフラ視点だけではなくアプリケーション開発者の視点にも立つ必要がある。
■フォーラム・講演
2017/7/26(水) OpenStack最新情報セミナー
2017/11/28(火) 沖縄オープンラボ Calicoフォーラム
内容:研究成果報告と意見交換を実施
2018/1/19(金) 沖縄ラボフォーラム
内容:CalicoにおけるBGP利用についてディスカッションと、Istioの紹介、Calicoと連携させるデモを実施
2/19(火) RICC(地域間インタークラウドワークショップ2018)
内容:Calico検証PJの研究成果を発表