- 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>
40 lines
919 B
YAML
40 lines
919 B
YAML
# Upgrade plan for k3s worker nodes
|
|
apiVersion: upgrade.cattle.io/v1
|
|
kind: Plan
|
|
metadata:
|
|
name: k3s-agent
|
|
namespace: system-upgrade
|
|
spec:
|
|
# Target k3s version - update this to trigger upgrades
|
|
version: v1.36.2+k3s1
|
|
|
|
# Node selector - target worker nodes (not control plane)
|
|
nodeSelector:
|
|
matchExpressions:
|
|
- key: node-role.kubernetes.io/control-plane
|
|
operator: DoesNotExist
|
|
|
|
# Service account with permissions to drain nodes
|
|
serviceAccountName: system-upgrade
|
|
|
|
# Cordon node before upgrade
|
|
cordon: true
|
|
|
|
# Drain pods before upgrade
|
|
drain:
|
|
force: true
|
|
skipWaitForDeleteTimeout: 60
|
|
timeout: 120s
|
|
deleteEmptyDir: true
|
|
ignoreDaemonSets: true
|
|
|
|
# Only upgrade workers after control plane is done
|
|
prepare:
|
|
image: rancher/k3s-upgrade
|
|
args:
|
|
- prepare
|
|
- k3s-server
|
|
|
|
# Container spec for upgrade job
|
|
upgrade:
|
|
image: rancher/k3s-upgrade
|