Upgrade Kubernetes components(Kurl.sh)
In the ever-evolving landscape of Kubernetes, keeping your cluster components up-to-date is crucial for security, stability, and performance. Regular updates ensure that you have access to the latest features, bug fixes, and security patches. However, updating Kubernetes cluster components can be a complex task that demands careful planning and execution. Here are the steps to navigate the process smoothly:
Server preparation and downtime
Carrying out system updates and rebooting when necessary is essential for maintaining the security, stability, and performance of your server. Apply any pending updates through your system’s package manager and reboot the server. Schedule about at least two hours of downtime.
Backup your server
Take the time to back up your entire server, including configuration files, application data, and any custom resources(PostgreSQL Database). This ensures that you can roll back to a previous state in case anything goes wrong during the update process.
Download the latest package
Create a new directory on the server:
mkdir -p 3yd_v_23_10_0 && cd 3yd_v_23_10_0
Download the archive package from the link provided by the 3YD Technical Support team:
curl -o 3yd_v_23_10_0.tgz “<download_ink>“
Extract the package
tar xvf 3yd_v_23_10_0.tgz
Copy the values.yaml
and pv.yaml
files from the previous version directory in the new one e.g
cp /path-to/3yd_v_23_4_0/values.yaml /path-to/3yd_v_23_10_0/values.yaml
cp /path-to/3yd_v_23_4_0/pv.yaml /path-to/3yd_v_23_10_0/pv.yaml
Uninstall 3YD app and reset the Kubernetes system
Stop the 3YD application stack
./helm uninstall order-management
Stop and reset the Kubernetes stack
kubeadm reset
The reset process does not clean CNI configuration. To do so, you must remove /etc/cni/net.d
rm -rf /etc/cni/net.d
Clean up the docker system to free up unused space.
docker system prune -a
Run the install.sh script
./install.sh $DOMAIN $UPLOADS_DIR; exec bash -l
Confirm the Kubernetes stack is updated and the 3YD app is running
kubectl get node -o wide
kubectl get pods -A