Upgrade the Control Plane Upgrade kubeadm: [cloud_user@k8s-control]$ sudo apt-get update && sudo apt-get install -y –allow-change-held-packages kubeadm=1.21.1-00 Make sure it upgraded correctly: [cloud_user@k8s-control]$ kubeadm version Drain the control plane node: [cloud_user@k8s-control]$ kubectl drain k8s-control –ignore-daemonsets Plan the upgrade: [cloud_user@k8s-control]$ sudo kubeadm upgrade plan v1.21.1 Upgrade the control plane components: [cloud_user@k8s-control]$ sudo kubeadm upgrade apply v1.21.1 Upgrade kubelet and kubectl on the control plane node: [cloud_user@k8s-control]$ sudo apt-get update && sudo apt-get install -y –allow-change-held-packages kubelet=1....
Install Packages in all nodes Log into the Control Plane Node (Note: The following steps must be performed on all three nodes.). Create configuration file for containerd: cat <<EOF | sudo tee /etc/modules-load.d/containerd.conf overlay br_netfilter EOF Load modules: sudo modprobe overlay sudo modprobe br_netfilter Set system configurations for Kubernetes networking: cat <<EOF | sudo tee /etc/sysctl.d/99-kubernetes-cri.conf net.bridge.bridge-nf-call-iptables = 1 net.ipv4.ip_forward = 1 net.bridge.bridge-nf-call-ip6tables = 1 EOF Apply new settings: sudo sysctl --system Install containerd: sudo apt-get update && sudo apt-get install -y containerd Create default configuration file for containerd: sudo mkdir -p /etc/containerd Generate default containerd configuration and save to the newly created default file: sudo containerd config default | sudo tee /etc/containerd/config....
Quick guide to install OS within VMs 3 Virtual machines configured and ready Here is a quick “guide” I made for myself to create a VM, configure RHEL and have ready 3 VMs with the OS configured to start playing with Kubernetes. Link to Insta
Introduction Here, I’ll explain you how to upgrade your Traefik version sitting on a Kubernetes cluster (version 1.23.1) on AWS. In my case, I was moving from Traefik 2.1 to 2.5, but this could be more or less translated between other versions. Note: This is the way I performed the migration of Traefik and there are other ways to do it so YMML. Steps overview Check 2.4 and 2.5 releases for breaking changes Reference: https://doc....
Traefik currently seats on a custom version owned by us but the patch was merged into the upstream repository and needs to be back to the main docker image along with the upgrade to > 2.5 Steps Check 2.4 and 2.5 releases for breaking changes Reference: https://doc.traefik.io/traefik/migration/v2/#v23-to-v24 Reference: https://doc.traefik.io/traefik/migration/v2/#v24-to-v25 ServersTransport -> Update RBAC and CRD (To check in Helm chart for 2.4) This is done by the chart as it updates everything needed....
Apply the correct CRDs for 2.5 and 2.6 versions: Great gist –> Useful Traefik CRDs reference: https://github.com/traefik/traefik/blob/v2.5/docs/content/reference/dynamic-configuration/kubernetes-crd.md ~/Traefik_upgrade/backup_220222_2_5v ./CRDs_2_5.sh ✔ │ 17:29:32 Warning: resource customresourcedefinitions/ingressroutes.traefik.containo.us is missing the kubectl.kubernetes.io/last-applied-configuration annotation which is required by kubectl apply. kubectl apply should only be used on resources created declaratively by either kubectl create --save-config or kubectl apply. The missing annotation will be patched automatically. customresourcedefinition.apiextensions.k8s.io/ingressroutes.traefik.containo.us configured Warning: resource customresourcedefinitions/ingressroutetcps.traefik.containo.us is missing the kubectl....
Traefik upgrade The overall process Context Upgrading traefik from 1.7.26 (chart traefik-1.87.7) to 2.5.6 (chart 10.9.1) isn’t possible because of labels immutability: ❯ helm upgrade -i traefik -n default -f values.yaml traefik/traefik --version 10.9.1 --force --debug history.go:56: [debug] getting history for release traefik upgrade.go:139: [debug] preparing upgrade for traefik upgrade.go:147: [debug] performing update for traefik upgrade.go:319: [debug] creating upgraded release for traefik client.go:218: [debug] checking 5 resources for changes client.go:493: [debug] Replaced "traefik" with kind ServiceAccount for kind ServiceAccount client....