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 仮想マシン (VM) プラットフォーム 問題が発生する VM を維持します。 AKS と Azure VM が連携して、クラスターに対するサービスの中断を減らします。
ノードには、2 つの形式のハートビートがあります。
Node
オブジェクトの .status ファイルを更新します。kube-node-lease 名前空間内の Lease オブジェクト。 各
Node
には、関連付けられたLease
オブジェクトがあります。
Node
の .status ファイルの更新と比較すると、Lease
は軽量のリソースです。 ハートビートに Lease
オブジェクトを使用すると、大規模なクラスターでのこれらの更新のパフォーマンスへの影響が軽減されます。
kubelet は、Node
オブジェクトの .status ファイルの作成と更新を行います。 また、Node
オブジェクトに関連するLease
オブジェクトの更新も行います。
次のいずれかの条件に該当する場合、kubelet は Node
.status ファイルを更新します。
状態が変更されます。
構成された時間間隔の後に更新は行われません。
Node
に対する状態の更新の既定の間隔は 5 分です。 この間隔は、到達できないノードの 40 秒の既定のタイムアウトよりもはるかに長くなります。 kubelet は、 Lease
オブジェクトを 10 秒ごとに 1 回作成して更新します (既定の更新間隔)。 Lease
の更新は、Node
状態への更新とは別に行われます。 Lease
の更新が失敗した場合、kubelet は、200 ミリ秒から始まり、最大 7 秒に制限される指数バックオフを使用して再試行します。
NotReady
またはUnknown
の状態のNode
にPod
をスケジュールすることはできません。 Pod
は、Ready
状態のノードでのみスケジュールできます。
ノードが MemoryPressure
、 DiskPressure
、または PIDPressure
状態の場合は、ノードに追加のポッドをスケジュールするためにリソースを管理する必要があります。 ノードが NetworkUnavailable
モードの場合は、ノード上のネットワークを正しく構成する必要があります。 次の条件が満たされていることを確認します。
クラスターが Succeeded (実行中) 状態です。 Azure ポータルでクラスターの状態を確認するにはKubernetes サービスを検索して選択し、AKS クラスターの名前を選択します。 次に、クラスターの Overview ページで、 Essentials を探して、 Statusを見つけます。 または、Azure CLI で az aks show コマンドを入力します。
ノード プールの プロビジョニング状態 Succeeded Power 状態 Running。 Azure portal でノード プールの状態を確認するには、AKS クラスターのページに戻り、 ノード プールを選択します。 または、Azure CLI で az aks nodepool show コマンドを入力します。
必要なエグレス ポートは、API サーバーの IP アドレスに到達できるように、ネットワーク セキュリティ グループ (NSG) とファイアウォールで開かれています。 詳細については、「 AKS クラスターの送信ネットワーク規則と FQDN の要求を参照してください。
ノードは、
Stopped
またはDeallocated
ではなく、Running
状態になります。クラスターで、 AKS でサポートされているバージョンの Kubernetes が実行されています。
サード パーティの連絡先に関する免責事項
Microsoft では、このトピックに関する追加情報を検索するのに役立つサード パーティの連絡先情報を提供しています。 この連絡先情報は、予告なしに変更される可能性があります。 Microsoft では、サード パーティの連絡先情報が正確であることを保証していません。
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示