Contrailの概要
概要 クラウドネイティブのContrail Networkingの詳細はこちら。
このセクションは、Contrail ソリューションの簡単な概要を説明することを目的としており、使用している Kubernetes ディストリビューションでサポートされていない機能について説明している場合があります。ご使用のディストリビューションの現在のリリースの機能については、クラウドネイティブな Contrail Networking リリースノートを参照してください。
Kubernetesへのすべての言及は一般的に行われており、特定のディストリビューションを選別することを意図したものではありません。
Contrail Networkingは、仮想ネットワークの作成と管理を自動化し、プライベートクラウドとパブリッククラウドにまたがるクラウドワークロードとサービスをシームレスに接続、分離、保護するSDNソリューションです。
クラウドネイティブなContrail Networkingは、この豊富なSDN機能セットをネットワーキングプラットフォームおよびコンテナネットワークインターフェイス(CNI)プラグインとしてKubernetesにネイティブにもたらします。
クラウドネイティブアーキテクチャ向けに再設計されたクラウドネイティブContrail Networkingは、DevOpsの簡略化からターンキーの拡張性まで、Kubernetesのメリットを活用し、そのすべてを高可用性プラットフォーム上に構築します。次のようなメリットには、標準的なKubernetesツールと手法を活用して、Contrailをライフサイクル全体を通じて管理することが含まれます。
- 標準の Kubernetes およびサードパーティー ツールを使用して Contrail を管理。
- Kubernetes コントロール プレーンをスケーリングして Contrail をスケーリングします。
- カスタムリソース定義(CRD)を使用して Contrail を設定します。
- 更新されたマニフェストを適用して、Contrail ソフトウェアをアップグレードします。
- Contrail 名前空間とリソースを削除して Contrail をアンインストールします(OpenShift ではサポートされていません)。
Contrail Networkingは単なるCNIプラグインではなく、マルチクラスタのコンピューティングおよびストレージ環境において、クラウドネイティブなコンテナ化ワークロードと仮想マシン(VM)ワークロード向けに、動的なエンドツーエンドの仮想ネットワーキングとセキュリティを一元管理できるネットワーキングプラットフォームです。また、多数のテナント、チーム、アプリケーションまたはエンジニアリングの各フェーズで共有されるシングルまたはマルチクラスタ環境向けのハードマルチテナントをサポートし、数千のノードに拡張します。
Contrailの実装は、Kubernetesコントロールプレーンに存在する一連のContrailコントローラと、各ノード上のCNIプラグインとvRouterで構成されています。本格的な vRouter をワークロードと統合することで、Contrail は、小規模な単一クラスタから大規模なデータセンターでのマルチクラスタ導入まで、次のような幅広いネットワーク要件に柔軟に対応できます。
- 単一クラスタおよびマルチクラスタ導入におけるロードバランシング、セキュリティとマルチテナント、弾力性と耐障害性に優れたVPN、ゲートウェイサービスを含むフルオーバーレイネットワーキング
- ネットワーク構成とコントロールプレーンのすべての側面を監視する、高可用性と耐障害性に優れたネットワークコントローラ
- テレメトリや、Prometheus、Grafanaなどの業界標準の監視ツールやプレゼンテーションツールを使用した分析サービス
- CRI-Oランタイムとcontainerdランタイムの両方をサポート
- コンテナとVMのワークロードのサポート(kubevirt経由)
- DPDKデータプレーンアクセラレーションのサポート
Kubernetes の各コントロール プレーン ノードには、各ノードで実行される vRouter データ プレーンの分散セットを管理する Contrail コントローラが含まれています。Contrail コントローラは、新しいワークロードのインスタンス化などのワークロード プロビジョニング イベント、新しい仮想ネットワークの作成などのネットワーク プロビジョニング イベント、内部および外部ソースからのルーティングの更新、およびリンクやノードの障害などの予期しないネットワーク イベントを自動的に検出します。Contrail コントローラは、必要に応じてこれらのイベントを報告してログに記録し、必要に応じて vRouter データ プレーンを再設定します。
Kubernetes コントロール プレーン ノードごとに 1 つの Contrail コントローラがあります。複数のコントロール プレーン ノードを持つクラスタでは、Contrail コントローラは iBGP を使用してルートを交換することで同期を維持します。コントロール プレーン ノードがダウンしても、他のノードの Contrail コントローラはすべてのデータベース情報を保持し、ネットワーク コントロール プレーンを中断することなく提供し続けます。
ワーカー ノードでは、各 vRouter が 2 つの Contrail コントローラとの通信を確立するため、1 つのコントローラがダウンしても vRouter は引き続き命令を受け取ることができます。
KubernetesをネイティブにサポートしているContrailソリューションは、Kubernetesアーキテクチャ固有のシンプルさ、柔軟性、拡張性、可用性を活用しながら、企業やサービスプロバイダの要件を満たすことができる豊富なSDN機能セットをサポートします。企業やサービス プロバイダは、使い慣れた簡略化された DevOps ツールとプロセスを使用して Contrail を管理できるようになりました。新しいライフサイクル管理(LCM)パラダイムを学ぶ必要はありません。
クラウドネイティブなContrail Networkingのメリット
- オーバーレイデータセンターネットワーク向けに豊富なネットワーク機能セットをサポートします。
- アップストリームと商用のKubernetesディストリビューションの両方に、拡張性と可用性に優れたSDNソリューションをデプロイします。
- 使い慣れた業界標準のツールと手法を使用して Contrail を管理。
- 既存の DevOps エンジニアのスキルセットを活用して、Contrail を迅速に導入して稼働させることができます。
- ジュニパーネットワークスのファブリックデバイスやファブリック管理ソリューションと組み合わせることも、お手持ちのファブリックを使用することもできます。