このページでは、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 バージョンまたはサポートされていない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 チャネルに参加して、コミュニティ サポートを利用することもできます。
- 公開バグトラッカーを使用して、バグの報告や機能リクエストの登録を行う。