stack.basicstack.de/infrastructure/k3s-upgrade/k3s-server.yaml

45 lines
1.1 KiB
YAML
Raw Normal View History

# 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