次の方法で共有


Node Not Ready エラーの基本的なトラブルシューティング

この記事では、障害が発生した後に Microsoft Azure Kubernetes Service (AKS) クラスター ノードを復旧するためのトラブルシューティング手順について説明します。 この記事では、特に、Node Not Ready エラーが発生したときに生成される最も一般的なエラー メッセージについて説明し、Windows ノードと Linux ノードの両方でノード修復機能を実行する方法について説明します。

はじめに

Kubernetes クラスターのトラブルシューティングに関する公式ガイドを参照してください。 また、 Kubernetes のトラブルシューティングに関する Microsoft エンジニアガイドも参照してください。 このガイドには、ポッド、ノード、クラスター、およびその他の機能をトラブルシューティングするためのコマンドが含まれています。

前提条件

  • Azure CLI バージョン 2.31 以降。 Azure CLI が既にインストールされている場合は、 を実行 az --versionしてバージョン番号を確認できます。

基本的なトラブルシューティング

AKS はワーカー ノードの正常性状態を継続的に監視し、異常になったノードを自動的に修復します。 Azure Virtual Machine (VM) プラットフォームでは 、問題が発生する VM が維持されます 。 AKS と Azure VM は連携して、クラスターのサービス中断を減らします。

ノードの場合、ハートビートには次の 2 つの形式があります。

.status ファイルNodeLeaseの更新と比較すると、 は軽量のリソースです。 ハートビートにオブジェクトを使用すると Lease 、大規模なクラスターに対するこれらの更新プログラムのパフォーマンスへの影響が軽減されます。

kubelet は、オブジェクトの .status ファイルの作成と更新を担当Nodeします。 また、オブジェクトに関連NodeするオブジェクトのLease更新も担当します。

次のいずれかの条件がNode満たされている場合、kubelet は .status ファイルを更新します。

  • 状態の変更が発生します。

  • 構成された時間間隔の後に更新は行われません。

状態の更新 Node の既定の間隔は 5 分です。 この間隔は、到達できないノードの 40 秒の既定のタイムアウトよりもはるかに長くなります。 kubelet は、オブジェクトを Lease 10 秒ごとに 1 回作成して更新します (既定の更新間隔)。 Updates更新から状態にLease独立して発生しますNode。 更新が Lease 失敗した場合、kubelet は、200 ミリ秒から始まり、最大 7 秒で上限となる指数バックオフを使用して再試行します。

または の状態NotReadyUnknownNode持つ に対して をスケジュールPodすることはできません。 をスケジュール Pod できるのは、状態のノード Ready のみです。

ノードが 、、DiskPressureまたは PIDPressure 状態のMemoryPressure場合は、ノード上の追加ポッドをスケジュールするためにリソースを管理する必要があります。 ノードがモードの NetworkUnavailable 場合は、ノード上のネットワークを正しく構成する必要があります。 次の条件が満たされていることを確認します。

  • クラスターが 成功 (実行中) 状態です。 Azure portalでクラスターの状態をチェックするには、Kubernetes サービスを検索して選択し、AKS クラスターの名前を選択します。 次に、クラスターの [概要] ページで、Essentialsを見つけて [状態] を見つけます。 または、Azure CLI で az aks show コマンドを入力します。

    Azure portal Azure Kubernetes Service (K S) クラスターの [概要] ページのスクリーンショット。[Essentials] セクションの [状態] は [成功 (実行中)] です。

  • ノード プールの プロビジョニング状態[成功] で、 電源状態[実行中] です。 Azure portalでノード プールの状態をチェックするには、AKS クラスターのページに戻り、[ノード プール] を選択します。 または、Azure CLI で az aks nodepool show コマンドを入力します。

    Azure portal Azure Kubernetes Service (K S) クラスター ノード プールのスクリーンショット。[プロビジョニング] 状態は [成功] です。電源状態は [実行中] です。

  • 必要なエグレス ポートは、API サーバーの IP アドレスに到達できるように、ネットワーク セキュリティ グループ (NSG) とファイアウォールで開いています。 詳細については、「 AKS クラスターに必要な送信ネットワーク規則と FQDN」を参照してください。

  • ノード が最新のノード イメージをデプロイしました

  • ノードの状態はRunning、 または Deallocatedではなく Stopped です。

  • クラスターで 、AKS でサポートされているバージョンの Kubernetes が実行されています

サードパーティのお問い合わせ窓口に関する免責事項

Microsoft では、このトピックに関する追加情報を見つけるのに役立つサード パーティの連絡先情報を提供しています。 将来予告なしに変更されることがあります。 Microsoft は、第三者の連絡先情報の正確性を保証しません。