Kubernetes Classroom Series – 03/Aug/2021

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

Refer Here

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
  • Example: Lets install mysql from bitnami repository Refer Here

    • Add bitnami repository as upstream Preview
    • Install mysql Preview Preview
    • To uninstall mysql helm uninstall my-release
  • 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 Preview
    • 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
  • Refer Here

  • 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

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Please turn AdBlock off
Social Network Integration by Acurax Social Media Branding Company

Discover more from Direct DevOps from Quality Thought

Subscribe now to keep reading and get access to the full archive.

Continue reading

Visit Us On FacebookVisit Us On LinkedinVisit Us On Youtube