# Upgrade plan for k3s control plane nodes apiVersion: upgrade.cattle.io/v1 kind: Plan metadata: name: k3s-server namespace: system-upgrade spec: # Target k3s version - update this to trigger upgrades version: v1.36.2+k3s1 # Node selector - target control plane nodes nodeSelector: matchExpressions: - key: node-role.kubernetes.io/control-plane operator: Exists # Service account with permissions to drain nodes serviceAccountName: system-upgrade # Cordon node before upgrade cordon: true # Drain pods before upgrade (with tolerations) drain: force: true skipWaitForDeleteTimeout: 60 timeout: 120s deleteEmptyDir: true ignoreDaemonSets: true # Container spec for upgrade job upgrade: image: rancher/k3s-upgrade # Tolerate control plane taints tolerations: - key: CriticalAddonsOnly operator: Exists - key: node-role.kubernetes.io/control-plane operator: Exists effect: NoSchedule - key: node-role.kubernetes.io/master operator: Exists effect: NoSchedule