stack.basicstack.de/infrastructure/k3s-upgrade/k3s-server.yaml
CTO Agent 2c0e7f22b1 Add k3s cluster management automation and documentation
- Add k3s node provisioning script with version pinning
- Add comprehensive K3S_OPERATIONS.md documentation
- Add k3s system-upgrade-controller configuration

This addresses DEV-221: prevents version skew issues by:
1. Enforcing version pinning when adding new nodes
2. Providing automated provisioning script
3. Setting up automated upgrades via upgrade controller
4. Documenting all cluster operations procedures

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-07-06 17:08:21 +00:00

44 lines
1.1 KiB
YAML

# 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