Cloud Native 7 min read

OpenYurt v1.1.0: Auto and OTA DaemonSet Upgrade Strategies for Edge Computing

OpenYurt v1.1.0 introduces two DaemonSet upgrade strategies—Auto, which skips NotReady nodes, and OTA, which lets edge users control upgrade timing—both implemented via custom controllers and annotations, with example YAML configurations and a simple API for manual pod upgrades.

Alibaba Cloud Native
Alibaba Cloud Native
Alibaba Cloud Native
OpenYurt v1.1.0: Auto and OTA DaemonSet Upgrade Strategies for Edge Computing

Overview

OpenYurt v1.1.0 introduces two DaemonSet upgrade strategies—Auto and OTA—to handle edge‑node NotReady conditions and to let edge operators control upgrade timing.

Auto Upgrade Strategy

In edge clusters, nodes may become NotReady due to unstable public networks. The native DaemonSet rolling update stalls because Pods on NotReady nodes remain in Terminating and new Pods cannot be scheduled. OpenYurt adds a custom controller daemonPodUpdater‑controller in the Yurt‑Controller‑Manager. The controller watches DaemonSet Pods; when a Pod is on a NotReady node it skips the update, and once the node becomes Ready it automatically deletes the old Pod so the DaemonSet controller creates the new version.

To enable the Auto strategy:

Set the DaemonSet spec.updateStrategy.type to OnDelete (required for the custom controller to take over).

Add the annotation apps.openyurt.io/update-strategy: auto.

Optionally limit the number of unavailable Pods with apps.openyurt.io/max-unavailable (default 10%).

apiVersion: apps/v1
kind: DaemonSet
metadata:
  annotations:
    apps.openyurt.io/update-strategy: auto
    apps.openyurt.io/max-unavailable: 30%
spec:
  updateStrategy:
    type: OnDelete
  # ... other DaemonSet spec ...

OTA Upgrade Strategy

OTA (Over‑The‑Air) is intended for scenarios where the edge operator must decide when to apply a new version, e.g., automotive workloads that cannot be upgraded while the vehicle is moving. The same daemonPodUpdater‑controller detects a new DaemonSet revision and adds a PodNeedUpgrade condition to each managed Pod. Edge applications query this condition via YurtHub and trigger the upgrade manually.

To enable OTA:

Set spec.updateStrategy.type to OnDelete.

Add the annotation apps.openyurt.io/update-strategy: ota.

apiVersion: apps/v1
kind: DaemonSet
metadata:
  annotations:
    apps.openyurt.io/update-strategy: ota
spec:
  updateStrategy:
    type: OnDelete
  # ... other DaemonSet spec ...

YurtHub OTA Control API

Edge operators interact with YurtHub through two HTTP endpoints: GET /pods – Returns the list of Pods on the edge node; each Pod includes the PodNeedUpgrade condition indicating whether a newer DaemonSet revision is available. POST /openyurt.io/v1/namespaces/{ns}/pods/{podname}/upgrade – Instructs YurtHub to delete the specified Pod, causing the DaemonSet controller to recreate it with the new version. Replace {ns} and {podname} with the Pod’s namespace and name.

Other Changes in v1.1.0

The release also contains miscellaneous bug fixes and improvements. Full changelog and commit history are available on the OpenYurt GitHub releases page.

References

OpenYurt project homepage: https://openyurt.io/

Proposal for Auto and OTA DaemonSet upgrade models: https://github.com/openyurtio/openyurt/blob/master/docs/proposals/20220718-workload-update-model.md

Kubernetes DaemonSet documentation: https://kubernetes.io/docs/concepts/workloads/controllers/daemonset/

OpenYurt v1.1.0 release notes: https://github.com/openyurtio/openyurt/releases

Original Source

Signed-in readers can open the original source through BestHub's protected redirect.

Sign in to view source
Republication Notice

This article has been distilled and summarized from source material, then republished for learning and reference. If you believe it infringes your rights, please contactadmin@besthub.devand we will review it promptly.

Cloud NativeEdge ComputingKubernetesDaemonSetOTAOpenYurtauto-upgrade
Alibaba Cloud Native
Written by

Alibaba Cloud Native

We publish cloud-native tech news, curate in-depth content, host regular events and live streams, and share Alibaba product and user case studies. Join us to explore and share the cloud-native insights you need.

0 followers
Reader feedback

How this landed with the community

Sign in to like

Rate this article

Was this worth your time?

Sign in to rate
Discussion

0 Comments

Thoughtful readers leave field notes, pushback, and hard-won operational detail here.