Google Summer of Code Eighth Week
Hello Everyone, I hope you all are safe and doing good! I am writing this blog to share my Eighth week of the coding phase in GSoC’21.
As of now I am done with the deployment part and created all the required .yaml files, docker images, scripts, etc. But during my community bonding period, my mentor instructed me to read about helm charts and integrate them into the project.
So I started to explore what helm charts are and realized it’s gonna reduce the amount of time and because of them, it’ll be very easy to manage the deployment. Suppose if we want to apply some minor changes or want to deploy the whole new version of the application, helm charts reduces the efforts in ’n’ number of ways.
It also provides the templating feature because of which we can update the values in .yaml files (which is common to all by changing the values in the single value.yaml file).
So exactly what are helm charts?
Kubernetes can be seen as the OS of cluster machines and helm is the package manager of that OS. Helm charts help to package the YAML files which can be pushed to the repository and can be shared with the world.
In the Scan8 project, I have used helm charts in the form of umbrella charts in which there is one main chart and inside that chart, there are multiple different charts. So there is one main chart which is scan8-chart and under which there are four different charts which are:-
- Dashboard+Coordinator chart which consists of deployment.yaml, service.yaml.
- Database chart in which there are deployment files of MongoDB and Redis and their service files.
- PV chart in which there are pv.yaml and pvc.yaml files which are used to claim the available storage from the node.
- Worker chart in which there are deployment and service files for the worker and HPA(Horizontal Pod Autoscaler) file which is used to scale the pod if a certain amount of CPU or memory utilization takes place.
So after setting this whole thing up I have just used the command “helm install scan8 scan8-chart” and voila! everything was up and running. Without helm, I would have to manually deploy each deployment and its service which takes up a whole lot of time.
Currently, I am working on using templates inside the helm charts and completing my milestones for the GSoC.
Upcoming Week
I will be working on documenting my code and create a short video of the project and submit my work.
Stay tuned for further updates and feel free to connect with me on Linkedin if you have any doubts, feedbacks, or even otherwise!
Join the GITTER channel of Scan8 for more insights into the project.