Helm Continued
- Lets try to understand Helm’s subcommands
| DNF Subcommands | Helm Subcommands | Purpose |
|---|---|---|
| install | install | Install an application and its dependencies |
| upgrade | upgrade | Upgrades an application to newer version |
| downgrade | rollback | Reverts the application to previous version |
| remove | uninstall | Delete an application |
- The abstracted complexity of k8s resources:
- Let’s assume a developer has been given a task of deploying a Mysql database onto k8s.
- Developer needs to create resources required to create containers, network and storage
- With Helm, developer tasked with deploying a mysql database could simply search for MySQL Chart in chart repositories
- Automated Life cycle Hooks:
- Helm provides the ability to define the life cylce hooks. Lifecycle hooks are actions that take place automatically at different stages of an application’s life cycle.
- Examples:
- Perform a data backup on an upgrade
- Restore data on rollback
- Validate k8s environment prior to installation
Installing Helm
Configuring Helm
-
Helm is a tool with sensible default settings that allow users to be productive without needing to perform a large of post-installation tasks
-
With that being said there are several options users can change or enable to modify the Helm’s behavior.
-
Adding upstream repositories:
- Helm provides the repo subcommand to allow users to manage configured chart repositories. This subcommand contains additional subcommands
- add: To add a chart repository
- list: To list chart repositories
- remove: To remove the chart repository
- update: To update information on available charts locally from chart repositories
- index: To generate and index file given a directory containing packaged charts
- Helm provides the repo subcommand to allow users to manage configured chart repositories. This subcommand contains additional subcommands
-
Example: Lets install mysql from bitnami repository Refer Here
- Add bitnami repository as upstream

- Install mysql

- To uninstall mysql
helm uninstall my-release
- Add bitnami repository as upstream
-
Adding plugins:
- Plugins are add-on capabilities that can be used to provide additional features to helm.
- For managing plugins, helm has a subcommand plugin

- Refer Here for some plugins
-
ENVIRONMENT Variables: Helm relies on the existense of externalized environmental variables to configure low-level options
- XDG_CACHE_HOME: Sets an alternative location for storing cached files
- XDG_CONFIG_HOME: Sets an alternative location for storing helm configuration
- XDG_DATA_HOME: Sets an alternative location for storing Helm Data
- HELM_DRIVER: Sets the backend storage driver
- HELM_NO_PLUGINS: Disables the plugins
- KUBECONFIG: Sets an alternative Kubernetes configuration file
-
Helm has the following paths
- Windows:
- Cache Path: %TEMP%\helm
- Configuration Path: %APPDATA%\helm
- Data Path: %APPDATA%\helm
- Linux:
- Cache Path: $HOME/.cache/helm
- Configuration Path: $HOME/.config/helm
- Data Path: $HOME/.local/share/helm
- Mac
- Cache Path: $HOME/Libarary/Caches/helm
- Configuration Path: $HOME/Library/Preferences/helm
- Data Path: $HOME/Library/helm
- Windows:
