• /
  • ログイン
  • 無料アカウント

本書は、お客様のご参考のために原文の英語版を機械翻訳したものです。

英語版と齟齬がある場合、英語版の定めが優先するものとします。より詳しい情報については、本リンクをご参照ください。

問題を作成する

ピクシーが使用するメモリを管理する

Pixieが使用するメモリの量を設定できます。インストール中に、Helmを使用してメモリ要求と制限を設定するか、Pixieが短期間のデータストレージに使用するメモリの量を減らします。

ピクシーはどのようにメモリを使用しますか?

オープンソースのPixieプロジェクトの主な焦点は、リアルタイムのデバッグプラットフォームを構築することです。 Pixieは、長期的な耐久性のあるストレージソリューションを目的としたものではなく、NewRelicと組み合わせて使用するのが最適です。 New Relic統合は、数分ごとにPixieにクエリを実行し、PixieのテレメトリデータをNewRelicに保持します。

New Relic Pixie統合をインストールすると、DaemonSetを介してクラスター内の各ノードにvizier-pemエージェントがデプロイされます。 vizier-pemエージェントは、次の2つの主な目的でメモリを使用します。

  • テレメトリデータの収集:アプリケーショントラフィックまたはCPUプロファイルのトレースなど。これらの値は、処理されるときにメモリのどこかに保存する必要があります。
  • テレメトリデータの短期保存:NewRelicに保存される前。

デフォルトでは、 vizier-pemポッドには2Giメモリ制限と2Giメモリリクエストがあります。割り当てられたメモリの60%を短期間のデータストレージ用に確保し、残りの40%をデータ収集用に残します。

インストール後にPixieのメモリ使用量が増えるのはなぜですか?

Pixieをインストールした後、テレメトリデータの保存を開始すると、 vizier-pemポッドのメモリ使用量が増加します。 vizier-pemのメモリ制限に達すると、新しいデータ用のスペースを確保するために古いテレメトリデータが期限切れになるため、メモリ使用率がそれ以上増加することはありません。

Pixieのメモリ使用量の構成

ほとんどのクラスターでは、デフォルトの2Giメモリ構成を使用することをお勧めします。ただし、特定のトラフィックの少ないクラスターの場合、Pixieは1Giの最小メモリ制限をサポートできます。アプリケーションポッドに対応するために、ノードの合計メモリの25%以下をPixieに割り当てることをお勧めします。たとえば、ノードの合計メモリが4Giの場合、 1Giメモリ制限を使用するようにPixieを構成する必要があります。

特定のメモリ制限でPixieをデプロイする

Pixieのvizier-pemエージェントのデフォルトの2Giとは異なるメモリ制限を指定する場合は、インストール中に次の構成パラメーターをHelmチャートに追加できます。たとえば、 1Giのメモリ制限の場合、次を使用します。

-set pixie-chart.pemMemoryLimit=1Gi

特定のメモリ要求でPixieをデプロイする

デフォルトでは、 vizier-pemのメモリ要求は制限と同じです。別のメモリ要求を指定する場合は、インストール中に次の構成パラメータをHelmチャートに追加できます。たとえば、 1Giメモリリクエストの場合、次を使用します。

--set pixie-chart.pemMemoryRequest=1Gi

重要

vizier-pemメモリ要求はvizier-pemメモリ制限以下である必要があります。

特定の短期データストレージを使用してPixieをデプロイする

デフォルトでは、 vizier-pemポッドは割り当てられたメモリの60%を短期間のデータストレージ用に確保し、残りの40%をコレクション用に残します。デフォルトの2Giメモリ制限の場合、これはvizier-pemポッドがデータストレージ用に1.2Giメモリを保持することを意味します。

短期間のストレージ用に別のメモリ量を指定する場合は、インストール中に次の構成パラメーターをHelmチャートに追加できます。たとえば、使用する短期データストレージの750MiBの場合:

--set pixie-chart.dataCollectorParams.customPEMFlags.PL_TABLE_STORE_DATA_LIMIT_MB=750

トラブルシューティング

vizier-pemポッドがスケジュールに失敗したのはなぜですか?

vizier-pemポッドのスケジュールに失敗した場合、これは通常、要求された量のメモリを持たないノードがあるためです。

メモリ要求1Giまで減らしてみてください。特に大規模または高トラフィックのクラスターの場合、 1Giでは不十分であり、 vizier-pem OOMKillが発生する可能性があります。これらのクラスターでは、制限に2Giなど、リクエストよりも高い制限を設定できます。トラフィックの少ない小規模なクラスターには、 1Gi制限付きの展開をお勧めします。

vizier-pemポッドがOOMKilledになったのはなぜですか?

Kubernetesにデプロイする利点の一部は、Kubernetesがクラスター内の他のポッドを保護するために多くのリソースを使用しているポッドをOOMKillすることです。

Pixieのvizier-pemポッドがメモリ制限を超えると、それらはOOMKilledになります。 Kubernetesは他のアプリケーションを保護するためにこれを行うため、他のポッドで問題が発生することはありません。定期的にOOMKilledされているvizier-pemポッドの場合は、より多くのメモリを備えたPixieを展開してみてください。

問題を作成する
Copyright © 2022 New Relic Inc.