5 Open Source Helm Charts You Should Install on Every Kubernetes Cluster
So, you got yourself a brand new Kubernetes cluster. Now that all the infrastructure has been set up, it may not be clear from the get-go which helm charts to install. After all, there are a lot of Kubernetes types: Ingress, Secrets, ConfigMaps, RoleBindings — just to name a few. It is no easy feat to know how to use these in which combination, let alone how to deploy the packages themselves to a k8s cluster.
Helm charts give you fully structured Kubernetes frameworks, and all you have to do is plug in your values. While there are hundreds of great open-source helm charts, here are five that you would be remiss to exclude. Of course, if none of these fit your needs, it’s always a great idea to build one yourself.
Need Kubernetes Training?
If you haven’t used Kubernetes before or are new to the platform, CBT Nuggets has got you covered. You’ll find a variety of Kubernetes training to help you get up to speed, whether you are an administrator or developer. Check out our Kubernetes training — and then sign up for a 7-day free trial to start learning how to leverage the power of Kubernetes!
1. Jenkins
Jenkins is used to automate environment deployments, test automation, security analysis, and much, much more. It is hands down one of the most popular CI/CD tools in the industry. Now, it is easier than ever to have it integrated into your Kubernetes cluster. The helm chart greatly reduces the complexity and startup knowledge required to run and serve Jenkins.
For example, the Jenkins helm charts come with a platform agnostic, fully configured CronJob that backs up your CI/CD Server. Imagine how much time you save by not having to do this yourself. All you have to do is provide the values (i.e, where to store the data, access key IDs, etc) and the cronjob will perform its duties.
2. Flux Helm Operator
If your organization is using Git and Kubernetes (which most are) then Flux is simply a must-have. Flux automatically synchronizes your version control repository with the cluster. That means when you make a change in the repository, those changes are automatically deployed to the cluster.
By essentially “version controlling” different deployments, it becomes very, very easy to roll back changes or deploy new ones. Flux simply looks at the branch and commit tag specified and deploys that version of the code. It will even auto-commit version increases for you.
3. Prometheus
So you’re deploying a solution using Jenkins and Kubernetes… but what if something goes wrong? This is where Prometheus comes into play. Prometheus is a customizable monitoring solution that integrates with Grafana. Think of it this way: Prometheus collects metrics and provides PromQL — its own query language. Then Grafana provides visuals to display the data in a meaningful way. Prometheus can provide logs written within your target programming language, record resource usage, bandwidth usage, and much more.
Thanks to Helm, it’s easy to get started with this logging solution. The helm chart will provide values in the Values.yaml file that will save you time and energy. For example, let’s say your organization already uses AWS. The Prometheus community has developed a helm chart that will export CloudWatch logs into Prometheus. That way, all of your logs from multiple different platforms can be co-scaled in a meaningful way.
4. Ingress-nginx
NGINX Ingress Controller for Kubernetes exposes your application to external users. Think of it as an advanced, customizable version of an Ingress. In Kubernetes, an Ingress Resources serves as an entry point into an application. The Ingress Resource directs a user to a different service, depending on the URL they are attempting to hit. Let’s look at a real-life example.
Let’s say you were in charge of an online skateboard shop. The shop is on a Kubernetes cluster and has three sets of pods — one goes to the /skate-boards URL, another goes to a /clothing URL, and the last one goes to an /admin-login URL.
Each will need to go through a single point of entry. (I.E, www.skateboardshop.com). However, there are a lot of things to think about, such as Session Persistence, JWT Authentication, and Load Balancing. The Ingress-nginx takes care of all of that through a Helm Chart. Not only that, but it will also all you to customize the scalability of the pods themselves.
5. Anchore
Anchore is a suite of security tools that can be applied to Kubernetes. Anchore integrates into your CI/CD pipeline to perform several security checks. One of the most used functions is called image sanitization.
Recall that Kubernetes is (almost always) built around a containerization service called Docker. Docker is based on images that are then pulled down and run on your cluster. However, it does not check if the image itself is secure. That is where Anchore comes in. Anchore will verify that the image pulled down is from a legitimate source, and does not contain malware or any other virus. Naturally, image sanitization is just one of the many, many functionality options Anchore provides.
Final Thoughts
In this article, we touched on five open-source helm charts that can be integrated into virtually any Kubernetes environment. While helm charts may seem esoteric at first, they actually make life a lot easier by automating and building infrastructure. Also, at the end of the day, you can always customize existing open source helm charts and publish them to ArtifactHub yourself.
delivered to your inbox.
By submitting this form you agree to receive marketing emails from CBT Nuggets and that you have read, understood and are able to consent to our privacy policy.