CNDT2021、HPEのアーキテクトが解説するKubernetesネットワークの最新情報
CloudNative Days Tokyo 2021から、ヒューレットパッカードエンタープライズのアーキテクトが解説するKubernetesのネットワークアーキテクチャーと最新情報に関するセッションを紹介する。「Kubernetesネットワーキング初級者脱出ガイド -基本から最新動向まで」と題されたセッションは40分を使ってDockerとKubernetesのネットワークの違い、Kubernetesにおけるネットワークの概要、kube-proxyの性能劣化に関する議論、CNIの解説などを最新のアップデートを含め紹介する内容だ。
動画:Kubernetesネットワーキング初級者脱出ガイド -基本から最新動向まで-
以後は、公開されているスライドから抜粋して紹介する。
スライド:Kubernetesネットワーキング初級者脱出ガイド -基本から最新動向まで-
40分の枠を使って解説されたのは、以下の内容だ。
まずコンテナの代表格であるDockerのネットワークについて解説を行った。
このスライドではNGINXのWebサーバー、PHPとMySQLのバックエンドという構成のアプリケーションを例に挙げて解説している。
そしてDockerにおけるネットワーク機能を解説し、それがKubernetesとどう違うのか? をkubectlの出力例を交えて解説した。太田氏はKubernetesには3つの側面があるとして、その中から分散システムとしてのKubernetesの構造を説明した。
次のスライドではノードを繋ぐネットワーク、サービスを繋ぐネットワーク、Podを繋ぐネットワークに障害が発生してノードがダウンした場合でも、アプリケーション自体が他のノードで起動されるKubernetesの特徴的なオーバーレイネットワークの仕組みを解説した。
より具体的な仕組みとして、ロードバランサーとサービスを繋ぐkube-proxyについて解説を行った。
さらにCNI(Container Network Interface)についても解説を行い、Kubernetesのネットワークがプラグインの形で実装されていることを紹介した。
CNIはプラグインなので実際にはさまざまな実装例があるとして、Flannel、Calico、Ciliumなどを紹介。Ciliumは2021年10月にCNCFのインキュベーションプロジェクトとして採用されたeBPFをベースにしたネットワークソフトウェアだ。
またkube-proxyに関する議論として、サービスの数が2500を超えた辺りから性能が劣化することを紹介した。機能を紹介することに留まらず、コミュニティの中で何が議論されているのかを垣間見せた形になった。
次のスライドでkube-proxyの代替案として、eBPFをベースにしたCalicoやCiliumを紹介した。
続いてKubernetesにおける各モジュールの動きを解説した。ネットワークトラフィックがどのように動いているのかを知ることで、Kubernetesに最適なロードバランシング機能について説明を行っている。
etcdが分散KVSとしてクラスターの状態データを保存し、kubectlから与えられたあるべき姿と現状のクラスターの実態との違いを同じにするためにAPI Server、スケジューラー、コントローラーが動くというKubernetesの実行原理を解説している。
ここではロードバランサーからPodにトラフィックが流れる際にオーバーヘッドが発生していることを解説し、コンテナネイティブなロードバランシングについて解説。その実装についてAWS、GKEを例にとって解説した。
すでにAWSやGKEでは実装例があるが、オンプレミスのクラスターにおける実装については、技術的には可能だろうが、現実に実装されていないことを解説した。
続いてGateway APIの解説に移り、Gateway APIが産まれた経緯や概要などを紹介。現在のIngressだけでは不足であるとして、SIG-Networkの中で議論されていることを解説し、Ingressの代替としてその動向を注目しておくべきだと語った。
最後にまとめとして、Kubernetesの開発においてアプリケーション側、インフラストラクチャー側それぞれが責任範囲の分離を目指して開発が行われていること、そのための活動がSIGを中心に行われていることを説明して、セッションを終わった。
Kubernetesのネットワークの概要の基礎的な部分から技術的にボトルネックとなりそうな部分に注目して解説を行い、最新情報を踏まえつつ、今後の動向についても解説するという「初級者脱出」のためのきっかけを与えるような内容となっている。実際にはこのセッションで得た知見を出発点にして、自身でより深い内容に踏み込んでいくことを薦めるCNCFのアンバサダーらしいセッションとなった。
連載バックナンバー
Think ITメルマガ会員登録受付中
全文検索エンジンによるおすすめ記事
- KubeCon EU、欠点から逆算するKubernetesのネットワークに関するセッションを紹介
- CNDT 2022、IsovalentのアドボケイトがeBPFを解説
- KubeCon Europe 2023から、Linkerdの最新情報とeBPFがサービスメッシュに使えない理由を解説したセッションを紹介
- eBPF Summit、Verizon-Mediaが利用するKatranのセッションを紹介
- CloudNative Days Fukuoka 2023、GoogleによるGKE上のGateway APIの解説セッションを紹介
- eBPF Summit、eBPFとKubernetesでコアネットワーク構築? Bell Canadaのセッションを紹介
- Oracle Cloud Hangout Cafe Season 4 #2「Kubernetesのネットワーク」(2021年5月12日開催)
- CNSC 2022、eBPFをベースにしたコンテナランタイムセキュリティのツールを紹介
- eBPF Summit開催 IsovalentのCEOなどによるDay 1のキーノートを紹介
- KubeCon EU開幕、前日に行われたプレカンファレンスからeBPFとTetragonを紹介