From 3cfb3efedcb3c6f0c9dbe1593b08f5bb2a4493cc Mon Sep 17 00:00:00 2001 From: ducoterra Date: Wed, 1 Nov 2023 00:42:08 -0400 Subject: [PATCH] add auto upgrade docs --- README.md | 27 ++++++++++++++++++++++++++- upgrade-plan.yaml | 42 ++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 68 insertions(+), 1 deletion(-) create mode 100644 upgrade-plan.yaml diff --git a/README.md b/README.md index 4edf582..0524571 100644 --- a/README.md +++ b/README.md @@ -24,6 +24,10 @@ A project to store container-based hosting stuff. - [Jellyfin](#jellyfin) - [Iperf3](#iperf3) - [Upgrading](#upgrading) + - [Nodes](#nodes) + - [K3S](#k3s) + - [Automated Upgrades](#automated-upgrades) + - [Manual Upgrades](#manual-upgrades) - [Create a Userspace](#create-a-userspace) - [Quickstart](#quickstart) - [Userspace](#userspace) @@ -625,11 +629,32 @@ helm upgrade --install \ ## Upgrading +### Nodes + +```bash +kubectl drain node1 --ignore-daemonsets --delete-emptydir-data +watch -n 3 kubectl get pod --all-namespaces -w +``` + +### K3S + +#### Automated Upgrades + + + +```bash +kubectl apply -f https://github.com/rancher/system-upgrade-controller/releases/latest/download/system-upgrade-controller.yaml +kubectl apply -f upgrade-plan.yaml +kubectl get pod -w -n system-upgrade +``` + +#### Manual Upgrades + ```bash sudo su - -wget https://github.com/k3s-io/k3s/releases/download/v1.28.2%2Bk3s1/k3s +wget https://github.com/k3s-io/k3s/releases/download/v1.28.3%2Bk3s1/k3s systemctl stop k3s chmod +x k3s mv k3s /usr/local/bin/k3s diff --git a/upgrade-plan.yaml b/upgrade-plan.yaml new file mode 100644 index 0000000..98998fa --- /dev/null +++ b/upgrade-plan.yaml @@ -0,0 +1,42 @@ +# Server plan +apiVersion: upgrade.cattle.io/v1 +kind: Plan +metadata: + name: server-plan + namespace: system-upgrade +spec: + concurrency: 1 + cordon: true + nodeSelector: + matchExpressions: + - key: node-role.kubernetes.io/control-plane + operator: In + values: + - "true" + serviceAccountName: system-upgrade + upgrade: + image: rancher/k3s-upgrade + channel: https://update.k3s.io/v1-release/channels/latest +--- +# Agent plan +apiVersion: upgrade.cattle.io/v1 +kind: Plan +metadata: + name: agent-plan + namespace: system-upgrade +spec: + concurrency: 1 + cordon: true + nodeSelector: + matchExpressions: + - key: node-role.kubernetes.io/control-plane + operator: DoesNotExist + prepare: + args: + - prepare + - server-plan + image: rancher/k3s-upgrade + serviceAccountName: system-upgrade + upgrade: + image: rancher/k3s-upgrade + channel: https://update.k3s.io/v1-release/channels/latest