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....

2 min

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....

2 min

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

1 min

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....

1 min

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....

6 min

0 min

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....

4 min

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....

8 min