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

Container Service for Kubernetes:Alibaba Cloud CSI ストレージの使用

最終更新日:Aug 29, 2026

ACK は Alibaba Cloud ストレージと深く統合されており、Kubernetes ネイティブのストレージサービスをサポートしています。登録済みクラスターに CSI プラグインをデプロイすることで、クラウドディスク、NAS、OSS、ローカルボリュームを Pod に自動的にアタッチできます。本トピックでは、登録済みクラスターで Alibaba Cloud CSI ストレージを使用する方法について説明します。

RAM 権限を設定し、CSI プラグインをインストールして、ボリュームを Pod にマウントします。

注意事項

以下の制限事項が適用されるかどうかを確認してください:

  • データセンタークラスターの場合、ノードプール経由で追加された ECS ノードには、alibabacloud.com/external=true ラベルが自動的に付与されます。

前提条件

以下の条件を満たしていることを確認してください:

  • ACK One 登録済みクラスターが作成され、外部 Kubernetes クラスターが接続されていること。

  • 登録済みクラスターが Kubernetes 1.24 以降を実行していること。

  • (データセンターデプロイメントに必要) データセンターと Alibaba Cloud 間に Express Connect 回線が構築されていること。

ステップ 1:RAM 権限の設定

Container Storage Interface (CSI) プラグインが Alibaba Cloud API を呼び出すには、アクセスキーペアが必要です。アクセスキーペアがない場合、プラグインはクラウドストレージにアクセスできません。

以下のいずれかの方法を選択してください:

onectl の使用

  1. オンプレミスマシンにonectl をインストールします。

  2. RAM ユーザーに CSI プラグイン権限を付与します:

    onectl ram-user grant --addon csi-plugin

    想定される出力:

    Ram policy ack-one-registered-cluster-policy-csi-plugin granted to ram user ack-one-user-ce313528c3 successfully.

コンソールの使用

  1. RAM ユーザーを作成します。

  2. 以下のサンプルを使用してカスタムポリシーを作成します。このポリシーは、ディスク、スナップショット、スナップショットポリシー、タグ、インスタンス、NAS ファイルシステム、OSS バケットを管理する権限を付与します。

    サンプルポリシーを表示

    {
        "Version": "1",
        "Statement": [
            {
                "Action": [
                    "ecs:AttachDisk",
                    "ecs:DetachDisk",
                    "ecs:DescribeDisks",
                    "ecs:CreateDisk",
                    "ecs:ResizeDisk",
                    "ecs:CreateSnapshot",
                    "ecs:DeleteSnapshot",
                    "ecs:CreateAutoSnapshotPolicy",
                    "ecs:ApplyAutoSnapshotPolicy",
                    "ecs:CancelAutoSnapshotPolicy",
                    "ecs:DeleteAutoSnapshotPolicy",
                    "ecs:DescribeAutoSnapshotPolicyEX",
                    "ecs:ModifyAutoSnapshotPolicyEx",
                    "ecs:AddTags",
                    "ecs:DescribeTags",
                    "ecs:DescribeSnapshots",
                    "ecs:ListTagResources",
                    "ecs:TagResources",
                    "ecs:UntagResources",
                    "ecs:ModifyDiskSpec",
                    "ecs:DeleteDisk",
                    "ecs:DescribeInstanceAttribute",
                    "ecs:DescribeInstances"
                ],
                "Resource": ["*"],
                "Effect": "Allow"
            },
            {
                "Action": [
                    "nas:DescribeFileSystems",
                    "nas:DescribeMountTargets",
                    "nas:AddTags",
                    "nas:DescribeTags",
                    "nas:RemoveTags",
                    "nas:CreateFileSystem",
                    "nas:DeleteFileSystem",
                    "nas:ModifyFileSystem",
                    "nas:CreateMountTarget",
                    "nas:DeleteMountTarget",
                    "nas:ModifyMountTarget",
                    "nas:TagResources",
                    "nas:SetDirQuota",
                    "nas:EnableRecycleBin",
                    "nas:GetRecycleBinAttribute"
                ],
                "Resource": ["*"],
                "Effect": "Allow"
            },
            {
                "Action": [
                    "oss:PutBucket",
                    "oss:GetObjectTagging",
                    "oss:ListBuckets",
                    "oss:PutBucketTags",
                    "oss:GetBucketTags",
                    "oss:PutBucketEncryption",
                    "oss:GetBucketInfo"
                ],
                "Resource": ["*"],
                "Effect": "Allow"
            }
        ]
    }
  3. カスタムポリシーを RAM ユーザーにアタッチします。

  4. RAM ユーザー用のAccessKey を作成します。

    警告

    AccessKey ネットワーク制限ポリシーを設定して、信頼されたネットワークからの呼び出しのみに制限することを推奨します。

  5. kube-system namespace に、アクセスキーペアを含むalibaba-addon-secret という名前の Secret を作成します。CSI プラグインは、この Secret を使用して Alibaba Cloud で認証を行います。

    kubectl -n kube-system create secret generic alibaba-addon-secret \
      --from-literal='access-key-id=<your-access-key-id>' \
      --from-literal='access-key-secret=<your-access-key-secret>'

    <your-access-key-id><your-access-key-secret> を実際のアクセスキーペアに置き換えてください。

ステップ 2:CSI プラグインのインストール

csi-plugincsi-provisioner の両方をインストールします。

onectl の使用

アドオンをインストールします:

onectl addon install csi-plugin
onectl addon install csi-provisioner

想定される出力:

Addon csi-plugin, version **** installed.
Addon csi-provisioner, version **** installed.

コンソールの使用

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

  2. クラスター名をクリックします。左側のナビゲーションペインで、[アドオン] をクリックします。

  3. [ボリューム]タブをクリックします。[csi-plugin] カードと [csi-provisioner] カードを見つけ、それぞれのカードで [インストール]をクリックします。

  4. [メッセージ] ダイアログボックスで、バージョンを確認し、[OK] をクリックします。

ステップ 3:ボリュームの使用

CSI プラグインのインストール後、登録済みクラスターでさまざまなボリュームタイプをマウントできます。

ボリュームタイプ トピック
NAS 静的にプロビジョニングされた NAS ボリュームの使用動的にプロビジョニングされた NAS ボリュームの使用
OSS 静的にプロビジョニングされた ossfs 1.0 ボリュームの使用ossfs 1.0 ボリュームの暗号化
ディスク 静的にプロビジョニングされたディスク ボリュームの使用動的にプロビジョニングされたディスク ボリュームの使用

次のステップ

  • CSI アドオンの管理または削除は、ACK コンソールの [アドオン] ページから行うか、onectl を使用します。

  • ACK One フリート管理を使用して、複数の登録済みクラスター間でストレージを管理できます。