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

:RDS Custom コンテナーシリーズノードに OSS バケットをマウントする

最終更新日:Nov 09, 2025

この Topic では、kubectl を使用して永続ボリューム (PV) と永続ボリューム要求 (PVC) を作成する方法について説明します。その後、PVC を RDS Custom AI ノードまたは Lingjun ノード上のアプリケーションにマウントできます。

注意事項

RDS Custom AI ノードと Lingjun ノードは、OSS バケットをマウントするためにプレーンテキストの AccessKey のみをサポートします。

ステップ 1: OSS アクセス権限を持つ RAM ユーザーを作成し、AccessKey を取得する

まず、OSS バケットで操作を実行する権限を持つ Resource Access Management (RAM) ユーザーの AccessKey を取得します。

  1. RAM ユーザーを作成する。すでに RAM ユーザーがいる場合は、このステップをスキップできます。

  2. カスタムポリシーを作成する

    必要に応じて、以下の読み取り専用または読み取り/書き込みポリシーを選択できます。mybucket をご使用のバケットの名前に置き換えてください。

    • OSS 読み取り専用ポリシー

      OSS 読み取り専用ポリシードキュメントを展開して表示

      {
          "Statement": [
              {
                  "Action": [
                      "oss:Get*",
                      "oss:List*"
                  ],
                  "Effect": "Allow",
                  "Resource": [
                      "acs:oss:*:*:mybucket",
                      "acs:oss:*:*:mybucket/*"
                  ]
              }
          ],
          "Version": "1"
      }
    • OSS 読み取り/書き込みポリシー

      OSS 読み取り/書き込みポリシードキュメントを展開して表示

      {
          "Statement": [
              {
                  "Action": "oss:*",
                  "Effect": "Allow",
                  "Resource": [
                      "acs:oss:*:*:mybucket",
                      "acs:oss:*:*:mybucket/*"
                  ]
              }
          ],
          "Version": "1"
      }
  3. RAM ユーザーに OSS 権限を付与します。詳細については、「RAM ユーザーに権限を付与する」をご参照ください。

  4. RAM ユーザーの AccessKey を作成します。詳細については、「AccessKey の取得」をご参照ください。

ステップ 2: 静的永続ボリューム (PV) を作成する

次のコマンドを実行して、静的 PV を作成します。

kubectl create -f pv-oss.yaml

次のコードは、静的 PV を作成するためのサンプル oss-csi-model-qwen-inner.yaml ファイルです。

apiVersion: v1
kind: PersistentVolume
metadata:
  name: oss-csi-model-qwen-inner  # PV の一意の名前。
  labels:
    alicloud-pvname: oss-csi-model-qwen-inner  # PV を識別するカスタムタグ。
spec:
  accessModes:
    - ReadWriteMany  # 複数ノードの読み取りと書き込みをサポートします。これは OSS のネイティブ属性です。
  capacity:
    storage: 63Gi     # PV のストレージ容量。これは OSS バケットの容量と一致する必要があります。
  csi:
    driver: ossplugin.csi.alibabacloud.com  # Alibaba Cloud OSS Container Storage Interface (CSI) ドライバー。
    volumeAttributes:
      bucket: model-qwen  # ターゲット OSS バケットの名前。
      path: /Qwen3-32B  # バケット内のマウントパスのプレフィックス (例: /Qwen3-32B フォルダ)。
      url: oss-cn-beijing-internal.aliyuncs.com  # 中国 (北京) リージョンの内部 OSS エンドポイント。
      otherOpts: "-o allow_other"  # マウントオプション: 他のユーザーがボリュームにアクセスできるようにします。
      akId: ******  # Alibaba Cloud AccessKey ID。実際の値に置き換えてください。
      akSecret: *****  # AccessKey Secret。実際の値に置き換えてください。
    volumeHandle: oss-model-qwen-inner  # ボリュームの一意の識別子。
  persistentVolumeReclaimPolicy: Retain  # PV が削除されたときにデータを保持します。これはデフォルトの動作です。
  storageClassName: oss  # 関連付けられた StorageClass の名前。
  volumeMode: Filesystem  # ボリュームをファイルシステムとしてマウントします。

ステップ 3: 永続ボリューム要求 (PVC) を作成する

次のコマンドを実行して PVC を作成します。

kubectl create -f pvc-oss.yaml

次のコードは、PVC を作成するためのサンプル oss-pvc-model-qwen-inner.yaml ファイルです。

apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: oss-pvc-model-qwen-inner  # PVC の名前。
  namespace: default  # 名前空間。
spec:
  accessModes:
    - ReadWriteMany  # PV と同じアクセスモードを要求します。
  resources:
    requests:
      storage: 63Gi  # 要求されたストレージ容量。値は PV 容量以下である必要があります。
  storageClassName: oss  # 関連付けられた StorageClass。
  volumeMode: Filesystem  # ファイルシステムモード。

ステップ 4: Pod をデプロイして PVC をマウントする

次のコマンドを実行して Pod をデプロイし、PVC をマウントします。

kubectl apply -f pod.yaml

次のコードは、Pod をデプロイするためのサンプル sglang-qwen3.yaml ファイルです。

apiVersion: v1
kind: Pod
metadata:
  name: sglang-qwen3  # Pod の名前。
spec:
  containers:
  - command:
    - sh
    - -c
    - echo hello world; sleep infinity;  # テストコマンド。これを実際のビジネスロジックに置き換えてください。
    image: aliclouddb-pub-registry-vpc.cn-beijing.cr.aliyuncs.com/aliclouddb-public/des-ai-nv:25.05-sglang0.4.6.post4-pytorch2.6-cu124-20250513-serverless
    imagePullPolicy: IfNotPresent  # イメージがまだ存在しない場合にのみプルします。
    name: sglang  # コンテナーの名前。
    ports:
    - containerPort: 8000  # コンテナーのリスナーポート。
      name: restful
      protocol: TCP
    resources:
      requests:
        cpu: "80"  
        memory: "300Gi"  
        nvidia.com/gpu: "8"  
      limits:
        cpu: "80"  
        memory: "300Gi" 
        nvidia.com/gpu: "8"  
    volumeMounts:
      - name: oss-volume  # マウント名。これは volumes セクションの名前と一致する必要があります。
        mountPath: "/data"  # コンテナー内のマウントパス。このパスには OSS データが格納されます。
  volumes:
    - name: oss-volume
      persistentVolumeClaim:
        claimName: oss-pvc-model-qwen-inner  # 関連付けられた PVC の名前。
  restartPolicy: Always  # Pod が失敗した場合に再起動します。
  nodeSelector:
    alibabacloud.com/virtual-node: "true"  # Pod を仮想ノードにスケジュールします。
  tolerations:
  - effect: NoSchedule
    key: virtual-kubelet.io/provider
    value: aliclouddb  # 仮想ノードの Taint に対する Toleration。

ステップ 5: Pod を検証する

次のコマンドを実行して、Pod のステータスを表示します。

kubectl get pod sglang-qwen3 -o wide

参考資料

RDS Custom の概要