Skip to main content

node-not-ready

Troubleshoot NotReady or SchedulingDisabled node status. Use when a node is down, unschedulable, or needs to be drained and restored.

ソース情報

リポジトリ
openshift/lightspeed-service
ソースの最終更新活動
2026年3月25日 09:00
検出された SKILL.md の言語
英語
スター
71
フォーク
93

インストール方法

デフォルトでは、最初にソースを確認する Prompt が選択されています。直接コマンドに切り替えるか、ローカルコピーをダウンロードすることもできます。

ソースファイルを確認

インストールを決める前に、SKILL.md と SkillsMP に表示されている付属ファイルをお読みください。

SKILL.md を表示中

SKILL.md
ソースの指示 · 読み取り専用プレビュー
name
node-not-ready
description
Troubleshoot NotReady or SchedulingDisabled node status. Use when a node is down, unschedulable, or needs to be drained and restored.
# Node Not Ready Diagnosis When a user reports a node that is NotReady, flapping, or has evicted workloads unexpectedly, follow this structured approach to identify the cause and restore the node. ## 1. Identify Affected Nodes List all nodes and their statuses: 1. Note which nodes are NotReady and how long they have been in that state. Recent (minutes) vs. prolonged (hours/days) requires different urgency. 2. Determine if the affected node is a **control plane node** or a **worker**. Control plane nodes are higher priority — losing quorum affects the entire cluster. 3. Check if the node is `SchedulingDisabled` (cordoned) — this may be intentional (maintenance) or a side effect of a MachineHealthCheck remediation. ## 2. Read Node Conditions Describe the affected node and examine its conditions: 1. **MemoryPressure=True**: the node is running low on memory. Identify the top memory-consuming pods and recommend eviction or resource limit adjustments. 2. **DiskPressure=True**: the node is running low on disk. Check for large container logs, unused images, or full persistent volumes. Recommend cleanup actions. 3. **PIDPressure=True**: the node is exhausting process IDs. Identify pods with excessive process creation (fork bombs, misconfigured worker pools). 4. **NetworkUnavailable=True**: the node's network plugin is not ready. Check SDN/OVN-Kubernetes pod health on that specific node. 5. **Ready=False with no other pressure conditions**: kubelet is not posting status. This usually means the kubelet process is down or the node is unreachable. The specific condition tells you exactly where to look next — do not run through all possibilities if the condition is clear. ## 3. Check Infrastructure Layer If the node conditions suggest the node itself is unreachable or the kubelet is down: 1. Check the Machine and MachineSet objects — is the machine reported as running by the infrastructure provider? 2. Check if a MachineHealthCheck has already detected the issue and is remediating (creating a replacement machine). If so, advise waiting for the remediation to complete before manual intervention. 3. For bare-metal or user-provisioned infrastructure: the user needs to check the host directly (SSH, console, BMC). OLS cannot diagnose host-level issues without cluster-side evidence. ## 4. Check Certificate Issues Node certificate problems are a common cause of NotReady, especially after extended downtime: 1. Check for pending Certificate Signing Requests (CSRs) — nodes that were offline during certificate rotation may need their CSRs manually approved. 2. If CSRs are pending: approve them and verify the node returns to Ready state. 3. If no CSRs are pending but the node was offline for a long time: the kubelet certificates may have expired entirely and the node may need to be re-joined. ## 5. Check Network Plugin Health If the condition is NetworkUnavailable: 1. Identify which network plugin the cluster uses (OpenShift SDN or OVN-Kubernetes). 2. Check the network plugin pods running on the affected node — are they in CrashLoopBackOff or not scheduled? 3. Check the node's network plugin logs for specific errors (failed to configure interface, VXLAN/Geneve tunnel issues, OVS database corruption). ## 6. Provide Recovery Steps Once the cause is identified: 1. State the specific condition and evidence. 2. Provide the targeted fix: - **Resource pressure**: identify consumers, suggest eviction or resource adjustments. - **Kubelet down**: check machine status, recommend restart or machine replacement. - **Pending CSRs**: approve them. - **Network plugin failure**: restart the network plugin pod on the affected node or investigate the specific error. 3. After remediation, verify the node transitions back to Ready. ## Quality Standards - Always report how long the node has been NotReady — this affects triage urgency and likely causes. - Check whether a MachineHealthCheck is already remediating before suggesting manual action — do not compete with automated remediation. - Warn before suggesting cordon/drain if the cluster is already capacity-constrained — draining a node when others are also unhealthy can cause cascading evictions. - Distinguish control plane nodes from workers in all recommendations. Restarting a control plane node has different risk than restarting a worker. - If the node is flapping (oscillating between Ready and NotReady), focus on the transition events rather than the current state.
GitHubで見る