本日、ジュニパーネットワークスは画期的かつ重要なプロダクトの進化の日を迎えます。当社のエンジニアリングチームは過去2年間にわたり、「CN2」のプロジェクト名のもとで Contrail Networkingの抜本的な改良に取り組んできました。これはContrailの重要な第2版となるものです。ただし、プロジェクト名はJuniper Cloud-Native Contrail Networkingの略称に基づきます。「CNCN」や「CN2」よりも「CN2」のほうが呼びやすかったので、「CN2」としました。
CN2およびContrail 22.1のリリースで、ジュニパーは自動化されたハイパフォーマンスかつスケーラブルなクラウドネイティブのネットワーキングソリューション、そしてハイパースケーラー向けの高効率なDevOps 体制をお客様にお届けする、最新の Kubernetesネイティブのアーキテクチャを提供します。何より重要な点は、CN2がKubernetesとOpenStackの両方でアプリケーションをセキュアに接続するよう設計されているということです。
新機能:OpenStackから表裏一体のKubernetesへ
私は2012年のジュニパーネットワークスによるContrail Systemsの買収、さらに2013年における最初のプロダクトローンチに携わる機会に恵まれました。この頃、そして2012年にジュニパーネットワークスと合併した当時、Contrailの使命はIaaS(Infrastructure-as-a-Service)とNFV(ネットワーク機能仮想化)向けの大規模なSDNにおける困難な問題を解決することであり、そこではOpenStackがオーケストレーションを担っていました。2015年以降、数年の間にKubernetesが登場し、アプリケーション開発と運用、最近ではVMの運用において流れを大きく変えることになりました。
Kubernetesはかなり以前から、OpenStackよりも広く普及しています。ジュニパーネットワークスは、お客様のためにKubernetesとOpenShiftをより適切にサポートできるようにCN2の大規模な刷新を行う一方で、OpenStackも十分にサポートできるようにし、ユーザーが両者のバランスを取りつつ、あるいはKubernetesに移行しつつ、共通のエクスペリエンスを維持できる体制を目指しました。
そして今、CN2はKubernetesを第一に据えています。それだけでなく、CN2はKubernetesネイティブになっています。
変更点:Kubernetesネイティブへ
Contrailの変革は、クラウドネイティブとKubernetesのエコシステムのサポートだけではありません。Kubernetesのための典型的な最適化、つまりCN2をKubernetes自体の拡張機能となるよう再開発しました。
Kubernetes CNIとして動作するだけでなく、CN2はカスタムリソースのKubernetes拡張フレームワークを導入することで、クラスターインフラストラクチャの基盤として統合されます。CN2のすべての機能は、Kubernetes自体とともに提供されます。お客様は、kubectlやK9s、あるいは他のKubernetesツールを利用できます。さらに、広く使われているKubernetesのGUIであるLensもContrailプラグインで拡張しました。つまり、CN2のAPIはネイティブのKubernetes RBACおよび隣接するIAMシステムを利用して統合されるようになりました。またCN2はコードとして設定されており、GitOps、コードとしてのインフラストラクチャ、およびCICDを簡単に有効化できます。さらにContrailのSDNのためのターンキーCICD向けに、ArgoCDとArgoWorkflowsに基づくContrail Pipelinesも導入しました。ここにはジュニパーの新しいテストスイートも含まれています。
加えて、CN2はクローズドソースとして非公開で開発されました。前バージョンの21.4やそれ以前ではオープンソースでしたが、バージョン22.1からはCN2が導入されます。ご希望の方はジュニパーネットワークスから無償の試用ライセンスを受け取ることができます。
変わらない点:スケーラブル、ハイパフォーマンス、オープンネットワーキング
CNIの考え方は、KubernetesのためにContrailをあるがまま還元的に表示するということです。Contrail内では、SDN関連の機能が数多く揃っています。たとえば、マイクロセグメンテーションセキュリティポリシー、名前空間の分離によるセキュリティ、ingressロードバランシング、外部で利用可能なマイクロサービスのためのネイティブロードバランシング、トラフィックミラーリング、ルーティングポリシー、ネイティブBGPサポート、仮想ネットワークトポロジーと仮想ネットワークなどです。いずれもオーバーレイの有無を問わず機能します(ただし、オーバーレイの使用を推奨します)。
エンタープライズ向け、クラウドプロバイダ向け、サービスプロバイダ向けに豊富に用意されたネットワーキング機能をここですべて網羅することはできませんので、CN2の提供機能を紹介する今後のテクニカルブログ記事やデモビデオを参照してください。
Kubernetesが多くの場合クラウド上で動作することは誰もがご存じでしょう。Contrailも、いつでもそこに加わることができます。ジュニパーはそうした導入機能を豊富に用意しています。ただし、 CN2をセルフマネージド方式のベアメタルクラウド上で運用することは、プライベートデータセンターにおいてはゲームチェンジャー的な意味を持ちます。CN2のオープンスタンダードに基づくシンプルなフェデレーションモデルによって、論理的に集中管理されたコントローラから他のCN2コントローラ、そして特にBGPルーター(ジュニパーや他のベンダーを含む)に仮想ネットワークがピアリングされるためです。オンプレミスでの導入でも、お客様はSmartNICのオプションを活用して、パフォーマンスを最大限に引き出すことができます。
変わらない利点と、さらに改善された点
マルチクラウドの進化に合わせ、マルチKubernetesも進化しています。この進化は次の2つの点で起こっています。クラスター数と、Kubernetesフレーバーまたはディストリビューションです。
多くの企業では、クラウド上のマネージドKubernetesサービスと合わせて、導入されたセルフマネージドディストリビューションを利用しています。CN2は依然としてSDNの有力な選択肢ですが、それはOpenShiftとOpenStackを含むKubernetesのディストリビューションにすべて対応し、共通のエクスペリエンスを作り出し、シームレスな相互接続のためのフェデレーションを行う、ハイブリッドな機能があるためです。
複数のオーケストレーターのサポートに加え、KubeSprawlはその名のとおり多くのKubernetesクラスターを使用しています。そしてCN2の新たな強みとなっているのが、マルチクラスターのKubernetesです。
Contrailは常に、スケーラブルかつセキュアで堅牢なマルチテナント機能を実現するために開発されてきました。したがって、大規模で多目的な複数チームとクラスターを共有するような用途に最適です。しかし、チームごと、アプリケーションごと、開発用、テスト用、ステージング用、本番用と、多くの小さなクラスターを導入する方向へと企業が向かうのであれば、CN2はこのマルチクラスターの煩雑さを一掃し、クラスターをまたいでSDNを統合する機能を提供します。1つのプライマリークラスターでのみ動作し、それ自体や他の多くのクラスターのCNIとして機能することが可能です。同様に、マルチクラスター分析を組み合わせることもできます。CN2の特長は強力なフェデレーションですが、このマルチクラスターモデルでは、仮想ネットワークとセキュリティポリシーの管理をシームレスに行うためにクラスター間のフェデレーションは必要ありません。
最後に、KubernetesとOpenStackを比べると、Kubernetesのほうがはるかに容易に導入できます。プライベートクラウド、パブリッククラウド、ベアメタルで動作し、1つのノードという小さな導入も可能です。このため、CN2は試用とテスト運用が非常に簡単になっているはずです。CN2でノートパソコン上のミニキューブを動作させることが、ほんの数分でできます。さらにジュニパーは、ログ記録、システム分析、ネットワーク分析、フローテレメトリを完全にオプションで提供することで、あらゆる導入を効率化し、無駄のない運用が可能です。
これはジュニパーの製品とエンジニアリングチームにとって大きな功績であり、Contrail の新版の始まりと、CN2の新時代の到来を表すものとなるでしょう。
その他のリソース