跳到主要内容

EKS Pod Scheduling & Availability Patterns

Written: 2026-02-12 | Updated: 2026-02-14 | Reading time: ~54 min

Reference Environment: EKS 1.30+, Karpenter v1.x, Kubernetes 1.30+

1. Overview

Kubernetes Pod scheduling directly impacts service availability, performance, and cost efficiency. Proper scheduling strategies provide: high availability (failure domain isolation), performance optimization (workload-appropriate node placement), resource efficiency (balanced node utilization), and stable operations (priority-based resource guarantees).

2. Kubernetes Scheduling Fundamentals

3-phase process: Filtering (Predicates) → Scoring (Priorities) → Binding

FactorTypePhaseEnforcement
Node SelectorPodFilteringHard
Node AffinityPodFiltering/ScoringHard/Soft
Pod AffinityPodScoringHard/Soft
Pod Anti-AffinityPodFiltering/ScoringHard/Soft
Taints/TolerationsNode+PodFilteringHard
Topology SpreadPodScoringHard/Soft
PriorityClassPodPreemptionHard

3. Node Affinity & Anti-Affinity

Node Selector (basic exact match), Node Affinity (complex conditions with In, NotIn, Exists, DoesNotExist, Gt, Lt operators), Required vs Preferred, weight-based preferences.

4. Pod Affinity & Anti-Affinity

Pod Affinity for co-location (cache locality, data locality). Pod Anti-Affinity for fault isolation (distribute replicas across nodes/AZs). topologyKey: hostname, zone, region, custom.

5-9. Taints/Tolerations, Topology Spread, PDB, PriorityClass, Descheduler, Advanced Patterns

Comprehensive coverage including: dedicated node isolation, GPU/Spot taints, Topology Spread Constraints with minDomains, PDB design, PriorityClass hierarchy, Descheduler+Karpenter combination, and AI/ML workload scheduling patterns.

10. 2025-2026 AWS Innovations

EKS Auto Mode scheduling, Karpenter v1 GA features, Node Readiness Controller.