Skip to Content
✨ Check out our new MCP server! (tech preview)
Get startedDeploy a Helm chart

Deploy a Helm chart

You can find several different applications available as Helm charts through SUSE Application Collection. This guide will help you to deploy any of these applications and to take full advantage of the available features.

Prerequisites

Before you begin, we recommend reviewing the First steps to become familiar with the basics.

To deploy Helm charts from SUSE Application Collection, ensure that the following prerequisites are met:

Deploying an application

In this example, we will deploy the Redis  application using the SUSE Application Collection Helm chart. But these instructions apply to any Helm chart application from our collection.

Basic deployment

To deploy the latest version of the application, run the following command:

helm install redis oci://dp.apps.rancher.io/charts/redis \ --set global.imagePullSecrets={application-collection}

In this command:

  • redis is the release name used to deploy the Helm chart.
  • oci://dp.apps.rancher.io/charts/redis identifies the Helm chart to deploy, which is pulled from the Application Collection OCI registry.
  • --set global.imagePullSecrets={application-collection} configures the Helm chart to authenticate with the Application Collection OCI registry using the access token created earlier. This option name is standardized and available across all Helm charts in Application Collection.

After a few seconds, the Redis pod should be deployed successfully:

$ kubectl get pods NAME READY STATUS RESTARTS AGE redis-0 1/1 Running 0 23s

Deployment options

To view all available configuration options for a Helm chart, use the helm show values command. For example, to inspect the available options for the Redis Helm chart, run the following command:

helm show values oci://dp.apps.rancher.io/charts/redis

Override Helm chart version

To deploy a specific version of a Helm chart from SUSE Application Collection, first identify the version that you want to install. For the Redis application, you can find the available Helm chart versions  on the SUSE Application Collection website.

The following example deploys version 2.5.0 of the Redis Helm chart using the --version option of the helm install command:

helm install redis oci://dp.apps.rancher.io/charts/redis \ --version 2.5.0 \ --set global.imagePullSecrets={application-collection}

Override container image version

You can also deploy a different version of the container images used by a Helm chart. This can be useful if you need to run a different version of the application than the version currently configured in the Helm chart, while continuing to use the latest version of the Helm chart.

Using container image versions that differ from those bundled in the Helm chart may result in deployment or runtime issues, as these configurations are untested.

To override the container image version, locate the appropriate deployment option that defines the container image tag. For the Redis Helm chart, this option is images.redis.tag. For example, the following command deploys Redis version 8.2.3-3.13 using the latest version of the Helm chart:

helm install redis oci://dp.apps.rancher.io/charts/redis \ --set global.imagePullSecrets={application-collection} \ --set images.redis.tag=8.2.3-3.13

Helm charts standardizations

All Helm charts in SUSE Application Collection include a set of standardized deployment options designed to simplify their deployment and configurations.

Global image pull secrets override

The global.imagePullSecrets option allows the Helm chart to pull container images from the SUSE Application Collection OCI registry. It accepts an array of strings containing the names of Kubernetes image pull secrets that will be used to pull all container images in the Helm chart.

For example, the following command deploys the Redis Helm chart using the SUSE Application Collection access token:

helm install redis oci://dp.apps.rancher.io/charts/redis \ --set global.imagePullSecrets={application-collection}

Global image registry override

The global.imageRegistry option allows you to globally override the container image registry from which all container images in the Helm chart are pulled. This is especially useful when you mirror SUSE Application Collection container images to your own private registry, and it is typically used in conjunction with the global.imagePullSecrets option.

For example, the following command deploys the Redis Helm chart while pulling the Redis container image from your own private container image registry at registry.internal, using the Kubernetes image pull secret named my-custom-oci-registry needed to access the OCI registry:

helm install redis oci://dp.apps.rancher.io/charts/redis \ --set global.imageRegistry=registry.internal \ --set global.imagePullSecrets={my-custom-oci-registry}

Image-specific override

Each container image used in the Helm charts supports the following override options:

  • registry: The OCI registry URL.
  • repository: The path to the container within the OCI registry.
  • tag: The container image tag.

For example, the following command deploys the Redis Helm chart while pulling the Redis container image from registry.internal/custom-redis:8.4.0-1.1, without affecting the registry, repository or tag configuration used by any other containers used by the Helm chart:

helm install redis oci://dp.apps.rancher.io/charts/redis \ --set images.redis.registry=registry.internal \ --set images.redis.repository=custom-redis \ --set images.redis.tag=8.4.0-1.1

You must locate the full path to the override options used for the Helm chart, as it may differ from the example shown above.

To discover all the deployment options supported by the Helm chart, see the Deployment options section.

Last updated on