View a markdown version of this page

EC2 インスタンスストアを設定した AWS Outposts にあるローカルの Amazon EKS クラスターをトラブルシューティングする - Amazon EKS

このページの改善にご協力ください

このユーザーガイドに貢献するには、すべてのページの右側のペインにある「GitHub でこのページを編集する」リンクを選択してください。

EC2 インスタンスストアを設定した AWS Outposts にあるローカルの Amazon EKS クラスターをトラブルシューティングする

このトピックでは、EC2 インスタンスストアを設定した AWS Outposts でローカルの Amazon EKS クラスターの使用中に表示される可能性がある一般的なエラーとそのトラブルシューティング方法について説明します。

aws eks update-kubeconfig の実行後に次のエラーが表示される場合:

Either parameter --cluster-name or --cluster-id must be specified.

または:

couldn't get current server API group list: getting credentials: exec: executable aws failed with exit code 1

kubeconfig (~/.kube/config) では、--cluster-id ではなく引数 exec--cluster-name を指定していることを確認します。

args: - --region - region-code - eks - get-token - --cluster-name - my-cluster - --output - json command: aws

kubectl get nodes の実行時にノードが表示されない場合:

  1. ノードで kubelet ログを確認します。SSM または SSH でノードにアクセスし、以下を実行します。

    systemctl status kubelet -l
  2. 不正なエラーがないか確認します。不正なエラーがある場合、ノードロールにアクセス許可がないか、aws-auth ConfigMap に問題が発生している可能性があります。ノードのインスタンスロールが aws-auth ConfigMap に正しくマッピングされていることを確認します。

  3. CSR ステータスを確認します。ノードの証明書署名リクエストが承認済みであることを確認します。

    kubectl get csr

    CSR が Pending 状態の場合は、承認します。

    kubectl certificate approve node-csr-EXAMPLE

クラスターが FAILED ステータスになった場合:

  • 容量不足: 指定されたインスタンスタイプの 6 つのコントロールプレーンインスタンス (3 つの etcd + 3 つの API サーバー) に対応できるように、Outposts の仮想化容量が十分に確保されていることを確認します。インスタンスタイプは、Outposts にスロットされている必要があります。

  • スプレッドトポロジを満たせない: hostspreadLevel を指定した場合は、選択したインスタンスタイプで少なくとも 3 つのホストが設定されていることを確認します。rack を指定した場合は、選択したインスタンスタイプのホストが少なくとも 3 つのラックにあることを確認します。

  • サブネットの問題: 指定したサブネットが Outposts のホームであるアベイラビリティーゾーンにあり、各サブネットに使用可能な IP アドレスが少なくとも 3 つあることを確認します。「EC2 インスタンスストアを設定した AWS Outposts に Amazon EKS ローカルクラスターの VPC とサブネットを作成する」を参照してください。

Kubernetes バージョンまたはプラットフォームバージョンの更新中にクラスターが UPDATING 状態のままである場合:

  • 容量不足: 更新中に、コントロールプレーンインスタンスは再インスタンス化の前に削除されます。置換先インスタンスをプロビジョニングする前に、解放された容量が別のワークロードによって消費された場合、更新は停止します。コントロールプレーンインスタンスタイプに使用可能な容量が Outposts にあることを確認します。

Kubernetes API オペレーションを実行できなくなり、Outposts との接続が切断された場合:

  • etcd のクォーラムが失われた可能性があります。これが発生するのは、切断中に複数の etcd インスタンスが使用できなくなった場合です。

  • 既に実行中のワークロードは引き続き動作しますが、Kubernetes API オペレーションは使用できなくなります。

  • 接続が復元されると、Amazon EKS は最新の etcd スナップショットからクラスターの状態を復旧します。

AWS サポートセンターにお問い合わせください。