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에서 보기