Deployment of experiment composer using HELM charts at Poznan Supercomputing and Networking Center
PSNC deployed the new version of one of Cybele services: experiment composer using HELM charts. Helm (https://helm.sh/) is a Kubernetes package manager that allows simplifying Kubernetes-based software deployment and upgrades. This was a team effort, involging also ENGINEERING (who provided Cybele HELM charts), RYAX and UBITECH.
Usually, development of kubernetes-based application is done by preparation and deployment of YAML files (e.g.,kubectl apply -f simple_services.yaml ) for every "service" that is used in the developed applications. For example, DevOps engineers have to prepare YAML files for the database, frontend WWW server and backend application server. Next, DevOps Team have to deploy these YAML files on Kubernetes cluster, usually in a specific order. After that, every change in application components is followed by an upgrade of the existing "deployment" or remove/deploy sequence.
Figure 1 Source: https://medium.com/ingeniouslysimple/deploying-kubernetes-applications-with-helm-81c9c931f9d3
Thank to HELM, DevOps Engineers have just one file (helm chart), which describe developed application with all dependencies, network configurations and connections and other requirements. With an additional file called values.yaml, which describes some parameters related to specific Kubernetes cluster, DevOps Engineers can simply deploy a whole application with one command: helm install my-appinstance cybele/my_application --namespace
cybele-services. Every further change in application, which is usually also mapped in helm chart, can be simply executed by running the following command: helm upgrade --install my-appinstance cybele/my_application –namespace cybele-services.
Figure 2 source: https://medium.com/ingeniouslysimple/deploying-kubernetes-applications-with-helm-81c9c931f9d3