すべてのプロダクト
Search
ドキュメントセンター

Container Compute Service:Helm を使用したアプリケーションデプロイの簡素化

最終更新日:Apr 08, 2025

Helm は、アプリケーションの定義、インストール、および更新を簡素化します。これにより、Kubernetes クラスターでのアプリケーション管理がより効率的かつ便利になります。Container Compute Service (ACS) は、アプリケーションディレクトリ管理機能に Helm を統合しています。ACK の Helm は機能を拡張し、Spark や Dify などの一般的なサードパーティアプリケーションを提供します。

Helm の概要

Helm は、Kubernetes クラスター内のアプリケーションを管理するために使用されるオープンソースツールです。 Helm は、ソフトウェアをパッケージ化し、ソフトウェアバージョンを管理するための統一された方法を提供します。 Helm を使用すると、Kubernetes アプリケーションのデプロイと管理を簡素化できます。次の表に、Helm の基本的な概念を示します。詳細については、「Helm」をご参照ください。

名称

説明

Chart

Helm で使用されるパッケージング形式。各 Chart には、アプリケーションを実行するために必要なイメージ、依存関係、およびリソース定義が含まれています。Chart には、Kubernetes クラスターで使用されるサービス定義が含まれている場合があります。Helm Chart は、Homebrew formula、Advanced Package Tool (APT) dpkg、または Yum rpm に似ています。

Release

Kubernetes クラスターで実行されている Chart のインスタンス。1 つの Chart を Kubernetes クラスターに複数回インストールできます。Chart をインストールすると、新しい Release が作成されます。たとえば、MySQL Chart を使用してサーバー上で 2 つのデータベースを実行する場合、Chart を 2 回インストールし、Chart をインストールするたびに Release と Release 名を生成できます。

Repository

リポジトリは、Chart を格納するために使用されます。Helm クライアントは、HTTP 経由で Chart リポジトリ内のインデックスファイルおよびパッケージ化された Chart にアクセスできます。

Helm CLI

Helm コマンドラインツール。 Helm CLI のインストール方法の詳細については、「Helm のインストール」をご参照ください。

ACK リポジトリを使用してアプリケーションをデプロイする

ACS は、Spark などの一般的なアプリケーションを含むリポジトリを提供しています。コンソールまたは Helm CLI を使用して、ACK が提供するリポジトリにアクセスできます。

コンソールの使用

  1. ACK コンソール にログインします。左側のナビゲーションウィンドウで、[クラスター] をクリックします。

  2. [クラスター] ページで、管理するクラスターを見つけ、その ID をクリックします。クラスター詳細ページの左側のナビゲーションウィンドウで、[アプリケーション] > [Helm] を選択します。

  3. [Helm] ページの左上隅にある [デプロイ] をクリックします。

  4. 次の表では、基本情報の構成方法について説明します。情報を構成した後、次へ をクリックします。

    パラメーター

    説明

    アプリケーション名

    クラスター内の Release の名前。

    demo-app

    名前空間

    Release がデプロイされる名前空間。

    default

    発生元

    Chart のソース。

    • [マーケットプレイス]: アプリケーションマーケットプレイス

    • Acr ee: Container Registry Enterprise Edition

    [マーケットプレイス]

    [Chart]

    アプリケーションのインストールに使用する Chart。

    ack-dify

  5. Chart のバージョンを選択し、Chart のコンテンツを変更してから、OK をクリックします。

    説明

    Release がインストールされた後、コンソールでインストール済みのアプリケーションを管理できます。詳細については、「ACK で Helm を使用してアプリケーションを管理する」をご参照ください。

Helm CLI の使用

  1. オンプレミスデバイスに kubectl と Helm CLI をインストールして構成し、クラスターに接続します。詳細については、「クラスターの kubeconfig ファイルを取得し、kubectl を使用してクラスターに接続する」および「Helm のインストール」をご参照ください。

    説明

    CloudShell を使用してクラスターに接続する場合、Helm CLI はデバイスにプリインストールされています。 Helm CLI を手動でインストールする必要はありません。詳細については、「Cloud Shell で kubectl を使用して ACK クラスターを管理する」をご参照ください。

  2. aliyunhub という名前の ACK リポジトリを Helm リポジトリのリストに追加します。

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

    期待される出力:

    "aliyunhub" has been added to your repositories
  3. aliyunhub に関する情報を更新します。

    helm repo update aliyunhub

    期待される出力:

    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. リポジトリ内の Chart を表示します。

    helm search repo aliyunhub

    期待される出力:

    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. この例では、Spark 3.0 を使用してアプリケーションをデプロイします。

    説明

    以下のコマンドは参考用です。アプリケーションをデプロイする際は、リージョンとビジネス要件に基づいてコマンドを変更してください。

    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

    期待される出力:

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

Helm CLI を使用してサードパーティの Chart リポジトリからアプリケーションをデプロイする

ACK が提供する Chart が要件を満たしていない場合は、サードパーティの Chart を使用してアプリケーションをデプロイできます。

helm repo add <REPO_NAME> <REPO_URL> # Chart リポジトリを追加します。REPO_NAME は Chart リポジトリの名前に置き換えます。REPO_URL は Chart リポジトリのアドレスに置き換えます。
helm repo update # リポジトリ情報を更新します。
helm install <APP_NAME> <REPO_NAME>/<CHART_NAME> # アプリケーションをインストールします。APP_NAME はアプリケーションの名前に、CHART_NAME は Chart の名前に置き換えます。

Helm コマンドの詳細については、「Helm の使用」をご参照ください。