Linkerdの概要
Linkerd(リンカーディー※1)は、Kubernetes向けのオープンソースの軽量サービスメッシュです。 Linkerdは、コードを変更することなく、ランタイムデバッグ、可観測性、信頼性、セキュリティ機能を提供し、簡単かつ安全にサービスを実行することが出来ます。
Linkerdは、2016年に元twitter社のエンジニアであるウィリアム・モーガン氏、オリバー・グールド氏により設立されたBuoyant社で開発が始まり、2017年4月25日にLinkerd 1.0 がリリースされました。当初 Linkerd1.0は、JavaVM 上で動作するTwitter社のFinagle、Netty、Scala で構築されていましたが、軽量のKubernetes用のサイドカーProxyである ConduitがマージされたLinkerd2.0が2018年9月にリリースされています。
Linkerd2.0はLinkerd1.0 より大幅に軽量化されたサービスメッシュであり、RustとGo言語で書かれています。Linkerdは、クラウドネイティブなOSSを推進する団体であるCloud Native Computing Foundation(CNCF)プロジェクトを2021年7月に卒業しました。
※1.LinkerdのFAQによるとLinkerdの発音はLinker-DEEであり最後の「D」は個別に発音するとの記載があります。
https://linkerd.io/2/faq/#how-do-i-pronounce-linkerd
Linkerdの主な機能
機能 |
説明 |
---|---|
オートマチックmTLS | メッシュアプリケーション間のすべての通信で相互トランスポート層セキュリティ(TLS)を自動的に有効にします。 |
オートマチックプロキシインジェクション | データプレーンプロキシをPodベースのアノテーションに自動的にインジェクト |
ダッシュボードとGrafana | 事前に設定されたGrafanaダッシュボードと同様に、Webダッシュボードを提供します。 |
分散トレース | 分散トレースのサポートを有効にできます。 |
実験:CNIプラグイン | 各ポッドのiptablesルールを自動的に書き換えるCNIプラグインを実行するように構成できます。 |
フェールインジェクション | サービスに障害をインジェクトすることで、カオスエンジニアリングを実践できます。 |
高可用性 | コントロールプレーンは、高可用性(HA)モードで実行できます。 |
HTTP、HTTP/2、gRPCプロキシ | HTTP、HTTP/2、gRPC接続などの高度な機能(メトリック、負荷分散、再試行などを含む)を自動的に有効にします。 |
イングレス | 選択したイングレスコントローラーと連携して機能します。 |
ロードバランシング | HTTP、HTTP/2、gRPC接続からの全てのエンドポイントへの要求を自動的に負荷分散します。 |
リトライとタイムアウト | サービス別に再試行とタイムアウトを実行するように構成できます。 |
サービスプロファイル | ルートごとにメトリックと再試行やタイムアウトなどの機能を有効にするためのサービスプロファイルの定義をサポートしています。 |
TCPプロキシとプロトコル検出 | TLS接続、WebSocket、HTTPトンネリングなど、すべてのTCPトラフィックをプロキシできます。 |
テレメトリーとモニタリング | トラフィックを送信するすべてのサービスからメトリックを自動的に収集します。 |
トラフィック分割(カナリア、ブルー/グリーンデプロイ) | トラフィックの一部を異なるサービスに動的に送信できます。 |
Linkerd の主な特徴
- 完全にオープンソースです。
- 安全に動作します。
2019年6月にはサードパーティのよるセキュリティ監査に合格しています。 - 高速に動作します。
2019年5月にサードパーティによりIstioとのパフォーマンスの比較が行われましたが、Linkerdが大幅に上回る結果となりました。
Linkerd と同様の機能を提供する製品
Istio、HashiCorp ConsulがLinkerdと同様にサービスメッシュを実現する機能を提供しています。
Linkerd の動作環境
Linkerd 1.x の場合は、Kubernetes、DC/OS, Mesos, Consul、Zookeeper ベースの環境をサポートしますが、Linkerd 2.x の場合は Kubernetes のみ対応しています。これは今後改善される予定です。
Linkerd のライセンス
Linkerdのライセンスは、 「Apacheライセンスバージョン2」(Apache License version2)というライセンスに基づいて公開され、営利、非営利を問わず、 誰でも自由かつ無償で利用・改変・再配布できるようになっています。
Linkerd のダウンロード
Linkerd のインストールは下記を参照して下さい。
https://linkerd.io/2/getting-started/
参考情報
Linkerd のサポート
NRIではお客様のご要望に応じて様々な支援ができるサービスをご用意しました。
詳細は下記ページをご確認ください。