コンテナネットワークの基礎知識【第9回】
「Kubernetes」を使うなら、まず知っておきたい「Flannel」と「Calico」の通信
コンテナ間の通信を実現するCNIプラグインを使うことで、KubernetesのPod間通信が可能になります。代表的なオープンソースのCNIプラグインを紹介します。
コンテナオーケストレーター「Kubernetes」のクラスタ(Kubernetesクラスタ)におけるネットワークは、一般的にCNI(Container Networking Interface)プラグインを使用して構成します。CNIは業界団体CNCF(Cloud Native Computing Foundation)のプロジェクトとして定義された「Linux」コンテナ向けのネットワークの仕様であり、CNIプラグインはこの仕様に基づいたプラグインです。CNIの仕様に基づいたプラグインであれば、Kubernetesだけではなく「Cloud Foundry」や「Apache Mesos」などの主要なコンテナオーケストレーターでも利用することが可能です。
オープンソースのCNIプラグインが豊富に存在する他、さまざまなベンダーが自社のネットワーク製品やサービスを活用するためのCNIプラグインを提供しています。CNIプラグインを選択する際の参考として、本稿はまずオープンソースの主要なCNIプラグインを紹介します。
オープンソースのCNIプラグイン
オープンソースで開発されているCNIプラグインは概して、Kubernetesクラスタ内のソフトウェアだけで機能します。そのため、Kubernetesを使ったさまざまなコンテナで利用することが可能です。
Flannel
「Flannel」は非常にシンプルなKubernetesのCNIプラグインとして豊富な実績を持ちます。にLinuxカーネルの機能を利用して、仮想ネットワーク用のプロトコル「VXLAN」(Virtual eXtensible Local Area Network)を使った「ノード」(コンテナの実行ホスト)間のオーバーレイネットワーク(論理的に制御可能なネットワーク)を構成し、コンテナ向けのネットワークを作成します。Flannelはノード内の「flannel.1」というネットワークインタフェースでノードをまたぐPod間通信(Podはコンテナの集合体)をVXLANによってカプセル化(プロトコル用のヘッダ情報の付与)し、トンネリング(通信経路の確立)をして他のノードに届けます。受信したノードがカプセル化を解き、Pod同士の通信が実現します(図1)。シンプルな実装となっており、Pod間通信を制御するKubernetesの機能「Network Policy」は利用できません。
Calico
「Calico」はノードをまたぐPod間通信をFlannelのようにカプセル化する方法と、カプセル化しない方法のどちらかを選択することが可能です。Calicoは各ノードに、Podが利用するCIDR(Classless Inter-Domain Routing、アドレス割り当ての仕組み)のネットワークアドレス(Pod CIDR)を割り当てます。各ノード内で起動する「BIRD」(経路制御プロトコル「BGP」を使ったプログラム)が、Pod CIDRを経路情報として交換し、ノード内のルートテーブルに反映します。ノードはPodが送信したパケットをルートテーブルに基づいて宛先Podが存在するノードに転送し、パケットは受信先のノード内のルートテーブルを参照して宛先Podに届きます(図2)。
ノード同士が同じネットワークセグメント内であればこのようにシンプルに通信することが可能ですが、宛先のノードが異なるネットワークセグメントに存在する場合、中継するルーティング機能を備えたスイッチなどのL3(レイヤー3)デバイスにPod CIDRに対する経路情報が存在しないとパケットを届けることができません。そこでFlannelなどパケットをカプセル化する仕組みを使うか、カプセル化をしない場合はルートリフレクタ(経路情報を転送する仕組み)を利用して、中継するL3デバイスにPod CIDRを広報(経路情報を伝えること)することで、L3デバイスをまたいだ通信が可能になります。通信のカプセル化にはオーバーヘッド(ある処理に付随する負荷)が発生するので、Calicoでカプセル化しないPod間通信を選択することでデータ転送パフォーマンスが向上します。
CalicoはNetwork Policyを利用してPod間の通信を制御することが可能です。データ転送を担うデータプレーンとしてFlannelを利用し、Network Policyを利用するためのポリシーエンジンとしてCalicoを利用することもできます。
次回はクラウドサービスが提供するKubernetesのネットワークを紹介します。
執筆者紹介
奈良昌紀(なら・まさのり) ネットワンシステムズ ビジネス開発本部第1応用技術部
通信事業者のデータセンターにおいてネットワークやサーバの運用を経験後、ネットワンシステムズに入社。帯域制御やWAN高速化製品、仮想化関連製品を担当後、主にクラウドや仮想インフラの管理、自動化、ネットワーク仮想化の分野に注力している。
細谷典弘(ほそや・のりひろ) ネットワンシステムズ ビジネス開発本部第3応用技術部
データセンターネットワークの他、マルチクラウド向けのハードウェアやソフトウェアの最先端技術に関する調査・検証、技術支援などを担当。注目分野は「Kubernetes」。放送システムのIP化に向けた技術調査・検証も担当している。
千葉 豪(ちば・ごう) ネットワンシステムズ ビジネス開発本部第1応用技術部
IaaS(Infrastructure as a Service)をはじめとしたクラウド基盤技術および管理製品を担当。コンテナ技術を中心とした開発・解析基盤の構築から運用、コンテナに関連した自動化技術や監視製品の技術検証などに注力している。
Copyright © ITmedia, Inc. All Rights Reserved.
コンテナネットワークの基礎知識
この記事の著者
関連記事
新着ホワイトペーパー PR
-
製品資料
[株式会社MatrixFlow] 「物流リソース最適化」ガイド:人員・配車・傭車を出庫依頼の確定前に決めきる -
製品資料
[株式会社キーエンス] なぜRPA導入は頓挫する? シナリオ作成の壁を乗り越える解決策とは -
製品資料
[株式会社セールスフォース・ジャパン] 「CRMは設計と無関係」は本当か? PLMとの融合で実現する高速開発 -
事例
[日本ヒューレット・パッカード合同会社] AIエージェントの時代にどう備える? 「新たな働き手」を支える3要素とは -
製品資料
[日本ヒューレット・パッカード合同会社] “横並びの自動化”から脱却、AI活用で生産性と競争力を高める秘訣
こんなメディアも見られています
TechTargetジャパンに関連する情報をお探しであれば、こちらのメディアもお役に立てるかもしれません。
ベンダーコンテンツ PR
From Informa TechTarget
SpecialPR
アクセスランキング
-
1
ChatGPTは“検索しまくり”でGeminiは“淡泊”? データが明かすAIの裏側
-
2
なぜ「全社配布Copilot」は使われないのか? 失敗に学ぶAI定着
-
3
法務と開発者で「言葉が通じない」問題 トヨタやソニーが語るOSS管理の真実
-
4
損保ジャパンはなぜ「COBOL」を捨てなかったのか? 脱メインフレームの真相
-
5
情シスの約8割が転職や退職を意識 調査で分かった“辞めたくなる最大の理由”
-
6
「IBM iはDXのボトルネック」は誤解 意外と知らない今風モダナイズの効果
-
7
Microsoft 365の知られざる5つの裏口 パスワードを変えても攻撃者は消えない
-
8
「結局使わなくなる」Microsoft 365 Copilotを半年で定着 キリンの3施策
-
9
【漫画付き】ひとり情シス協会が明かす、RAG導入でしくじる企業「2つの共通点」
-
10
「中堅・中小企業のネットワーク・セキュリティ運用実態」に関するアンケート
ホワイトペーパーランキング PR
-
1
不審メールの経路や見せ方に変化? 2026年夏の3事例から見えた動向と対処方法
-
2
家庭用Wi-Fiルーターの業務利用は危険? 避けるべき理由と具体的な対策
-
3
Microsoft 365を安全に運用 うっかりミスやサイバー攻撃に備えるデータ保護術
-
4
財務部門がAIを最大限に活用する方法 無駄のない戦略的リーダーシップへの道
-
5
LLMが兵器化? 元FBI高官が鳴らす警鐘とセキュリティツール統合のポイント
-
6
「オンプレミス回帰」せざるを得ない“合理的な理由”
-
7
なぜRPA導入は頓挫する? シナリオ作成の壁を乗り越える解決策とは
-
8
生成AIを開発に導入しても効果が見えない? 実証実験で分かった成果と課題
-
9
経産省DX指針から読み解く、受発注業務デジタル化ロードマップ
-
10
HDDを使わない「SSDオンリー」が無謀なのはなぜ?
TechTargetジャパン SNS
インフォメーション
注目情報をチェック
TechTargetジャパンをフォロー