注: 以下の翻訳の正確性は検証されていません。AIPを利用して英語版の原文から機械的に翻訳されたものです。

レプリカステータスを使用してデバッグする

コンピュートモジュールをデバッグするときの最初のステップは、概要タブのレプリカステータスセクションを確認することです。レプリカステータスセクションでは、各レプリカとその現在のステータスを表示し、デプロイメントの概要を把握できます。個々のレプリカを選択してその中に含まれるイメージを表示し、レプリカ診断コールアウトを選択して詳細な診断情報を確認します。デバッグができず、コンピュートモジュールのインフラストラクチャに問題があると思われる場合は、問題を報告してPalantirサポートに連絡してください。

レプリカステータス

レプリカステータスセクションでは、現在アクティブでデプロイメントの一部であるレプリカと、アーカイブされたレプリカを表示します。アーカイブされたレプリカは、もはや実行されていませんが、過去に発生した問題をデバッグするために使用できます。各レプリカには独自のライフサイクルがあり、以下に示すさまざまな状態のいずれかにある可能性があります。

デプロイメントで見られる可能性があるさまざまなレプリカステータス。

  • 開始中: レプリカの初期フェーズです。ホストを取得し、イメージをプルし、コンテナを開始するなどの作業を行っています。この状態が長時間続く場合、大きなイメージ (>5GB) や大きなリソース要求、または準備プローブが準備完了と報告するのに時間がかかるなどの理由が考えられます。ログが表示される場合、少なくともコンテナを開始してコードを調査できることを意味します。ログが生成されない場合、インフラストラクチャに問題がある可能性があります。
  • 開始済み: この段階では、レプリカが開始されています。これは、ホストを取得し、イメージをプルし、コンテナを開始したことを意味します。この段階でレプリカは応答可能または応答不可能になる場合があります。これは通常の操作と見なされますが、この状態が長時間続くことは通常ではなく、インフラストラクチャの問題を示す可能性があります。
  • 応答可能: この段階では、レプリカが応答可能であり、クエリに応答できることが確認されています。これは通常の操作と見なされます。この段階でレプリカに問題が発生した場合、最初にログを確認してデバッグします。
  • 応答なし: レプリカがリクエストに応答できない場合や、準備完了を報告できない場合は、応答なしとマークされます。この場合、そのレプリカへのリクエストはルーティングされず、応答なしの状態が長時間続くと削除される可能性があります。レプリカは一時的に応答なしになることがあり、このステータスを出入りすることがあります。応答なしのレプリカに問題がある場合は、ログや診断パネルを確認します。
  • 廃止: レプリカが削除される際、2段階の削除プロセスを経て、最初に廃止され、最終的に削除されることがあります。これは、進行中のリクエストを処理する時間を与えるためです。個々のレプリカには 24 時間未満の最大 TTL があるため、これは通常の操作と見なされます。
  • 開始エラー: レプリカはさまざまな理由で開始に失敗することがあります。これはインフラストラクチャの問題、イメージの問題、または設定の問題を示す可能性があります。レプリカを選択して診断を確認します。この段階ではログは表示されません。
  • 削除済み: すべてのレプリカは最終的に削除されます。これは通常、レプリカのライフサイクルの一部として、または例外的な場合に発生します。デプロイメントに問題がある場合、レプリカステータスセクションをアーカイブ済みに切り替え、特定の削除されたレプリカの診断を表示できます。削除されたレプリカの診断は 1 時間のみアーカイブされます。

レプリカ診断

レプリカ診断は、デプロイメントの劣化に関する詳細な洞察を提供できます。基盤インフラストラクチャやコンピュートモジュールサービスからのステータスと理由を提供します。レプリカ診断パネルでは、個々のイメージを選択してさらにデバッグすることもできます。

特定のレプリカの診断を表示するには、最初にレプリカの四角形を選択する必要があります。一部のレプリカはアーカイブされている可能性があり、アーカイブビューに切り替える必要があるかもしれません。

以下は、ライブにできないデプロイメントの診断パネルの例です。

「応答なし」エラーを示すレプリカ診断。

上記の画像では、コンテナが CrashLoopBackoff を経験しています。ログと提供されたコードを確認し、さらにデバッグを試みます。

アップグレードのデバッグ

コンピュートモジュールは、可能な限り安全なアップグレードを試みます。これは、アクティブなデプロイメントがある状態で設定をアップグレードすると、新しいデプロイメントがアクティブなものと並行して起動され、新しいデプロイメントが応答可能になると切り替わることを意味します。新しいジョブは更新されたデプロイメントにルーティングされ、既存のジョブは古いデプロイメントで完了します。

アップグレードプロセス

コンピュートモジュールのアップグレードは、以下に記載された一連のステップを経て進行します。

  1. 実行中のコンピュートモジュールの設定が変更されます。たとえば、設定されたイメージのバージョンを変更することができます。一部の設定は適用するためにダウンタイムを必要とし、それを保存する前に確認を求められます。
  2. コンピュートモジュールサービスは変更を反映した第2のデプロイメントを作成します。
  3. コンピュートモジュールサービスは新しいデプロイメントで応答可能なレプリカを待ちます。
  4. 新しいデプロイメントに応答可能なレプリカがあり、新しいリクエストが新しいデプロイメントにルーティングされます。古いデプロイメントは廃止され、既存のリクエストを完了するための猶予期間が与えられた後、完全に削除されます。

新しいデプロイメントが応答可能にならない場合、現在のデプロイメントは変更されません。アップグレードが失敗した場合、ダウンタイムは発生しません。応答しないアップグレードを終了するために、設定変更を元に戻すか、レプリカが応答可能になるように変更を進めることができます。

アップグレードが応答しない

アクティブなレプリカステータスセクションと同様に、アップグレードされたデプロイメントのレプリカのステータスは概要タブのセクションに表示されます。

セクションを展開して、アップグレードされたデプロイメントのイメージを表示し、レプリカの四角形を選択してさらにレプリカ診断を確認します。