Amazon EKS ワーカーノードで「デバイスに空き領域がありません: unknown」エラーを解決する方法を教えてください。

所要時間1分
0

Amazon Elastic Kubernetes Service (Amazon EKS) ワーカーノードで発生する、「デバイスに空き領域がありません: unknown」というエラーを解決したいです。

解決策

Amazon EKS ワーカーノードの「デバイスに空き領域がありません: unknown」エラーを解決するには、次の手順を実行します。

  1. ワーカーノードを閉鎖してワーカーノードをクラスターから削除し、ポッドがスケジュールされないようにします。
    注: **example-worker-node ** は、お使いのワーカーノード名に置き換えてください。ワーカーノード名の一部として正しい IP アドレスを使用していることを確認してください (ip-123-456-78-90.aws-region.compute.internal など)。

    kubectl cordon example-worker-node
  2. ワーカーノードをドレインします。
    注: **example-worker-node ** は、お使いのワーカーノード名に置き換えてください。ワーカーノード名の一部として正しい IP アドレスを使用していることを確認してください (ip-123-456-78-90.aws-region.compute.internal など)。

    kubectl drain --ignore-daemonsets example-worker-node
  3. AWS マネジメントコンソールを開きます。

  4. 影響を受けているワーカーノードに接続するには、SSH または AWS Systems Manager の機能であるSessions Manager を使用します。

  5. root ユーザーに切り替えます。

    sudo su -
  6. 不要なイメージと使用していないイメージを手動で削除します。デフォルトでは、名前空間は k8s.io です。
    注: このコマンドを実行すると、「Buildkit が実行されていないか、インストールされていません」というエラーメッセージが表示される場合があります。このエラーや、このコマンドを実行したときに表示されるその他のエラーメッセージは無視してかまいません。

    nerdctl system prune --all --namespace=k8s.io
  7. ワーカーノードを閉鎖し、ワーカーノードをサービスに戻します。
    注: **example-worker-node ** は、お使いのワーカーノード名に置き換えてください。ワーカーノード名の一部として正しい IP アドレスを使用していることを確認してください (ip-123-456-78-90.aws-region.compute.internal など)。

    kubectl uncordon example-worker-node
  8. ワーカーノードのステータスが Ready であることを確認します。
    注: **example-worker-node ** は、お使いのワーカーノード名に置き換えてください。ワーカーノード名の一部として正しい IP アドレスを使用していることを確認してください (ip-123-456-78-90.aws-region.compute.internal など)。

    kubectl get nodes | grep example-worker-node
  9. ポッドをスケジュールできることと、ポッドが正常に実行されていることを確認します。
    注: **example-worker-node ** は、お使いのワーカーノード名に置き換えてください。ワーカーノード名の一部として正しい IP アドレスを使用していることを確認してください (ip-123-456-78-90.aws-region.compute.internal など)。

    kubectl get pods -A -o wide | grep example-worker-node
AWS公式
AWS公式更新しました 8ヶ月前