CNDT2021、HPEのアーキテクトが解説するKubernetesネットワークの最新情報

HPEのアーキテクトがKubernetesのネットワークの基礎と最新情報を解説するセッションを紹介する。

松下 康之 - Yasuyuki Matsushita

2021年12月13日 13:11

CloudNative Days Tokyo 2021から、ヒューレットパッカードエンタープライズのアーキテクトが解説するKubernetesのネットワークアーキテクチャーと最新情報に関するセッションを紹介する。「Kubernetesネットワーキング初級者脱出ガイド -基本から最新動向まで」と題されたセッションは40分を使ってDockerとKubernetesのネットワークの違い、Kubernetesにおけるネットワークの概要、kube-proxyの性能劣化に関する議論、CNIの解説などを最新のアップデートを含め紹介する内容だ。

動画:Kubernetesネットワーキング初級者脱出ガイド -基本から最新動向まで-

セッションを行う太田航平氏

セッションを行う太田航平氏

以後は、公開されているスライドから抜粋して紹介する。

スライド:Kubernetesネットワーキング初級者脱出ガイド -基本から最新動向まで-

40分の枠を使って解説されたのは、以下の内容だ。

セッションのアジェンダ

セッションのアジェンダ

まずコンテナの代表格であるDockerのネットワークについて解説を行った。

Dockerのネットワークを解説

Dockerのネットワークを解説

このスライドではNGINXのWebサーバー、PHPとMySQLのバックエンドという構成のアプリケーションを例に挙げて解説している。

Dockerネットワークの特徴を解説

Dockerネットワークの特徴を解説

そしてDockerにおけるネットワーク機能を解説し、それがKubernetesとどう違うのか? をkubectlの出力例を交えて解説した。太田氏はKubernetesには3つの側面があるとして、その中から分散システムとしてのKubernetesの構造を説明した。

Kubernetesのネットワークを3つの層で解説

Kubernetesのネットワークを3つの層で解説

次のスライドではノードを繋ぐネットワーク、サービスを繋ぐネットワーク、Podを繋ぐネットワークに障害が発生してノードがダウンした場合でも、アプリケーション自体が他のノードで起動されるKubernetesの特徴的なオーバーレイネットワークの仕組みを解説した。

Kubernetesのネットワークを解説

Kubernetesのネットワークを解説

より具体的な仕組みとして、ロードバランサーとサービスを繋ぐkube-proxyについて解説を行った。

ロードバランサー経由でトラフィックが転送される仕組みを解説

ロードバランサー経由でトラフィックが転送される仕組みを解説

さらにCNI(Container Network Interface)についても解説を行い、Kubernetesのネットワークがプラグインの形で実装されていることを紹介した。

CNIの概要を説明

CNIの概要を説明

CNIはプラグインなので実際にはさまざまな実装例があるとして、Flannel、Calico、Ciliumなどを紹介。Ciliumは2021年10月にCNCFのインキュベーションプロジェクトとして採用されたeBPFをベースにしたネットワークソフトウェアだ。

さまざまなCNIを紹介

さまざまなCNIを紹介

またkube-proxyに関する議論として、サービスの数が2500を超えた辺りから性能が劣化することを紹介した。機能を紹介することに留まらず、コミュニティの中で何が議論されているのかを垣間見せた形になった。

iptablesベースのkube-proxyではサービス数増加に従って性能が劣化する

iptablesベースのkube-proxyではサービス数増加に従って性能が劣化する

次のスライドでkube-proxyの代替案として、eBPFをベースにしたCalicoやCiliumを紹介した。

kube-proxyの代替案を説明

kube-proxyの代替案を説明

続いてKubernetesにおける各モジュールの動きを解説した。ネットワークトラフィックがどのように動いているのかを知ることで、Kubernetesに最適なロードバランシング機能について説明を行っている。

Kubernetesのモジュールを説明

Kubernetesのモジュールを説明

etcdが分散KVSとしてクラスターの状態データを保存し、kubectlから与えられたあるべき姿と現状のクラスターの実態との違いを同じにするためにAPI Server、スケジューラー、コントローラーが動くというKubernetesの実行原理を解説している。

AWSの例を使ってトラフィックがどのようにたどるのかを説明

AWSの例を使ってトラフィックがどのようにたどるのかを説明

ここではロードバランサーからPodにトラフィックが流れる際にオーバーヘッドが発生していることを解説し、コンテナネイティブなロードバランシングについて解説。その実装についてAWS、GKEを例にとって解説した。

コンテナネイティブなネットワークについて解説

コンテナネイティブなネットワークについて解説

すでにAWSやGKEでは実装例があるが、オンプレミスのクラスターにおける実装については、技術的には可能だろうが、現実に実装されていないことを解説した。

AWSでの実装を解説

AWSでの実装を解説

続いてGateway APIの解説に移り、Gateway APIが産まれた経緯や概要などを紹介。現在のIngressだけでは不足であるとして、SIG-Networkの中で議論されていることを解説し、Ingressの代替としてその動向を注目しておくべきだと語った。

Gateway APIの概要

Gateway APIの概要

最後にまとめとして、Kubernetesの開発においてアプリケーション側、インフラストラクチャー側それぞれが責任範囲の分離を目指して開発が行われていること、そのための活動がSIGを中心に行われていることを説明して、セッションを終わった。

セッションのまとめ

セッションのまとめ

Kubernetesのネットワークの概要の基礎的な部分から技術的にボトルネックとなりそうな部分に注目して解説を行い、最新情報を踏まえつつ、今後の動向についても解説するという「初級者脱出」のためのきっかけを与えるような内容となっている。実際にはこのセッションで得た知見を出発点にして、自身でより深い内容に踏み込んでいくことを薦めるCNCFのアンバサダーらしいセッションとなった。

この記事のキーワード :

人気記事トップ10

人気記事ランキングをもっと見る

企画広告も役立つ情報バッチリ! Sponsored

ClickHouse Cloudが実現した広告運用SaaS「ATOM」のデータ基盤革新、パフォーマンスを向上しながら、運用負荷とコストを削減 11月11日 6:20 AIで開発が加速する時代、品質保証はどう変わる? Tricentisが示すAIエージェント活用の実像 11月9日 6:45 悪用までの猶予が「1分」に迫るフロンティアAI時代に開発と本番を貫く脆弱性管理が必要 10月29日 8:30 欧州CRA対応とSBOM運用。AI生成コードのOSS混入問題の対策とは ――スニペット単位で検出する「FossID」「Insignary Clarity」によるSBOM運用 9月16日 6:40 PostgreSQLからTiDBへ、稼働中SaaSで進める段階的DB移行の実践と再設計への展望 9月7日 6:30 機能安全開発におけるGoogleTestの活用を支援!「Parasoft C/C++test CT」で実現する効率化&AI連携 4月14日 6:30 【CNDW2025】Grafanaが明かす「オブザーバビリティの哲学」ー最小限の労力で実用的なインサイトを得るには 1月23日 6:30 【CNDW2025】プロダクト急増に備える基盤刷新 ーウェルスナビがECSからEKSへの移行で得た知見とは 1月15日 6:30 【CNDW2025】250環境を5人で運用、構築時間は30分に ーKINTOテクノロジーズが語るインフラ基盤組織の作り方 2025年12月18日 6:30 新たな自動化で熱視線! AIエージェントの「推論能力」を支える2つのコンポーネントとは? 2025年11月28日 6:30