このページでは、Google Kubernetes Engine(GKE)Autopilot クラスタまたは Standard クラスタにデプロイされた Arm ワークロードの問題を解決する方法について説明します。
Arm ノードの Pod がクラッシュする
Arm ノードに Pod をデプロイするときに、コンテナ イメージが Arm アーキテクチャ用にビルドされていないと、次の問題が発生します。
この問題を特定するには、次の手順を行います。
Pod のステータスを取得します。
kubectl get pods
クラッシュした Pod のログを取得します。
kubectl logs POD_NAME
POD_NAME
は、クラッシュした Pod の名前に置き換えます。Pod ログのエラー メッセージは、次のようになります。
exec ./hello-app: exec format error
この問題を解決するには、コンテナ イメージが Arm アーキテクチャをサポートしていることを確認します。マルチ アーキテクチャ イメージのビルドをおすすめします。
Pod がスケールアップをトリガーしない
対象: Autopilot
サポートされていない GKE バージョンまたはサポートされていないTrusted Cloud リージョンに Arm ワークロードをデプロイしようとすると、Autopilot クラスタで次の問題が発生します。
問題を特定するには、クラスタのイベントログを取得します。
kubectl get events -w
出力は次のようになります。
117s Normal NotTriggerScaleUp pod/hello-app2-78fc858558-pg4hz pod didn't trigger scale-up (it wouldn't fit if a new node is added): 2 node(s) didn't match Pod's node affinity/selector
この問題を解決するには、Autopilot クラスタが GKE バージョン 1.24.1-gke.1400 以降を実行しており、Trusted Cloud リージョンが Arm ノードをサポートしていることを確認してください。
Pod が Pending 状態から動かなくなる
対象: Autopilot
Arm アーキテクチャで Autopilot Pod をデプロイしようとしたときに、 Trusted Cloud プロジェクトで割り当てが不足していると、次の問題が発生します。
問題を特定するには、クラスタのイベントログを取得します。
kubectl get events -w
出力は次のようになります。
29m Warning FailedScaleUp pod/hello-app-7b86c88cb8-8vt2k Node scale up in zones asia-southeast1-b associated with this pod failed: GCE quota exceeded. Pod is at risk of not being scheduled.
このイベントは、Pod をデプロイしてもログにすぐに現れない場合があります。
この問題を解決するには、割り当ての調整をリクエストしてください。
次のステップ
このドキュメントに問題のソリューションが見当たらない場合は、サポートを受けるで、次のトピックに関するアドバイスなど、詳細なヘルプをご覧ください。
- Cloud カスタマーケアに問い合わせて、サポートケースを登録する。
- StackOverflow で質問し、
google-kubernetes-engine
タグを使用して類似の問題を検索することで、コミュニティからサポートを受ける。#kubernetes-engine
Slack チャンネルに参加して、コミュニティ サポートを利用することもできます。 - 公開バグトラッカーを使用して、バグの報告や機能リクエストの登録を行う。