コンテナネットワークの基礎知識【第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
-
製品資料
[株式会社インターネットイニシアティブ] 人材不足と属人化が深刻に 「攻められない情シス」を変革する一手とは? -
製品資料
[株式会社イトーキ] 会議室が「空いてるのに使えない」問題の解決策とは? -
事例
[株式会社イトーキ] 製造現場を取り巻く経営課題 「持続的な現場力」を強化する方法とは? -
製品資料
[株式会社イトーキ] 社員の力を引き出す、「ABW(Activity Based Working)」を実現する秘訣とは? -
製品資料
[株式会社BREXA Technology] 「インシデント初動対応」が遅れる3つの構造的要因とは?
こんなメディアも見られています
TechTargetジャパンに関連する情報をお探しであれば、こちらのメディアもお役に立てるかもしれません。
ベンダーコンテンツ PR
From Informa TechTarget
SpecialPR
アクセスランキング
-
1
「Active Directory」復旧で“詰む”企業が続出 ランサムウェアに備える4対策
-
2
Microsoft 365侵害企業の9割はMFA導入済み 1002人調査で見えた盲点
-
3
企業が「Microsoft Azure」を選ばざるを得ない理由
-
4
なぜノートPCの更新が「4年→6年」に? AIインフラ急拡大の余波
-
5
「RAGは終わった」は本当か――ロングコンテキストが変えたこと、変えられないこと
-
6
複雑化するフォント管理に終止符を Monotypeが提唱する安全な運用方法
-
7
“RAG is dead”は本当? AIエージェントが切り拓く「次世代RAG」と検索の未来
-
8
「Windows」の不要なファイルを安全に消して容量を空ける方法
-
9
WiMAXとは何か――技術とアプリケーション
-
10
「セキュリティ運用と侵入後の初動防御」に関するアンケート
ホワイトペーパーランキング PR
-
1
「IT史に名を残すシステム障害」8選
-
2
AIが苦手な「汚いデータ」になっていない? AI投資を無駄にしないための注意点
-
3
急増する高度なフィッシング詐欺 先回りしてブロックするには何が必要?
-
4
法人向け光回線のプランはどう選ぶ? 機能面/保守体制/コストを一覧で比較
-
5
三井ホームに学ぶ「無線LAN環境」構築 快適なオフィスと高度なIT運用の両立法
-
6
SNMPより詳細で、パケット解析より簡単な「トラフィック可視化・分析」の方法
-
7
Microsoft 365のメールセキュリティ、3つの“死角”と追加で検討すべき対策とは
-
8
「RPA導入の成果が出ない」を防ぐ、成果につながる自動化対象業務の選び方
-
9
10G回線の真価をフルに享受するには? 導入前にチェックしたいポイント
-
10
サイバー脅威「トップ50」完全解説ガイド、新たな攻撃手法に対抗するには
TechTargetジャパン SNS
インフォメーション
注目情報をチェック
TechTargetジャパンをフォロー