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

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

最終更新日:Jun 16, 2026

Kubernetes リソースを再利用可能な Helm Chart にパッケージ化し、Container Service for Kubernetes (ACK) アプリケーションをデプロイおよび管理します。

Helm アプリケーションの作成

この例では、ACK コンソールから Dify アプリケーションをデプロイします。 クラスターには、少なくとも 2 vCPU コアと 4 GB のメモリが必要です。
  1. Dify 用の Container Network File System (CNFS) と Network Attached Storage (NAS) の StorageClass を作成します。

    1. ACK コンソールにログインし、[クラスター] ページに移動します。 対象のクラスターをクリックし、左側のナビゲーションペインで [ボリューム] > [StorageClasses] を選択します。

    2. [StorageClasses] ページで、[YAML から作成] をクリックします。 次の YAML をテンプレートに貼り付け、[作成] をクリックします。

      同じ名前のリソースが既に存在する場合、CNFS および NAS の StorageClass は作成済みです。 アプリケーションのデプロイに進んでください。 NAS ファイルシステムの作成には料金が発生します。 詳細については、「NAS の課金」をご参照ください。
      apiVersion: storage.alibabacloud.com/v1beta1
      kind: ContainerNetworkFileSystem
      metadata:
        name: cnfs-nas-filesystem
      spec:
        description: "cnfs"
        type: nas
        reclaimPolicy: Retain  # Retain のみがサポートされています。 CNFS を削除しても、バックエンドの NAS インスタンスは削除されません。
      ---
      apiVersion: storage.k8s.io/v1
      kind: StorageClass
      metadata:
        name: alibabacloud-cnfs-nas
      mountOptions:
        - nolock,tcp,noresvport
        - vers=3
      parameters:
        volumeAs: subpath # 各 Persistent Volume Claim (PVC) は、NAS ファイルシステム内に個別のサブディレクトリを作成します。
        containerNetworkFileSystem: cnfs-nas-filesystem # 上で定義した CNFS インスタンスに関連付けます。
        path: "/"
      provisioner: nasplugin.csi.alibabacloud.com
      reclaimPolicy: Retain
      allowVolumeExpansion: true # オプション:ディレクトリクォータのボリューム拡張を許可するには true に設定します。
  2. Dify アプリケーションをデプロイします。

    クラスターの詳細ページで、左側のナビゲーションペインで [アプリケーション] > [Helm] を選択します。 [Helm] ページで、[デプロイ] をクリックします。

    • [基本情報][チャート] セクションで、ack-dify を検索して選択します。

    • [パラメーター][チャートバージョン] で、最新バージョンを選択します。

  3. Dify アプリケーションにアクセスします。

    1. ack-dify Service をパブリックインターネットに公開します。

      パブリックアクセスはデモンストレーションのみを目的としています。 本番環境では、アクセス制御を使用してアプリケーションデータを保護してください。

      [ネットワーク] > [Services] に移動し、dify-system 名前空間を選択します。 ack-dify Service を見つけ、[更新] をクリックし、次のように設定して [OK] をクリックします。

      • [サービスタイプ][SLB] をクリックします。

      • [アクセス方法][パブリックアクセス] を選択します。

      • [VSwitch]: Virtual Private Cloud (VPC) の各アベイラビリティーゾーンに適した vSwitch を選択します。

    2. Dify アプリケーションにアクセスします。

      [外部 IP] アドレスをコピーしてブラウザーで開き、Dify にアクセスします。

Helm アプリケーションの管理

デプロイされたアプリケーションは、コンソールの [Helm] ページで管理します。

アクション

説明

表示

アプリケーション名または 詳細 をクリックして、リソース、YAML マニフェスト、リリース履歴を表示します。

更新

更新 をクリックします。 リリースのアップデート パネルで、必要に応じてパラメーターを変更し、OK をクリックします。

重要

更新によって、サービスの再起動や機能上の問題が発生する可能性があります。 変更を加える前に影響を評価し、オフピーク時に更新してください。

削除

[削除] をクリックします。 削除 ダイアログボックスで、消去 を選択し、[OK] をクリックして、Service や Deployment などのアプリケーションとそのリソースを削除します。

Dify アプリケーションを削除しても、バックエンドの NAS リソースは削除されません。 手動でNAS ファイルシステムを削除してください。
重要

消去 を選択しない場合、アプリケーション名は保持されます。 同じ名前の別のアプリケーションをデプロイすると失敗します。

よくある質問

Helm CLI を使用してサードパーティ製アプリケーションをデプロイする方法

ACK Charts がニーズを満たさない場合は、Helm CLI を使用してアプリケーションをデプロイします。
  1. クラスターに接続します。

    クラウドベース

    Workbench または CloudShell で kubectl を使用してクラスターに接続します

    Alibaba Cloud のブラウザーベースの CLI には Helm がプリインストールされています。 追加のセットアップは不要です。

    ローカルマシン

    1. kubectl を使用して ACK クラスターに接続します

    2. Helm CLI をインストールします

      curl https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3 | bash
  2. チャートリポジトリを追加します。

    REPO_NAME をリポジトリのエイリアスに、REPO_URL をその URL に置き換えます。
    helm repo add REPO_NAME REPO_URL
  3. ローカルリポジトリの情報を更新します。

    helm repo update
  4. サードパーティ製アプリケーションをデプロイします。

    APP_NAME をアプリケーション名に、CHART_NAME をチャート名に置き換えます。
    helm install APP_NAME REPO_NAME/CHART_NAME

その他のコマンドについては、Helm の公式ドキュメントをご参照ください。

Helm アプリケーションを削除できないのはなぜですか?

現象

  • コンソールで、Helm アプリケーションが長期間「アンインストール中」状態のままになります。

  • helm uninstall コマンドが次のようなエラーで失敗します:

    no matches for kind "***" in version "***"
    ensure CRDs are installed first

原因

これは通常、クラスターのアップグレードによって Helm Chart リソースが使用していた API バージョンが削除された後に発生します。 指定された API バージョンが存在しなくなったため、アンインストールは失敗します。

各 Kubernetes バージョンの非推奨 API については、「非推奨 API 移行ガイド」をご参照ください。

解決策

  1. helm-mapkubeapis プラグインを使用して、非推奨 API をサポートされているバージョンにマッピングしてから、アプリケーションを削除します。

    RELEASE_NAME を Helm アプリケーションの名前に、NAMESPACE を名前空間に置き換えます。
    helm plugin install https://github.com/helm/helm-mapkubeapis
    helm mapkubeapis RELEASE_NAME -n NAMESPACE 

    ...completed successfully メッセージにより、API バージョンがマッピングされたことが確認されます。

  2. アプリケーションを再度アンインストールします。

    helm uninstall RELEASE_NAME -n NAMESPACE

    出力 release "***" uninstalled は、Helm アプリケーションが削除されたことを示します。

関連ドキュメント