October DealsAmazon USOctober deal check: compare before you payAmazon US: current deals, useful picks and tech finds.Check DealsWindows FixRecommendedWindows errors stealing your time? Find the fix fastScan stability, cleanup and performance issues.Fix NowOctober DealsAmazon USDeal season is back - check today's better picksAmazon US: current deals, useful picks and tech finds.See Picks×
Skip to content
World desk5 min

Lab 4.5: Fixing stress.yaml When It Won’t Run on a Worker Node

When stress.yaml runs on the control-plane but stays Pending on a worker, check the worker’s Ready condition, actual labels and taints, and the pod’s Events before changing placement rules.
Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

If stress.yaml runs on the control-plane but stays Pending on the worker, first check whether the worker is actually Ready and whether the manifest’s placement rules match its labels and taints. A worker can reach the Kubernetes API server and still be unhealthy or unschedulable. Use the pod’s Events and the node’s conditions to identify the blocker before changing selectors or tolerations.

Why does stress.yaml stay Pending on the worker?

Kubernetes schedules a pod only onto a node that is healthy, schedulable, and compatible with the pod’s constraints. A node selector that names the wrong hostname can rule out the worker; a NotReady node or a taint can also prevent placement. The Linux Foundation LFD259 lab incident had exactly this pattern: the worker was NotReady, with node.kubernetes.io/unreachable:NoSchedule, node.kubernetes.io/unreachable:NoExecute, and node.cilium.io/agent-not-ready:NoSchedule taints. The pod could therefore remain Pending even though the worker could reach the API server. The lab discussion documents the incident and its resolution.

As an Amazon Associate I earn from qualifying purchases.

API connectivity is not proof that a node has completed bootstrap or remains healthy. As Linux Foundation forum responder Chris Pokorni put it, “A cluster node in "not-ready" state as you noted, implies a cluster that has not been fully bootstrapped and/or configured, or certain readiness conditions that are no longer met as a result of unfavorable cluster events.” The discussion describes the specific lab environment; your node’s own conditions and Events are the evidence to follow.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Check the file, namespace, and Kubernetes context

Before changing the cluster, verify that you are applying the intended manifest to the intended cluster and namespace. A wrong file, context, or namespace can make an otherwise correct troubleshooting attempt misleading.

#1 Best Overall
Sale
GMKtec G3S Mini PC Intel N95 Processor (Up to 3.4GHz) 8GB RAM 256GB M.2 SSD | Mini Desktop Computer with VESA Mount for Office Home Business HTPC Proxmox, Dual 4K Display, WiFi 5, Gigabit Ethernet
  • 12th Intel Alder Lake N95 Processor – The GMKtec G3 S Mini PC is powered by the 12th Gen Intel N95 processor with 4 cores, 4 threads, 6MB cache and a burst frequency up to 3.4GHz. Compared with N100/N5105/N5100/N5095, the N95 delivers up to 36% overall performance improvement. Perfect for routine tasks, office work, and home entertainment, this compact mini desktop is more convenient than traditional bulky PCs.
  • 8GB RAM & 256GB SSD Storage – Pre-installed with 8GB DDR4 memory and a fast 256GB M.2 2242 SSD, the G3 S mini desktop offers quicker startup, smoother multitasking, and faster file transfers. Enjoy seamless performance whether you’re working on multiple applications, browsing, or streaming content.
  • Rich Interfaces & Connectivity – The G3 S mini computer comes equipped with USB 3.2 (up to 10Gbps), dual HDMI 2.0 (4K@60Hz), and a 3.5mm audio jack. With support for WiFi 5, Bluetooth 5.0, and Gigabit Ethernet (RJ45 1000MbE), it connects easily with monitors, projectors, printers, office equipment, and other peripherals, making it versatile for both home and business use.
  • Dual 4K Display Support – Featuring upgraded Intel UHD Graphics (up to 1000MHz), the G3 S supports 4K video playback and AV1 decoding for a smooth viewing experience. With dual HDMI outputs, you can connect two 4K@60Hz displays simultaneously, enabling efficient multitasking for work and entertainment.
  • GMKTEC WARRANTY - GMKtec offers a 3-year limited warranty (1 year replacement + 2 years parts replacement) for each mini PC, starting from the date of the purchase effective on all sales starting Oct. 2026. All defects due to design and workmanship are covered. With a professional after sales team always ready to attend to your needs, you can simply relax and enjoy your mini PC
  1. Confirm the active context and its configuration: kubectl config current-context and kubectl config view --minify.
  2. Inspect stress.yaml for its resource kind, metadata.name, namespace, and placement fields such as nodeSelector or affinity.
  3. Check the target namespace: kubectl get pods -n <namespace>. If the manifest omits a namespace, Kubernetes uses the active default namespace.

Validate the manifest before applying it. The client-side check catches issues detectable locally; the server-side check asks the API server to validate the object against the cluster’s supported API and schema.

kubectl apply --dry-run=client -f stress.yaml
kubectl apply --dry-run=server -f stress.yaml

If validation succeeds, apply the file and verify the exact resource and pod placement:

kubectl apply -f stress.yaml
kubectl get -f stress.yaml
kubectl get pods -n <namespace> -o wide

The -o wide output shows the node assigned to a scheduled pod. If the pod is still Pending, continue with its Events rather than repeatedly reapplying the same manifest. The Kubernetes pod debugging guide also recommends examining pod status, Events, and logs.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Verify the worker’s health, labels, and taints

Get the worker’s current condition and scheduling details, then compare them with the manifest. Hostname labels are environment-specific and case-sensitive; do not assume the worker’s value from another machine or lab installation.

Rank #2
NIMO AI NAS, Agentic Computer Mini PC and AI Server, Intel Core Ultra 5 320 (up to 4.6 GHz, beat AI 5 340) up to 132TB ZFS Hybrid Storage, for 24hr AI Agent
  • High-Performance NAS with Powerful Procesor: Intel Core 5 320 is ideal for small offices, & More. You can enjoy smooth performance and seamless collaboration, while making use of advanced features like Docker and virtual machines. It works semalessly across every device inluding Windows, macOS, Linux, iOS, Android or Google services and so on.
  • Better Way to Store Than External Drives: NAS offers centralized storage, automatic backups, remote access, and a wide range of RAID options for easy data recovery even if a drive fails. Massive Storage Capacity: Never worry about storage limits again. With up 144TB capacity, you can store 50 million 1MB photos or 98K 1.5GB movies,5 million 30MB songs! *Hard Drives not included.
  • Secure Private Cloud: Retain 100% data ownership with advanced encryption to protect your files. Flexible permission management makes it easy to protect your privacy when collaborating with others.
  • AI-Powered Photo Album: Automatically organizes your photos by recognizing faces, scenes, objects, and locations. It can also instantly remove duplicates, freeing up storage space and saving you time.
  • User-Friendly App: Simple setup and easy file-sharing on Windows, macOS, Android, iOS, web browsers, and smart TVs, giving you secure access from any device.
kubectl get nodes -o wide
kubectl get nodes --show-labels
kubectl describe node <worker>

In the node description, check its Ready condition, taints, capacity, and recent Events. If the YAML has a selector such as kubernetes.io/hostname: worker, verify that the worker actually has that exact label value. A selector that matches no node prevents scheduling.

A toleration and a selector solve different problems: a selector or affinity rule chooses eligible nodes, while a toleration permits a pod to be considered for a node with a matching taint. Add a toleration only if the pod is intended to run on that tainted node and the taint is appropriate. Tolerating an unreachable or agent-not-ready taint does not repair the node and is not a substitute for restoring node health. Kubernetes explains these placement rules in its taints and tolerations documentation.

Use pod Events to identify the immediate blocker

Describe the Pending pod in its namespace:

kubectl describe pod <pod> -n <namespace>

Read the Events near the bottom of the output. Messages such as 0/<n> nodes are available often specify why candidates were rejected. Look for scheduling or taint conflicts, node-affinity mismatches, FailedMount, image-pull errors, and container restarts. These point to different fixes; for example, a mount error is not solved by changing the hostname selector.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

If the pod starts but fails, check its dependencies and logs

When the pod is no longer Pending but the container exits or repeatedly restarts, inspect the current and previous container logs:

Rank #3
AMD Ryzen™ AI Halo - Personal AI Desktop Computer - Developer Platform - Linux OS
  • Built for Local AI Development: AMD Ryzen AI Halo is designed for local AI development and inference, featuring 128GB unified memory and support for up to 200B parameter models to build and run intensive AI workloads locally.
  • 128GB Unified Memory: Features 128GB LPDDR5x unified memory at 8000 MT/s with 256 GB/s memory bandwidth, providing a shared memory pool across the CPU, GPU, and NPU to support larger AI models.
  • AMD Ryzen AI Max+ 395 Processor: Features 16 cores, 32 threads, and Zen 5 architecture, paired with AMD Radeon 8060S integrated graphics featuring 40 RDNA 3.5 compute units and an AMD XDNA 2 NPU with up to 50 TOPS.
  • Linux AI Developer Platform: Purpose-built for Linux-based AI development with full AMD ROCm software support and preloaded tools, models, and workflows optimized for local AI development.
  • Compact, Connected Design: Includes a 2TB M.2 SSD, 10GbE LAN, Wi-Fi 7, Bluetooth 5.4, USB-C connectivity, and HDMI 2.1b.
kubectl logs <pod> -n <namespace>
kubectl logs <pod> -n <namespace> --previous

Then check that referenced ConfigMaps and Secrets exist in the pod’s namespace and contain the expected keys; that the ServiceAccount has the required RBAC permissions; and that the image tag and registry credentials are valid. Review readiness and liveness probes as well: a failed readiness probe keeps a running container out of service, while repeated liveness failures can cause restarts. If the workload is managed by a Deployment, inspect its rollout with kubectl rollout status deployment/<name> -n <namespace>.

Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Investigate worker storage and VM health when the node is NotReady

If node conditions or Events point to kubelet or disk pressure, investigate the worker itself rather than weakening the pod’s placement rules. In the LFD259 discussion, kubelet reported FreeDiskSpaceFailed, ImageGCFailed, and InvalidDiskCapacity. The worker exposed roughly 10 GB to kubelet despite a larger virtual-disk allocation. The responder explained that kubelet sees space available inside the guest operating system; allocating a larger virtual disk does not necessarily expand the guest’s filesystem. In that lab incident, rebuilding the worker VM with the disk set up correctly resolved the problem. The discussion includes the reported symptoms and outcome.

Check the disk and filesystem capacity visible inside the worker guest, along with kubelet and node Events. If a virtual disk was expanded, confirm that the guest’s partition and filesystem were also extended using the procedure appropriate to that VM and filesystem. Do not assume the lab’s reported capacity or repair steps apply unchanged to a different environment.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Choose the fix that addresses the actual cause

Evidence Likely area to fix What to do
Dry run reports invalid fields, API version, or missing values Manifest schema Correct the YAML using the API server’s validation error, then validate again.
Selector or affinity matches no worker label Placement rules Use the worker’s actual label value, or revise the placement rule if the workload is meant to run elsewhere.
Worker is NotReady or has unreachable/agent-not-ready taints Node health Investigate the node condition and kubelet or networking Events; restore worker health before relying on it for placement.
Events show FailedMount, image-pull errors, or container restarts Workload dependency or runtime Check referenced storage/configuration, image availability and credentials, and container logs.
Kubelet reports disk-capacity or image-GC failures Worker storage Check guest-visible filesystem capacity and repair the VM or worker storage configuration.

Prefer correcting a manifest when the node is healthy and the YAML is wrong. When the worker is unhealthy, repair the node rather than adding a toleration that merely bypasses a scheduling safeguard. For the lab incident described above, worker disk setup—not a YAML syntax change—was ultimately the cause.

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

Leave a Reply

Your email address will not be published. Required fields are marked *

Free tools Windows power users keep installed

One-click scans. No signup required.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

More from the Wire

  1. World desk4 min
    How to Spot an AI Voice Scam Before Sending MoneyDon’t rely on how a caller sounds. Pause, call back through a known number, and verify the emergency with another trusted person before sending money.
  2. Mountain View desk4 min
    Google’s SynthID Detector: How to Check AI-Generated Images, Video and AudioGoogle’s SynthID Detector looks for an embedded watermark in supported images, video and audio. Here is what its results do—and do not—show.
  3. Redmond desk20 min
    How to create a link to File or Folder in Windows 11Windows 11 gives you several ways to point to a file or folder without moving or duplicating it. You can create a desktop shortcut,…
Recommended PC Tool
Recommended PC Tool
Crashes, No Sound, or Screen Glitches?Free driver scan
Windows Errors? Fix Them Before They SpreadFree repair scan

Two free Windows tools

One Free Minute Could Fix That PC

Before you go - each of these free tools takes about a minute and tackles what quietly slows a Windows PC down.

Special offer. View Outbyte info, uninstall instructions, EULA, and Privacy Policy.