Contrail の概要
概要 クラウドネイティブのContrail Networkingについてご紹介します。
このセクションでは、Contrail ソリューションの概要と概要について説明し、使用している Kubernetes ディストリビューションでサポートされていない機能について説明します。ディストリビューションの現在のリリースの機能については、クラウドネイティブのContrail Networkingのリリースノートを参照してください。
Kubernetes へのすべての参照は一般的に作成され、特定のディストリビューションを単独で除外することを意図したものではありません。
Contrail Networkingは、仮想ネットワークの作成と管理を自動化するSDNソリューションで、プライベートクラウドとパブリッククラウド間でクラウドワークロードとサービスをシームレスに接続、分離、保護します。
Cloud Native Contrail Networkingは、この豊富なSDN機能を、ネットワークプラットフォームとコンテナネットワークインターフェイス(CNI)プラグインとしてKubernetesにネイティブに提供します。
クラウドネイティブアーキテクチャ向けに再設計されたCloud Native 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とコンテナ型ランタイムの両方をサポート
- コンテナおよび 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 を迅速に稼働させます。
- ジュニパーネットワークスのファブリックデバイスやファブリック管理ソリューションと組み合わせるか、独自のファブリックを使用してください。