症状
起動時に、テレメトリー Pod が CrashLoopBackoff 状態を繰り返します。これにより、Pod の再起動時に指標やグラフに定期的なギャップが生じることがあります。データの一部が欠落しているため、分析データとの間に差異が生じることもあります。
エラー メッセージ
kubectl を使用して Pod の状態を表示すると、1 つ以上の指標 Pod が CrashLoopBackoff 状態になっていることがわかります。次のコマンドを参照してください。
kubectl get pods -n APIGEE_NAMESPACE
ここで、APIGEE_NAMESPACE は Apigee ハイブリッド コンポーネントの Kubernetes Namespace です。詳細については、apigee Namespace を作成するをご覧ください。
出力例:
NAME READY STATUS RESTARTS AGE apigee-metrics-default-telemetry-proxy-1104-hvwoo-zlmlw 0/1 CrashLoopBackoff 10 10m apigee-metrics-adapter-apigee-telemetry-1104-7fyff-tts65 0/1 CrashLoopBackoff 10 10m apigee-metrics-default-telemetry-proxy-1104-hvwoo-zlmlw 0/1 FailedScheduling 0 12m
共通の診断手順
- 次のコマンドを使用して、テレメトリー Pod の問題に関するイベントを確認します。
kubectl -n apigee get event
出力例:
LAST SEEN TYPE REASON OBJECT MESSAGE 53m Normal SuccessfulCreate job/apigee-cassandra-schema-val-jghunt-20250709-0820206-29251940 Created pod: apigee-cassandra-schema-val-jghunt-20250709-0820206-292519fkt7j 53m Normal Completed job/apigee-cassandra-schema-val-jghunt-20250709-0820206-29251940 Job completed 43m Normal SuccessfulCreate job/apigee-cassandra-schema-val-jghunt-20250709-0820206-29251950 Created pod: apigee-cassandra-schema-val-jghunt-20250709-0820206-292519l87m8 43m Normal Completed job/apigee-cassandra-schema-val-jghunt-20250709-0820206-29251950 Job completed 33m Normal SuccessfulCreate job/apigee-cassandra-schema-val-jghunt-20250709-0820206-29251960 Created pod: apigee-cassandra-schema-val-jghunt-20250709-0820206-29251962ncc - 次のコマンドを使用して、
CrashLoopBackOff状態のテレメトリー Pod のイベントを確認することもできます。kubectl -n apigee describe POD_NAME
ここで、POD_NAME は
CrashLoopBackOff状態の Pod の名前です。出力例:
apigee-metrics-apigee-telemetry-app-1101-qc36n-dxzrv
- 次のコマンドを使用して、Pod の
cpuステータスを確認することもできます。kubectl -n apigee get hpa | grep unknown
出力例:
apigee-metrics-apigee-telemetry-app-1101-qc36n-dxzrv ReplicaSet/apigee-metrics-apigee-telemetry-app-1101-qc36n-dxzrv
/80% 2 10 2 8h
考えられる原因
| 原因 | 説明 | トラブルシューティングの実施対象 |
|---|---|---|
metrics.app.resources.requests.cpu と metrics.app.resources.limits.cpu がありません |
cpu は overrides.yaml ファイルで指定する必要があります。 |
Apigee ハイブリッド |
原因
cpu は overrides.yaml ファイルで言及されていないため、cpu は未定義の値を取得します。
診断
overrides.yaml ファイルを調べて、metrics.app.resources.requests.cpu と metrics.app.resources.limits.cpu の両方に cpu 値が定義されているかどうかを確認します。
解決策
指標の overrides.yaml ファイルに cpu 設定がない場合は、overrides.yaml ファイルに両方の cpu 値を指定します。
overrides.yamlファイルのmetricsセクションに次の構成を追加します。metrics: app: # The apigee-prometheus-app container in the "app" pod resources: requests: memory: 512Mi # Default value: 512Mi cpu: 500m # Default value: 500m limits: memory: 2Gi # default: 1Gi cpu: 500m # Default value: 500m
- 次のコマンドを使用して変更を適用します。
helm upgrade ENV_RELEASE_NAME apigee-env/ \ --install \ --namespace APIGEE_NAMESPACE \ --set env=ENV_NAME \ -f OVERRIDES_FILE
ここで、ENV_RELEASE_NAME は
apigee-envチャートのインストールとアップグレードの追跡に使用される一意の名前です。通常は ENV_NAME と同じですが、環境と環境グループの名前が同じ場合は、異なる名前にする必要があります。たとえば、両方の名前がdevの場合は、dev-env-releaseとdev-envgroup-releaseを使用して区別します。ここで、APIGEE_NAMESPACE は Apigee ハイブリッド コンポーネントの Kubernetes Namespace です。詳細については、apigee Namespace を作成するをご覧ください。
ここで、ENV_NAME は UI で環境を作成したときに使用した名前です。
ここで、OVERRIDES_FILE はアップグレードまたはインストール時に使用される
overrides.yamlファイルです。
診断情報の収集が必要な場合
上記の手順でも問題が解決しない場合は、次の診断情報を収集して Google Cloud カスタマーケアにお問い合わせください。
overrides.yamlファイル。- Apigee ハイブリッドの Must-Gather スクリプトの出力。