41 lines
1.3 KiB
YAML
41 lines
1.3 KiB
YAML
# Cluster has only k3s-server nodes, no need for k3s-agent plan
|
|
apiVersion: upgrade.cattle.io/v1
|
|
kind: Plan
|
|
metadata:
|
|
name: k3s-server-v1.28
|
|
namespace: system-upgrade
|
|
labels:
|
|
k3s-upgrade: server
|
|
spec:
|
|
concurrency: 1 # Batch size (roughly maps to maximum number of unschedulable nodes)
|
|
channel: https://update.k3s.io/v1-release/channels/v1.28
|
|
nodeSelector:
|
|
matchExpressions:
|
|
- {key: k3s-upgrade, operator: Exists}
|
|
- {key: k3s-upgrade, operator: NotIn, values: ["disabled", "false"]}
|
|
- {key: k3os.io/mode, operator: DoesNotExist}
|
|
- {key: node-role.kubernetes.io/control-plane, operator: Exists}
|
|
serviceAccountName: system-upgrade
|
|
jobActiveDeadlineSecs: 3600
|
|
cordon: true
|
|
drain:
|
|
timeout: 900 # 15 minutes
|
|
force: true
|
|
ignoreDaemonSets: true
|
|
deleteLocalData: true
|
|
skipWaitForDeleteTimeout: 180
|
|
# ! We ignore longhorn-manager and instance-manager pods
|
|
# ! because with storageclass longhorn-static which has only single replica, it is impossible to drain the node
|
|
# ! without violating the pod disruption budget.
|
|
podSelector:
|
|
matchExpressions:
|
|
- key: app
|
|
operator: NotIn
|
|
values:
|
|
- longhorn-manager
|
|
- key: longhorn.io/component
|
|
operator: NotIn
|
|
values:
|
|
- instance-manager
|
|
upgrade:
|
|
image: rancher/k3s-upgrade
|