Linkerd

LinkerdによるKubernetes監視設定ガイド

ⓘ本ページはプロモーションが含まれています

もっとスキルを活かしたいエンジニアへ

スポンサードリンク
働き方から選べる

無料で使えて良質な案件の情報収集ができるサービス

エンジニアの世界では、「いつでも動ける状態を作っておけ」とよく言われます。
技術やポートフォリオがあっても、自分に合う案件情報を日常的に見れていないと、いざ動こうと思った時に比較や判断が難しくなってしまいます。
普段から案件情報が集まる環境を作っておくと、良い案件が出た時にすぐ動きやすくなりますよ。
筆者自身も、メガベンチャー勤務時代に年収1,500万円を超えた経験があります。振り返ると、技術だけでなく「どんな案件や働き方があるか」を日頃から見ていたことが、キャリアの選択肢を広げるきっかけになりました。
このブログを読んでくれた方に感謝を込めて、実際に使っている情報収集サービスを紹介します。

フルリモート・週3日・高単価、どんな条件も妥協したくないなら

フリーランスボードに無料会員登録する

利用者10万人以上。業界最大規模45万件の案件。AIマッチ機能や無料の相場情報が人気。

年収800万円以上のキャリアアップ・ハイクラス正社員を視野に入れているなら

Beyond Careerに無料相談する

内定獲得率90%以上。紹介先企業とは役員クラスのコネクションがある安心と信頼できるエージェント。


スポンサードリンク

LinkerdによるKubernetes監視の概要

Linkerdは、サービスメトリクスの収集と可視化に特化したサービスメッシュであり、Prometheusとの連携によって高精度な監視を実現します。本記事では、公式ドキュメントに基づいた具体的な手順と注意点を解説し、実装時のポイントを整理します。


Linkerdのインストール手順(ARM64/AMD64共通)

KubernetesクラスターにLinkerdを導入する際は、最新版を使用することが推奨されます。以下に基本的な手順と環境依存の記述について解説します。

基本的なインストール手順

  1. Helmチャートによるデプロイ(ARM64環境では--set arch=arm64を指定)
    bash
    helm install linkerd2 linkerd/linkerd2 --namespace linkerd --create-namespace

  2. デプロイ完了後の確認コマンド
    bash
    kubectl get pods -n linkerd

    ARM64/AMD64共通の手順ですが、--set arch=arm64はARM64専用です。環境に応じて適切に指定してください。


インストール後の検証方法

インストール後は、Linkerdの自身のメトリクスを取得して確認します。

メトリクスエンドポイントの確認手順

  • /metricsエンドポイントのアクセスlinkerd-webサービスのクラスタIPを取得)
    bash
    curl -s http://$(kubectl get svc -n linkerd linkerd-web -o jsonpath='{.spec.clusterIP}'):8084/metrics | grep "linkerd_proxy"

サービスメトリクスの収集設定方法

LinkerdはKubernetesのサービスを監視するためのメトリクスを自動収集します。以下に具体的な設定手順と注意点を解説します。

Linkerd自身のメトリクス有効化

Linkerdのデフォルトでは、linkerd-proxylinkerd-identityなどのコンポーネントのメトリクスが自動収集されます。代表的なメトリック一覧を以下に示します。

メトリック名 内容 参考用途
linkerd_proxy_requests_total プロキシ経由のリクエスト数 トランザクション監視
linkerd_identity_issued_tokens 発行済みトークン数 認証状態確認

Prometheus Operatorとの連携設定

Prometheus Operatorを使用してLinkerdのメトリクスを収集するには、以下のようなYAMLでServiceMonitorを配置します。

ServiceMonitorは、サービスレベルのメトリクス収集に使用します。一方で、PodレベルならPodMonitorを使用します。


メトリクスエンドポイントの確認

Prometheusが正しくLinkerdからメトリクスを取得しているか、以下のコマンドで確認します。


リアルタイム監視ダッシュボード構築手順

取得したメトリクスをGrafanaで可視化し、状況把握を迅速化します。公式テンプレートの活用も重要です。

Grafanaでのダッシュボードテンプレートインポート

  1. Grafana公式リポジトリからLinkerdテンプレートを検索
  2. ダウンロード後、Grafana内にインポート
  3. データソースとしてPrometheusを設定monitoring Namespace前提)

Grafanaのダッシュボード構築にはmonitoring NamespaceでのPrometheusデプロイが必須です。事前にNamespaceを作成しておく必要があります。


カスタマイズ例と最適化ポイント

公式テンプレートには以下の主要なビューが含まれます。

  • サービスごとのレイテンシー分布
  • パケットロスト率の時間チャート
  • トランザクション成功率(5xxエラー数をフィルタリング)

リアルタイム表示の最適化

  1. データサンプリング:大量のメトリクスをリアルタイムで表示する場合、interval値を調整します。
  2. アラートルール設定linkerd_proxy_requests_total{code!~"2xx"} > 100などの条件でアラートを発火させます。

カスタムメトリクスの定義例

Linkerdはアプリケーション固有のメトリクスも収集可能です。以下に具体例と注意点を解説します。

ServiceMonitor vs PodMonitorの区別

  • ServiceMonitor:サービスレベル(Podではなくサービス全体)でメトリクスを収集したい場合に使用。
  • PodMonitor:個々のPodごとにメトリクスを収集したい場合に使用。

サンプルYAML(カスタムメトリクス定義)


メトリクスコレクターへの反映確認

収集が正常に機能しているか、以下のようにPrometheusからメトリクスを取得します。


セキュリティ設定とアクセス制御のポイント

監視データはクラスターの重要な情報であるため、適切なセキュリティ対策が必要です。

RBACに基づくアクセス制限

KubernetesでRoleRoleBindingを定義することで、特定ユーザーのみがメトリクスにアクセスできるように制限できます。以下は例です。


TLS通信の有効化方法

LinkerdとPrometheus/Grafana間でのTLS通信を強制するには、以下のような設定を使用します。

TLS有効化コマンド

証明書配置手順(要細節)

  1. 証明書生成openssl req -x509 -newkey rsa:4096 -nodes -out cert.pem -keyout key.pem -days 365
  2. 証明書のクラスター内配置kubectl create secret generic tls-secret --from-file=tls.crt=cert.pem --from-file=tls.key=key.pem -n linkerd
  3. Linkerd設定反映:生成されたSecretをLinkerdのTLS設定に適用する。

監視データのアクセス制限ベストプラクティス

  • 監視用専用Namespace作成(例: monitoring
  • Grafanaでのユーザーごとのビュー権限細分化
  • 最小権限原則の適用:各ユーザーに必要なアクセスのみを許可

まとめ

本記事では、LinkerdによるKubernetesクラスターの監視設定手順とそのポイントを解説しました。以下の内容をもとに、実装時に注意点を確認し、適切な環境構築を行ってください。

  1. 最新版Linkerd2のインストール手順(ARM64/AMD64共通)
  2. サービスメトリクスの収集とPrometheusとの連携方法
  3. Grafanaによるリアルタイムダッシュボード構築
  4. カスタムメトリクスの定義例と確認手順
  5. セキュリティ設定とアクセス制御のポイント

公式ドキュメントを参照しながら、最新情報を反映させることで、より安定した運用が可能です。


スポンサードリンク

もっとスキルを活かしたいエンジニアへ

スポンサードリンク
働き方から選べる

無料で使えて良質な案件の情報収集ができるサービス

エンジニアの世界では、「いつでも動ける状態を作っておけ」とよく言われます。
技術やポートフォリオがあっても、自分に合う案件情報を日常的に見れていないと、いざ動こうと思った時に比較や判断が難しくなってしまいます。
普段から案件情報が集まる環境を作っておくと、良い案件が出た時にすぐ動きやすくなりますよ。
筆者自身も、メガベンチャー勤務時代に年収1,500万円を超えた経験があります。振り返ると、技術だけでなく「どんな案件や働き方があるか」を日頃から見ていたことが、キャリアの選択肢を広げるきっかけになりました。
このブログを読んでくれた方に感謝を込めて、実際に使っている情報収集サービスを紹介します。

フルリモート・週3日・高単価、どんな条件も妥協したくないなら

フリーランスボードに無料会員登録する

利用者10万人以上。業界最大規模45万件の案件。AIマッチ機能や無料の相場情報が人気。

年収800万円以上のキャリアアップ・ハイクラス正社員を視野に入れているなら

Beyond Careerに無料相談する

内定獲得率90%以上。紹介先企業とは役員クラスのコネクションがある安心と信頼できるエージェント。


-Linkerd