Linkerd 2.20はメモリ85%減、サービスメッシュ再考

Linkerd(リンカード)は、Kubernetes上のマイクロサービス間通信を仲介するサービスメッシュ(マイクロサービス間の通信を可視化・制御するインフラ層)の一つである。2026年6月23日、その最新版Linkerd 2.20がリリースされた。今回の目玉は、コントロールプレーン(メッシュ全体の設定や証明書などを管理する中枢コンポーネント群)の内部状態管理を再設計し、destinationコントローラーのメモリ使用量を最大85%削減した点にある[1]。あわせて、レートリミットを考慮したロードバランシングやインバウンド側の可観測性強化も加わった。対象読者は、Kubernetesクラスタでサービスメッシュを運用中、あるいは導入・乗り換えを検討しているプラットフォームエンジニアである。オートスケーリングでPodの生成・削除が頻繁なクラスタほど、コントロールプレーンのメモリ肥大は既知の運用課題だった。クラウドインフラのコスト効率と信頼性は経営指標にも波及するため、IT×経営の観点でも押さえておきたい。本稿では削減の技術的背景、新機能の実務的な意味、Istio・Ciliumとの設計思想比較を踏まえたメッシュ選定基準の変化を整理する。

予備知識

  • サービスメッシュ: マイクロサービス間の通信を可視化・制御するインフラ層。各Podに小型プロキシを配置し、通信の暗号化・可観測性・トラフィック制御を担う
  • コントロールプレーン: メッシュ全体の設定・証明書配布などを管理する中枢コンポーネント群(destination・identity・proxy-injectorなど)
  • mTLS(相互TLS): 通信の両端が証明書で互いを認証し暗号化する方式。サービスメッシュの標準機能の一つ
  • Pod churn(ポッドチャーン): オートスケーリングやデプロイに伴い、Podが頻繁に生成・削除される状態

コントロールプレーンやネットワーキングを含むKubernetes運用の基礎知識を固められる

Linkerd 2.20のメモリ削減はどこで、なぜ起きたのか

Linkerd 2.20の中核的な変更は、コントロールプレーンを構成するdestination・identity・proxy-injectorといった内部コンポーネントの状態管理を見直したことにある[1]。

destinationコントローラーは、クラスタ内のサービス情報やルーティング情報を集約し、各Podのサイドカープロキシへ配信する役割を担う。従来はPodの増減が多いクラスタほど内部で保持する状態が膨張しやすく、コントロールプレーンのメモリ消費のボトルネックになりやすかった。

2.20では内部状態管理の設計を見直したことで、Pod churnが多い大規模クラスタにおいて、destinationコントローラーのメモリ使用量を最大85%削減できたと報告されている[1]。この削減幅は主にdestinationコントローラーを対象に確認された数値であり、Pod数が安定したクラスタでは効果が異なる可能性がある点は留意したい[1]。

proxy-injectorがサイドカーを注入し、identityが証明書を発行、destinationがルーティング情報を配信する流れ
Linkerdコントロールプレーンの主要コンポーネントとPod起動時の連携
destinationコントローラーのメモリ使用量(相対値)

この改善は、小規模クラスタから頻繁なオートスケーリングでPodが激しく入れ替わる本番環境まで、コントロールプレーンのCPU・メモリのrequest/limit設定を見直す余地を生む。

クラウド/コスト

AI推論を24時間止めずに動かすコストと、クラウドの外へデータを出すたびに課される通信費(エグレス費用)が、企業のインフラ判断を揺さぶっている。銀行大手Barclaysが四半期ごとに実施するCIO調査(2024年第4四半期)では、8[…]

レートリミット考慮のロードバランシングとインバウンド可観測性の強化

2.20のもう一つの柱が、ロードバランシングと可観測性の機能強化である[1]。

レートリミット考慮のロードバランシングは、上流サービスがHTTP 429(Too Many Requests)を返した際、その応答をロードバランサーと回路遮断(サーキットブレーカー)の判断材料として使う仕組みである[1]。過負荷状態のエンドポイントへのトラフィック配分を動的に減らし、改善しない場合は一時的に振り分け対象から除外する。

429応答を検知すると配分を縮小し、改善しなければ一時的にプールから除外して回復後に復帰させる
レートリミット考慮のロードバランシングの動作フロー

インバウンド側(Podへ入ってくる通信)の可観測性も強化された。リクエスト数やステータス別件数に加え、所要時間やフレームサイズの分布を示すヒストグラムがHTTP・gRPCそれぞれに追加され、アウトバウンド側との計測粒度の差が縮まった[1][2]。

なお、証明書のトラストアンカー(信頼の起点となる証明書)を自動でローテーションする機能は、有償版Buoyant Enterprise for Linkerd 2.20の目玉として案内されており、無償のOSS版2.20の標準機能ではない点は運用設計上区別しておきたい[3]。

コスト/可観測性

Amazon CloudWatch(AWSのマネージド監視サービス)が、OpenTelemetry(OTel、ログ・メトリクス・トレースを統一形式で扱う業界標準規格)由来のメトリクスをネイティブに取り込み、PromQL(Promet[…]

Istio・Ciliumとの設計思想比較:サービスメッシュ選定基準はどう変わるか

サービスメッシュ製品を選ぶ際は、機能の網羅性だけでなくコントロールプレーンの運用負荷も判断軸になる。

Linkerdはもともと、Rust製の軽量プロキシ(linkerd2-proxy)とシンプルな運用性を強みとしてきた。Envoyを採用するIstioは機能網羅性と拡張性で優位に立ち、eBPFを軸とするCiliumはサイドカーレス構成を取りやすいとされる。

項目LinkerdIstioCilium
プロキシ実装Rust製の軽量micro-proxyEnvoy(C++、高機能)eBPFベース(サイドカーレスが基本)
配置方式サイドカーサイドカー/Ambient Meshも選択可サイドカーレスが標準
設計上の重点シンプルさと運用負荷の低さ機能網羅性と拡張性ネットワーキング全体の統合と性能
コントロールプレーンの傾向2.20で大幅軽量化[1]機能が多い分、設定・運用が複雑になりやすいとされるeBPFによりユーザー空間側の負荷は小さいとされる

これまでLinkerdは「シンプルだが機能では見劣りする」と語られることもあったが、コントロールプレーンのメモリ効率が改善したことで、小〜中規模クラスタや複数クラスタを抱える組織にとって運用コストの観点から再評価する材料が増えたといえる。機能網羅性を最優先するならIstio、CNI層からの統合を求めるならCiliumも引き続き有力であり、優先したい軸で最適解は変わる。

コスト

※本記事は2026年7月時点の情報です。料金・提供条件は変動が速いため、最新は各公式でご確認ください。一部アフィリエイトリンクを含みます。 ✅ 先に結論(Seedance 2.0の要点) 何がすごい[…]

Seedance 2.0 音声つき2K・世界No.1のAI動画 使い方・料金・日本での使い方

アップグレード実務のポイント:何を確認し、何を調整するか

既存のLinkerdクラスタを2.20へ上げる際は、バージョン更新以上に確認すべき点がある。

まずステージング環境で2.20を検証し、destinationコントローラーの実測メモリ使用量を確認することが起点になる。85%という削減幅はPod churnが多い環境を前提とした数値であり、Pod数が安定したクラスタでは効果が限定的な可能性がある[1]。

Pod churnの多さで削減効果を見積もり、ステージング検証を経てリソース設定を段階的に調整し全体展開する
Linkerd 2.20アップグレード時の判断フロー

検証後は、コントロールプレーンのCPU・メモリのrequest/limitを一段階ずつ引き下げながら、OOM(メモリ不足によるコンテナ強制終了)やレイテンシ悪化がないかを監視する。CRD(カスタムリソース定義)やHelm chartのバージョン差分も事前に確認したい。

レートリミット考慮のロードバランシングを有効化する場合は、既存のリトライ設定と競合しないか、一部のネームスペースで試験導入してから全体展開する段階的な手順が現実的である。

よくある質問(FAQ)

Linkerd 2.20へのアップグレードは既存のデータプレーンに影響するか

主な変更はコントロールプレーン側の内部状態管理であり、Pod側のサイドカープロキシ(データプレーン)の通信方式が根本から変わるわけではない。バージョン間の互換性はリリースノートで個別に確認する必要がある。

メモリ使用量85%削減はどの環境でも同程度に得られるか

公表数値は、Pod churnが多い大規模クラスタでdestinationコントローラーを対象に確認されたものである[1]。Pod数が安定したクラスタでは削減幅が異なる可能性がある。

Istio・CiliumからLinkerdへの乗り換えは2.20が後押しになるか

コントロールプレーンの運用負荷という弱点が緩和された点は前向きな材料だが、トラフィック分割の粒度や既存CNI構成との整合性など要件次第で最適な選択は変わる。乗り換え判断の前に、まず自環境での検証を優先すべきである。

まとめ

Linkerd 2.20の要点は、コントロールプレーンの内部状態管理を再設計し、Pod churnが多い環境でdestinationコントローラーのメモリ使用量を最大85%削減した点にある。レートリミット考慮のロードバランシングやインバウンド可観測性の強化も、実運用の課題に対応する改善である。読者に勧めたいアクションは二つある。一つは、既にLinkerdを運用しているならステージング検証を経てコントロールプレーンのリソース設定を見直すこと。もう一つは、サービスメッシュを新規検討中であれば、運用コストも含めた基準でIstio・Cilium・Linkerdを比較し直すことである。インフラの軽量化は開発生産性やクラウドコストという経営指標にも波及するため、現場エンジニアだけでなく経営層にも共有する価値がある。

出典

[1] Linkerd, “Announcing Linkerd 2.20: Rate-limit-aware load balancing, reduced memory usage, better inbound metrics, and more” (2026年6月23日) https://linkerd.io/2026/06/23/announcing-linkerd-2.20/index.html
[2] InfoQ, “Linkerd 2.20 Delivers Smarter Traffic Management and Dramatic Efficiency Gains” https://www.infoq.com/news/2026/07/linkerd-2-20-improvements/
[3] vmblog, “Buoyant Enterprise for Linkerd 2.20 is now available with Automated Trust Anchor Rotation, Windows VM Support, and rate-limit-aware load balancing” https://vmblog.com/news/buoyant-enterprise-for-linkerd-2-20-is-now-available-with-automated-trust-anchor-rotation-windows-vm-support-and-rate-limit-aware-load-balancing/