Kubernetesはクラウドネイティブコンピューティングの基盤として広く採用されており、ネットワーキング機能はその性能と柔軟性を決定づける重要な要素です。特に、テレコムワークロードにおいては、多ネットワーク(multi-network)の要件が顕著です。この記事では、Kubernetesネットワーキングにおける多ネットワーク課題、現行の解決策、技術的挑戦、および未來の方向性について詳しく解説します。
多ネットワークの課題と現行の解決策
多ネットワークの使用ケース
- GPU直接アクセス:RDM(Rapid Device Migration)能力が必要で、GPU専用インターフェースを介したアクセスが求められます。
- ストレージネットワークの隔離:ストレージネットワークに接続するためのサブインターフェースを用いた流量分離が必須です。
- アプリケーションデータとコントロールプレーンのインターフェース:アプリケーションのデータプレーンとコントロールプレーンに別々のインターフェースを割り當てる必要があります。
- ネットワークセグメンテーション:多テナント環境における仮想ネットワークの分離が求められます。
現行の解決策
- Network Attachment Definitions (NAD):標準化されたAPIとして位置付けられていますが、OVN-KubernetesやMultusなどのCNI実裝ごとに異なる仕様が存在します。
- 非標準的なアプローチ:特定ベンダーの製品(例:Metal LB)やカスタム実裝が一部で利用されています。
現行技術の限界とOVN-Kubernetesの役割
NADの制限
- JSON形式の規格であり、統一されたAPIが存在しない。
- CNI実裝ごとに異なる仕様により、実裝の統一が困難。
OVN-Kubernetesの特徴
- 多ネットワークをサポートするCNI実裝として維持されています。
- 特定のインターフェースをサポートするが、Kubernetesコア機能との統合が課題です。
動的リソース割當(DRA)とCap 5075の導入
DRAの三段階プロセス
- デバイスリストとリソース宣言:ノードのデバイスをリストアップし、リソース要件(例:特定のネットワークインターフェース)を宣言。
- リソース配置とスケジューリング:Kubernetesがノードを選択し、デバイス(例:IPアドレス)を配置。
- 狀態報告:デバイスの狀態(例:IPアドレス)を報告し、今後はさらに機能拡張が期待されます。
Cap 5075の機能
- デバイス容量の宣言とスケジューリングを可能にし、帯幅などのリソース管理を柔軟化。
挑戦と未來の方向性
標準化と互換性の課題
- KubernetesのAPIは後方互換性を重視しており、多ネットワークの概念はフラットなネットワークモデルと衝突。
- 高階APIと低階APIの統合方法を統一する必要がある。
コミュニティの分斷
- CNI、Multus、Network Plumbing Groupなどのプロジェクト間で協力が困難。
- ネットワークポリシーとサービスAPIの再設計が求められる。
技術的複雑性
- ポッドIPに依存するネットワークポリシーが、多ネットワーク環境でIP衝突を引き起こす可能性。
- サービスAPI(例:Service CIDR)の再定義が不可欠。
未來の方向性と技術的進展
DRAとCapの統合
- DRAを用いてデバイスリソースを動的に割り當て、多ネットワークインターフェースをサポート。
- Cap 5075により、リソース管理の柔軟性が向上。
コミュニティ協力と標準化
- パリ會議などの議論を通じて、多ネットワークの標準化を推進。
- CNIとKubernetesコア機能の統合を進める。
サービスとネットワークポリシーの進化
- 多ネットワーク環境に対応したサービスAPIの再設計。
- ネットワークポリシーのIP衝突迴避と一貫性確保。
長期的な目標
- Kubernetesのネイティブ多ネットワークソリューションを構築し、クロスクラウドやハイブリッド環境での互換性を確保。
技術的詳細と実裝
DRAによるネットワーク統合
- ネットワークインターフェースをリソースとして扱い、DRA APIで管理。
- デバイス狀態(例:IPアドレス)とノードの同期を実現。
多ネットワークオブジェクト(Multi-Net Object)
- 複數のネットワークインターフェースを定義可能で、複雑なネットワークトポロジー(例:多VPC、多サブネット)をサポート。
- Alpha版でリリース予定で、今後Gateway APIとの統合が進む。
ネットワークポリシーとサービスの統合
- 現在のサービスとネットワークポリシーは分離処理だが、今後統合管理が求められる。
- 多ネットワーク環境ではIP衝突を迴避し、ポリシーの正確な適用を確保。
まとめ
Kubernetesのネイティブネットワーキングにおいて、多ネットワークの要件はテレコムワークロードの実現に不可欠です。現行のNADやOVN-Kubernetesは課題を解決する一歩ですが、DRAとCapの導入によりリソース管理が進化しています。標準化とコミュニティの協力が今後の成功に鍵となります。技術的挑戦は依然として存在しますが、継続的な進化により、Kubernetesは多ネットワーク環境での信頼性と柔軟性を提供し続けるでしょう。