このページでは、Google Kubernetes Engine(GKE)Autopilot クラスタまたは Standard クラスタにデプロイされた Arm ワークロードの問題を解決する方法について説明します。
Arm ノードの Pod がクラッシュする
Arm ノードに Pod をデプロイするときに、コンテナ イメージが Arm アーキテクチャ用にビルドされていないと、次の問題が発生します。
この問題を特定するには、次の手順を行います。
Pod のステータスを取得します。
kubectl get podsクラッシュした Pod のログを取得します。
kubectl logs POD_NAMEPOD_NAMEは、クラッシュした Pod の名前に置き換えます。Pod ログのエラー メッセージは、次のようになります。
exec ./hello-app: exec format error
この問題を解決するには、コンテナ イメージが Arm アーキテクチャをサポートしていることを確認します。マルチ アーキテクチャ イメージのビルドをおすすめします。
Pod がスケールアップをトリガーしない
対象: Autopilot
サポートされていない GKE バージョンまたはサポートされていないGoogle 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 以降を実行しており、Google Cloud リージョンが Arm ノードをサポートしていることを確認してください。
Pod が Pending 状態から動かなくなる
対象: Autopilot
Arm アーキテクチャで Autopilot Pod をデプロイしようとしたときに、 Google 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-engineSlack チャネルに参加して、コミュニティ サポートを利用することもできます。 - 公開バグトラッカーを使用して、バグの報告や機能リクエストの登録を行う。