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:
- You have access to a Kubernetes cluster.
- The
kubectlandhelmCLI tools are installed and configured for access to your Kubernetes cluster. - An access token has been created and configured in your Kubernetes cluster.
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:
redisis the release name used to deploy the Helm chart.oci://dp.apps.rancher.io/charts/redisidentifies 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 23sDeployment 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/redisOverride 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.13Helm 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.1You 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.