Skip to main content
Version: 1.68.x

Working with Helm and Flux

On this page, you'll find some useful information on how to work with the commandline interfaces for helm and flux in the context of your 23KE-based Gardener installation.

Useful Helm Commands

First things first. As already introduced in the architecture description, most of the 23KE helm charts stem from a helm repository hosted at gardener.community.github.io/gardener-charts. Consider adding this helm repository to your local repository cache by

helm repo add gardener-charts https://gardener-community.github.io/gardener-charts
helm repo update

Afterwards you can use get further information about the charts using the helm cli.

Show upstream chart info

E.g., for the cloudprofiles chart:

helm show chart gardener-charts/cloudprofiles

Show upstream helm default values

E.g., for the cloudprofiles chart:

helm show values gardener-charts/cloudprofiles

Useful Flux Commands

Check flux versions

The flux controllers running in the basecluster are maintained by 23KE itself, i.e. the flux controllers will be updated with 23KE updates. You can check the state of your cli version and the version of the cluster side components by

flux version

If you feel like your cli version is outdated. Go ahead and download a recent version from the Github release page. If you feel like your in-cluster components are outdated, think about updating 23KE.

Reconcile of a resource

If you want to get fast feedback in your GitOps workflow you can trigger the reconciliation of resources manually using the flux reconcile command. If you want a helmrelease to be reconciled immediately, you can achieve this by the following command:

flux reconcile helmrelease <NAME_OF_HELMRELEASE>

Suspend/Resume Reconciliation of a resource

Maybe you want to get your hands dirty and do some manual (i.e. not GitOps driven) configuration changes. For instance, this could be useful in staging environments for rapid prototyping. In this case, you need to make sure that flux does not revert your "dirty" changes and suspend the reconciliation of the affected resources. Checkout the help for flux suspend to get further information

flux suspend -h

E.g., a helmrelease can be suspended by

flux suspend helmrelease <NAME_OF_HELMRELEASE>

Don't forget to resume the reconciliation, when you are done with your experiments so that flux will take over the control of your deployed resources again:

flux resume helmrelease <NAME_OF_HELMRELEASE>
note

Sometimes you will need to suspend and resume resources in order to trigger an update of the deployed resources. If have the impression that the state in the cluster does not match your definitions in the git repository, try to suspend and resume the corresponding resources, wait for reconciliation, and see that the state matches the git repository again.