連載 [第2回] :
  Linkerd Day Europe 2023レポート

KubeCon共催のLinkerd Dayからマルチクラスターモニタリングに関するセッションを紹介

2023年9月12日(火)
松下 康之 - Yasuyuki Matsushita
Linkerd Dayからマルチクラスターでのモニタリングを導入したセッションを紹介。

KubeCon+CloudNativeCon Europe 2023の共催でサービスメッシュのLinkerdに特化したイベントLinkerd Dayから、マルチクラスターにおけるモニタリングのユースケースを解説するセッションを紹介する。セッションを行ったのはBWI GmbHのCaroline Dohmen氏だ。

セッションを行ったDohmen氏はドイツの国防省直轄のITサービス企業、BWI GmbH所属。

セッションを行ったDohmen氏はドイツの国防省直轄のITサービス企業、BWI GmbH所属。

このセッションで解説されたユースケースは、finleap Connectという金融サービス企業における実装例だ。Dohmen氏の所属はBWIだが、今回は前職で手掛けた事例を紹介している。

finleapの概要を紹介。各国の金融サービスを接続するサービスがfinleap

finleapの概要を紹介。各国の金融サービスを接続するサービスがfinleap

アカウントの集約(アグリゲーション)やペイメントの接続などがfinleapのサービスの中核であると説明し、そのサービスのモニタリングにはアラートや障害時のメトリクスなどが必要要件として挙げられている。

モニタリングに必要な要件。アラートなどが必要だがストレージは短期間で良い

モニタリングに必要な要件。アラートなどが必要だがストレージは短期間で良い

ここではアラートなどのメトリクス監視が必須となっているが、データの保存に関しては2日間という短期で良いとして、長期間のストレージ機能は必要ないことが説明されている。

当初のシステム概要。本番と開発用のベアメタルクラスターが2セットだった

当初のシステム概要。本番と開発用のベアメタルクラスターが2セットだった

finleapの当初は本番用と開発用の2つの環境においてベアメタルのオンプレミスクラスターが用意され、それぞれPrometheusがデータ収集、可視化はGrafana、プラットフォームはKubernetesという標準的な組み合わせだった。

しかしビジネスの拡大に伴ってプラットフォーム自体も拡大し、バーレインではAWSが、ドイツとスペインではGCPが使われ、その上でVMwareのTanzuとOpenStackでの実装が求められていったと説明した。

オンプレベアメタルからAWS、GCPなどの実装が必要に

オンプレベアメタルからAWS、GCPなどの実装が必要に

そしてプラットフォームごとに同じ構成をコピー&ペーストして複製するという発想では、すぐに行き詰まることは明らかだったとして、プラットフォームごとに実装されるPrometheusを連携させてデータを連携させる方式が検討されたことを説明。

プラットフォームごとにPrometheusを実装し、データを中央のPrometheusで集約

プラットフォームごとにPrometheusを実装し、データを中央のPrometheusで集約

この方式では各プラットフォームから転送されるデータの量が膨大になるとして、提案されたのが中央のPrometheusにデータを集約させるのではなく、各プラットフォームのPrometheusに中央のGrafanaからデータを可視化に必要な分だけ取りに行く方式だ。

中央にPrometheusを置かずにGrafanaがデータを取りに行く方式に変更

中央にPrometheusを置かずにGrafanaがデータを取りに行く方式に変更

そしてモニタリングの対象となるクラスター間の通信も、LinkerdのMulti-Cluster Extensionを使って容易に実装できたと説明。

Linkerdを使ってクラスター間の通信も容易に実装できた

Linkerdを使ってクラスター間の通信も容易に実装できた

Pod間の通信はmTLSで暗号化され、金融サービスとして必須の要件が満足できていることを示した。

サービスミラーリングという発想でLinkerdとPrometheusを連携し、サービスディスカバリーが実装されていることを説明した。

サービスミラーリングで新しく生成されたPrometheusを発見し、モニタリングに組み込むことが可能に

サービスミラーリングで新しく生成されたPrometheusを発見し、モニタリングに組み込むことが可能に

その際に認証情報を生成するためにはTrust Anchorというサービスを利用して各Podが使う認証情報を連携させる必要があることにも言及して、Podのセキュリティを上げるために認証情報をどうやって管理するのか? という面倒な仕事が発生することをコメントした。

Trust Anchorを使ってクラスター間の認証情報を管理

Trust Anchorを使ってクラスター間の認証情報を管理

この実装にはHelmを使っていると説明したが、Linkerdが提供する公式のHelmチャートがまだ存在せず、Dohmen氏自身が作成したチャートを紹介。ここではLinkerdのマルチクラスターのためのコマンドを最大限に活用していることがわかる。

Dohmen氏が作成したHelmチャートを紹介

Dohmen氏が作成したHelmチャートを紹介

●GitHubのDohmen氏の個人リポジトリ:https://github.com/maresac/linkerd-multicluster-link

このセッションのまとめとして、マルチクラスターのモニタリングにはクラスターごとのモニタリングデータを1箇所で集約するとデータ転送にかかるコストが増大することから、各クラスター内でデータを保存し、中央のGrafanaから必要に応じてデータをプルする方式が良いことを紹介している。同時にマルチクラスター間の通信にはLinkerdのマルチクラスターエクステンションを使うことで容易に実装できること、Helmチャートを使うことでライフサイクルの管理も容易になることが紹介された。

Istioのユースケースセッションでマルチクラスター間通信をIstioで実装する難しさや苦労話は良く聞く話だが、Linkerdにおいてはその苦労は必要ないというのがこのセッションの隠れたテーマであったように思える。マルチクラスターでアプリケーションを実装しようと考えているエンジニアには参考になるセッションだった。

●動画:Cost-Efficient Multi-Cluster Monitoring with Prometheus

余談だが、ユースケースの対象となったfinleapのAPIドキュメントサイトが非常に良くできているので紹介したい。APIのパラメータからレスポンスの例など非常にインタラクティブに理解を進めることができるサイトになっている。システムのAPIドキュメント公開の際のベストプラクティスとして活用して欲しい。

●参考:finleap APIドキュメントサイト

著者
松下 康之 - Yasuyuki Matsushita
フリーランスライター&マーケティングスペシャリスト。DEC、マイクロソフト、アドビ、レノボなどでのマーケティング、ビジネス誌の編集委員などを経てICT関連のトピックを追うライターに。オープンソースとセキュリティが最近の興味の中心。

連載バックナンバー

クラウドイベント
第3回

KubeCon共催のLinkerd Dayからノルウェーの労働福祉局がオンプレからクラウドに移行したセッションを紹介

2023/9/21
Linkerd Dayからノルウェーの公共機関におけるユースケースセッションを紹介。
クラウドイベント
第2回

KubeCon共催のLinkerd Dayからマルチクラスターモニタリングに関するセッションを紹介

2023/9/12
Linkerd Dayからマルチクラスターでのモニタリングを導入したセッションを紹介。
クラウドイベント
第1回

KubeCon Europe 2023共催のLinkerd Dayからアディダスの事例セッションを紹介

2023/9/5
Linkerd Dayから、アディダスのユースケースを紹介。2名で15%の時間を使って導入した経験を解説。

Think ITメルマガ会員登録受付中

Think ITでは、技術情報が詰まったメールマガジン「Think IT Weekly」の配信サービスを提供しています。メルマガ会員登録を済ませれば、メルマガだけでなく、さまざまな限定特典を入手できるようになります。

Think ITメルマガ会員のサービス内容を見る

他にもこの記事が読まれています