Tutorials

Onesait Platform deployments with Helm

What is Helm?

Helm (after the maritime term for rudder) is a tool for managing Kubernetes applications. Helm helps you «steer» Kubernetes using navigation charts, which are known as Helm Charts. Although we all enjoy Helm and Kubernetes doing the maritime references, the term «navigation chart» or «chart» may be harder to understand than Chart.

Helm is maintained by the CNCF in collaboration with Microsoft, Google, Bitnami and the Helm community.

What does Helm offer?

Helm’s main function is to define, install and update complex Kubernetes applications.

Most operating systems and programming languages have their own package manager for software installation and maintenance. Helm provides the same set of core functionality as many of these managers, including Debian’s apt and Python’s pip.

Helm can:

  • Install software.
  • Automatically install software dependencies.
  • Update software.
  • Configure software implementations.
  • Obtain software packages from repositories.

Helm provides this functionality through the following components:

  • A command line tool, helm, that provides the user interface for all of Helm’s functionalities.
  • A complementary server component, tiller, which runs on its Kubernetes cluster, listens to helm commands and manages the configuration and implementation of software versions on the cluster.
  • Helm’s packaging format, called charts.
  • A repository of official charts, selected with pre-packaged charts, for popular open source software projects.

How do we use Helm from the Onesait Platform?

We in the Platform team have developed a number of charts to provide a standard deployment structure, which we adapt for each client.

For each platform module we have a template for the deployment in k8s, another one for the service and, depending on whether the module needs persistence or not, a template for the pvc.

The properties that are unique to each environment, such as the machines’ IP, the DNS, persistence directories, Platform version, etc., are flattened, so that for each deployment we only have to adapt a single configuration file.

Thanks to these templates, we have centralized the configuration of all our modules, which saves a lot of time when deploying, operating and updating our customers’ systems.

In addition, thanks to Helm we can configure this chart to adapt it to any type of Cloud provider, which gives us a greater versatility when it comes to negotiation.

Helm also offers us the possibility of using and creating plugins. These plugins are useful when automating tasks such as scaling containers or creating certificates.

Conclusions

Helm is a very important solution to make the adoption of containers more effective.

By creating Helm navigation charts, the Helm Charts are used to describe even the most complex applications. They offer a repeatable installation of the application, keeping one single control point.

Helm Charts updates are simple and easier for developers to use.

✍🏻 Author(s)

5 thoughts on “Onesait Platform deployments with Helm

Leave a Reply