Packaging and managing applications on Kubernetes.
An application on Kubernetes consists of numerous resources that are created using manifests in the cluster. Helm is a package manager that bundles the manifests of all the Kubernetes resources that make up an application into a so-called Chart. The manifests are generated by templates, which allow a flexible customization through variables. This allows any number of instances of the application to be installed and managed using the same Helm Chart. This course provides a hands-on introduction to using Helm and developing custom Helm Charts.
This course is delivered in cooperation with the xamira networks GmbH.
Who should attend
The training is aimed at developers and administrators as well as architects and decision-makers with a high level of technical interest.
Participants must be familiar with the use of Kubernetes. This includes the proficient use of kubectl and creating YAML manifests for Kubernetes resources. Knowledge of basic programming principles, especially the use of variables, conditions and loops, is required.
The participants learn how to use Helm. This includes installing, configuring, updating and managing applications through existing Helm Charts. Furthermore, this training covers the development of custom Helm Charts, including templates, hooks, tests, dependencies, as well as documentation, packaging and publishing of the resulting Charts.
Introduction to Helm
- Motivation and features
- Interaction between Helm and Kubernetes
- Helm and CI/CD
Summarizing (!) recap of important Kubernetes resource types
- Pod, ReplicaSet, Deployment, DaemonSet, StatefulSet, Job and CronJob
- Service and Ingress
- ConfigMap and Secret
Use of existing Helm Charts
- Repository configuration
- Searching and finding Helm charts
- Examining Helm Charts
- Installation, upgrades, rollbacks, and uninstallation of releases
- Adjusting values
Development of custom Helm Charts
- Helm Chart structure
- Creating new Helm Charts
- Debugging Helm Charts
- Dependencies and variable passing
- Hooks and tests
- Helm template syntax
- Variables and scopes
- Loops and conditions
- Functions and pipelines
- Named templates
- Documentation within Helm Charts
- Generate documentation with helm-docs
Delivery of Helm Charts
- Packaging Helm Charts
- Operation of repositories