All Products
Search
Document Center

Container Compute Service:Use Helm to simplify application deployment

Last Updated:Apr 07, 2025

Helm simplifies the definition, installation, and update of applications. This makes application management in Kubernetes clusters more efficient and convenient. Container Compute Service (ACS) integrates Helm in its application directory management feature. Helm in ACS extends features to provide regular third-party applications, such as Spark and Dify.

Introduction to Helm

Helm is an open source tool that is used to manage applications in Kubernetes clusters. Helm provides a unified method to package software and manage software versions. You can use Helm to simplify the deployment and management of Kubernetes applications. The following table describes the basic concepts of Helm. For more information, see Helm.

Name

Description

Chart

A packaging format used by Helm. Each chart contains the images, dependencies, and resource definitions that are required to run an application. A chart may contain service definitions used in a Kubernetes cluster. A Helm chart is similar to a Homebrew formula, an Advanced Package Tool (APT) dpkg, or a Yum rpm.

Release

An instance of a chart that runs in a Kubernetes cluster. A chart can be installed multiple times in a Kubernetes cluster. After a chart is installed, a new release is created. For example, if you want to use a MySQL chart to run two databases on a server, you can install the chart twice and generate a release and a release name each time you install the chart.

Repository

A repository is used to store charts. The Helm client can access the index file and packaged charts in a chart repository over HTTP.

Helm CLI

The Helm command-line tool. For more information about how to install Helm CLI, see Installing Helm.

Use the ACS repository to deploy applications

ACS provides a repository that contains regular applications, such as Spark. You can access the repository provided by ACS in the console or by using Helm CLI.

Use the console

  1. Log on to the ACS console. In the left-side navigation pane, click Clusters.

  2. On the Clusters page, find the cluster that you want to manage and click its ID. In the left-side navigation pane of the cluster details page, choose Applications > Helm.

  3. In the upper-left corner of the Helm page, click Deploy.

  4. The following table describes how to configure the basic information. After you configure the information, click Next.

    Parameter

    Description

    Example

    Application Name

    The name of the release in the cluster.

    demo-app

    Namespace

    The namespace in which the release is deployed.

    default

    Source

    The source of the chart.

    • Marketplace:Application marketplace

    • ACR EE: Container Registry Enterprise Edition

    Marketplace

    Chart

    The chart used to install the application.

    ack-dify

  5. Select a chart version, modify the chart content, and then click OK.

    Note

    After the release is installed, you can manage the installed applications in the console. For more information, see Use Helm to manage applications in ACS.

Use Helm CLI

  1. Install and configure kubectl and Helm CLI on your on-premises device, and then connect to the cluster. For more information, see Obtain the kubeconfig file of a cluster and use kubectl to connect to the cluster and Install Helm.

    Note

    When you use CloudShell to connect to a cluster, Helm CLI is pre-installed on the device. You do not need to manually install Helm CLI. For more information, see Use kubectl on Cloud Shell to manage ACK clusters.

  2. Add the ACS repository named aliyunhub to the list of Helm repositories.

    helm repo add aliyunhub https://aliacs-app-catalog.oss-cn-hangzhou.aliyuncs.com/charts-incubator/

    Expected output:

    "aliyunhub" has been added to your repositories
  3. Update information about aliyunhub.

    helm repo update aliyunhub

    Expected output:

    Hang tight while we grab the latest from your chart repositories...
    ...Successfully got an update from the "aliyunhub" chart repository
    Update Complete. ⎈Happy Helming!⎈
  4. View the chart in the repository.

    helm search repo aliyunhub

    Expected output:

    NAME                                                    CHART VERSION   APP VERSION             DESCRIPTION                                       
    aliyunhub/ack-acr-acceleration-p2p                      0.3.6           0.3.6                   Speed Up Container Startup on ACK                 
    aliyunhub/ack-acr-acceleration-suite                    0.2.8           0.2.8                   Speed Up Container Startup on ACK                 
    aliyunhub/ack-advanced-audit                            0.5.0           0.5.0                   Kubernetes advanced audit                         
    aliyunhub/ack-advanced-horizontal-pod-autoscaler        0.1.0           1.0                     A Helm chart for Kubernetes                       
    aliyunhub/ack-aegis-installer                           0.1.1                                   Install Aegis in Alibaba Cloud Kubernetes cluster.
    aliyunhub/ack-agones                                    1.23.0          1.23.0                  a library for hosting, running and scaling dedi...
    aliyunhub/ack-ags-wdl                                   1.1.0           1.16.0                  A Helm chart for AGS to support WDL language.     
    aliyunhub/ack-ahas-pilot                                1.17.2          1.17.2                  A cloud service that aims to improve the high a...
    aliyunhub/ack-ahas-sentinel-pilot                       0.3.0           0.3.0                   AHAS Sentinel Pilot - Webhook Admission Controller
    aliyunhub/ack-ahas-springcloud-gateway                  0.1.1           0.1.1                   Spring Cloud Gateway with AHAS Sentinel integra...
    aliyunhub/ack-ai-dashboard                              1.0.15          1.0.0                   ai-dashboard for Kube-AI                          
    aliyunhub/ack-ai-dev-console                            1.2.1           1.2.1                   ack-ai-dev-console of KubeAI                      
    aliyunhub/ack-ai-installer                              1.9.15          1.9.15                  a toolkit for scheduling computing resources in...
    aliyunhub/ack-ai-pipeline                               1.0.4           1.0.4                   ack-ai-pipeline of KubeAI                         
    aliyunhub/ack-alibaba-cloud-metrics-adapter             1.3.4           0.1.5                   An implementation of the Kubernetes Custom Metr...
    aliyunhub/ack-amd-device-plugin                         1.0.0           1.0.0                   A Helm chart for deploying ack-amd-device-plugin  
    aliyunhub/ack-amd-smi-exporter                          1.0.0           1.0.0                   A Helm chart for deploying ack-amd-smi-exporter   
    aliyunhub/ack-application-acceleration                  1.1.0           1.1.0                   Reduce application startup time on ACK            
    aliyunhub/ack-arena                                     0.9.16          0.9.16                  Running Deep Learning Containers on ACK           
    aliyunhub/ack-arena-exporter                            0.5.0           0.5.0                   A Helm chart for deploying arena-exporter         
    aliyunhub/ack-arms-cmonitor                             4.1.2           4.1.2                   ARMS Container Monitor                            
    aliyunhub/ack-arms-pilot                                1.52.4          1.52.4                  ARMS Pilot - deprecated                           
    aliyunhub/ack-arms-prometheus                           1.1.25          4.2.0                   ARMS Prometheus Operator                          
    aliyunhub/ack-arms-vector                               1.0.2           1.0.0                   ARMS Prometheus Vector                            
    aliyunhub/ack-autoscaling-placeholder                   1.1.0           1.1                     Installs the a deployment that overprovisions t...
    aliyunhub/ack-blazing-dns                               2.0.0           2.0.0                   BlazingDNS speeds up DNS.                         
    aliyunhub/ack-celeborn                                  0.1.0                                   Apache Celeborn is an intermediate data service...
    aliyunhub/ack-cgpu                                      1.5.2           1.5.2                   A GPU sharing and isolation solution on Kuberne...
    aliyunhub/ack-coredns-dnstap-analyser                   0.1.0           v0.4.0.0                A dnstap receiver and analyser for CoreDNS dnst...
    aliyunhub/ack-cost-exporter                             1.0.17          0.1                     export cost metrics of cloud resources            
    aliyunhub/ack-descheduler                               0.27.1          0.27.1                  ACK descheduler for Kubernetes is used to rebal...
    aliyunhub/ack-dify                                      0.1.7           0.8.3                   Helm chart for deploying dify resources.          
    aliyunhub/ack-edge-acr-acceleration-p2p                 0.2.2           0.2.2                   Speed Up Container Startup on ACK                 
    aliyunhub/ack-edge-arms-prometheus                      0.1.5           1.0.5                   ARMS Prometheus Operator                          
    aliyunhub/ack-edge-nas-csiplugin                        1.1.0           v1                      this chart provides nas csi driver for ack@edge.  
    aliyunhub/ack-edge-node-problem-detector                1.2.0           0.8.0                   this chart  aims to make various node problems ...
    ...
  5. In this example, Spark 3.0 is used to deploy the application.

    Note

    The following commands are only for reference. Modify the commands based on the region and your business requirements when you deploy applications.

    helm install spark aliyunhub/ack-spark-operator3.0 \
        --namespace spark-operator \
        --create-namespace \
        --set image.repository=registry-cn-shanghai-vpc.ack.aliyuncs.com/acs/spark-operator

    Expected output:

    NAME: spark
    LAST DEPLOYED: * * ****** 2024
    NAMESPACE: spark-operator
    STATUS: deployed
    REVISION: 1
    TEST SUITE: None

Use a third-party chart repository to deploy applications by using Helm CLI

If the charts provided by ACS cannot meet your requirements, you can use third-party charts to deploy applications.

helm repo add <REPO_NAME> <REPO_URL> # Add a chart repository. Replace REPO_NAME with the name of the chart repository. Replace REPO_URL with the address of the chart repository.
helm repo update # Update repository information.
helm install <APP_NAME> <REPO_NAME>/<CHART_NAME> # Install the application. Replace APP_NAME with the name of an application and CHART_NAME with the name of a chart.

For more information about Helm commands, see Using Helm.