Skip to main content
Version: Next

Workload management overview

In cloud-edge environments, OpenYurt extends native Kubernetes workload types to address heterogeneous node pools, unstable cloud-edge bandwidth, and the need for fine-grained upgrade control across distributed edge nodes.

YurtAppSet

YurtAppSet enables unitized application deployment based on NodePool. Instead of using uniform configuration across all pools, it creates a sub-workload (Deployment or StatefulSet) for each matched NodePool and allows per-pool overrides through workloadTweaks, such as replicas, container images, and arbitrary field patches.

For detailed usage, see YurtAppSet.

YurtStaticSet

YurtStaticSet takes over the management of static pods, which are normally created and upgraded manually on each node via files in /etc/kubernetes/manifests. It distributes pod templates centrally and supports both AdvancedRollingUpdate and OTA upgrade strategies.

For detailed usage, see YurtStaticSet.

DaemonSet Upgrade Model

OpenYurt extends native DaemonSet with two upgrade modes via the daemonPodUpdater controller:

  • AdvancedRollingUpdate — Automatically skips Not-Ready nodes during rolling upgrades and resumes when they recover.
  • OTA — Sets a PodNeedUpgrade condition on pod status; YurtHub exposes REST APIs for on-demand, per-pod upgrades.

To enable either mode, annotate the DaemonSet with apps.openyurt.io/update-strategy and set .spec.updateStrategy.type to OnDelete.

For detailed usage, see DaemonSet Upgrade Model.