(Update to Ubuntu 24.04 LTS Noble Numbat, k8s, BuildKit, nerdctl)
⚠️ Before pulling new release
- make sure you backed up data folder/volume
/optscale- make sure you backed up user overlays
~/optscale/optscale-deploy/overlay/
In this example instruction data directory is placed in /optscale, sources placed in ~/optscale
$ cd ~/optscale/optscale-deploy/
~/optscale/optscale-deploy$ source .venv/bin/activate
~/optscale/optscale-deploy$ ./runkube.py -d -- <release_name> local
if you're forgotten release name, you can use this command:
$ helm list | grep optscale
The output should be like:
$ helm list | grep optscale
NAME REVISION UPDATED STATUS CHART APP VERSION NAMESPACE
os-1 1 Thu Dec 26 12:32:35 2024 DEPLOYED optscale-0.1.0 default
according to the output, my release is: os-1 and the command will be:
~/optscale/optscale-deploy$ ./runkube.py -d -- os-1 local
12:29:10.285: Deleting optscale cluster os-1 on k8s 172.24.1.14
release "os-1" deleted
~/optscale/optscale-deploy$ deactivate
~/optscale/optscale-deploy$ rm -r .venv/
⚠️ All Kubernetes applications, including the k8s agent, will be deleted and must be reinstalled if necessary.
$ sudo kubeadm reset
$ rm $HOME/.kube/config
$ sudo apt remove --purge kube*
$ sudo apt remove --purge docker-*
$ sudo apt update && sudo apt dist-upgrade -y && sudo apt clean && sudo apt autoclean && sudo apt autoremove -y
$ sudo reboot
get version:
$ lsb_release -a
update manager core and do release upgrade:
$ sudo apt install update-manager-core
20.04 -> 22.04
$ sudo do-release-upgrade
answer 'y' and follow instructions
22.04 -> 24.04
$ lsb_release -a
...
Description: Ubuntu 22.04.5 LTS
Release: 22.04
$ sudo do-release-upgrade
answer 'y' and follow instructions
$ sudo apt update; sudo apt install python3-pip sshpass git python3-virtualenv python3
~/optscale$ git fetch && git pull
~/optscale$ cd optscale-deploy/
~/optscale/optscale-deploy$ virtualenv -p python3 .venv
~/optscale/optscale-deploy$ source .venv/bin/activate
~/optscale/optscale-deploy$ pip install -r requirements.txt
~/optscale/optscale-deploy$ ansible-playbook -e "ansible_ssh_user=<user>" -k -K -i "<ip>," ansible/k8s-master.yaml
when user - your actual user ip - our cluster ip address
$ source ~/.profile
cd .. && ./build.sh --use-nerdct
⚠️ The overlay needs access to your cluster data saved in your data folder, for example, database passwords, service account, etc. typically default overlay is stored inuser_template.yml
./runkube.py --no-pull --with-elk -o overlay/user_template.yml -- <release_name> <version>
when release_name - your cluster name version - your version, for example I want to run cluster os-1 with locally built version:
./runkube.py --no-pull --with-elk -o overlay/user_template.yml -- os-1 local