One of the best outcomes of Ansible’s move towards content collections is it spreads the thousands of modules in Ansible’s “core” repository into many more independent repositories. This means movement on issues and modules that had long been delayed (often due to the sheer volume of issues and pull requests in the repo) can progress more rapidly.

Obviously, not all modules will get the same love and appreciation as others—that’s the way open source works: more popular things flourish, as others may languish a bit—but one bright example of the positive impact has been the Kubernetes collection’s ability to incorporate some long-awaited Helm modules.

Thanks especially to the work of LucasBoisserie, three new Helm modules were merged into the Kubernetes collection:

  • helm
  • helm_info
  • helm_repository

Ansible has long had a helm module, but it was fairly broken for a long time, only worked with older versions of Helm, and was slated for deprecation in Ansible 2.14. That version of the module will still work the same in the regular community distribution of Ansible, as it’s now been moved to the community.general collection.

But if you want to use these new modules to automate your Helm deployments using the Kubernetes container orchestration system, you can do it with the community.kubernetes collection.

What is Helm?

Helm says it is “the best way to find, share, and use software built for Kubernetes.”

There are currently dozens of ways to deploy software into Kubernetes and OpenShift clusters (you can even do it using Ansible natively with the k8s module), but Helm is often the easiest onramp to Kubernetes deployments, especially when you’re starting out on your Kubernetes journey.

The way Helm works is that people maintain “charts,” which are templates describing “how to deploy application XYZ” into Kubernetes. Charts can have “values” that override the default settings for a deployment’s chart.

There are thousands of charts on Helm Hub you can use to install popular software. If your software is not included, you can build and host your own Helm chart repositories.

#kubernetes

Build a Kubernetes Minecraft server with Ansible's Helm modules
1.45 GEEK