全部產品
Search
文件中心

:RDS Custom容器系列節點掛載OSS

更新時間:Sep 23, 2025

本文介紹RDS Custom容器系列AI節點、靈駿節點如何通過kubectl方式建立儲存卷、儲存聲明並掛載至應用中。

注意事項

RDS Custom容器系列AI節點、靈駿節點掛載OSS僅支援明文AccessKey

步驟一:建立具有OSS存取權限的RAM使用者並擷取AccessKey

您需要首先擷取RAM使用者的AccessKey資訊,以使其擁有OSS Bucket的操作許可權。

  1. 建立RAM使用者,如已建立可跳過。

  2. 建立自訂權限原則

    以下唯讀和讀寫權限策略請根據使用需求選擇,並替換mybucket為您實際建立的Bucket名稱。

    • 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

步驟二:建立靜態卷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  # 阿里雲OSS CSI驅動
    volumeAttributes:
      bucket: model-qwen  # 目標OSS Bucket名稱
      path: /Qwen3-32B  # Bucket內的掛載路徑首碼(如 /Qwen3-32B目錄)
      url: oss-cn-beijing-internal.aliyuncs.com  # OSS 內網Endpoint(北京地區)
      otherOpts: "-o allow_other"  # 掛載選項:允許其他使用者訪問
      akId: ******  # 阿里雲AccessKey ID,替換為真實值
      akSecret: *****  # AccessKey Secret,替換為真實值
    volumeHandle: oss-model-qwen-inner  # Volume的唯一識別碼(需唯一)
  persistentVolumeReclaimPolicy: Retain  # 刪除PV時保留資料(預設行為)
  storageClassName: oss  # 關聯StorageClass名稱
  volumeMode: Filesystem  # 掛載為檔案系統

步驟三:建立儲存聲明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  # 檔案系統模式

步驟四:部署Pod並掛載PVC

執行以下命令,部署Pod並掛載VC。

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"  # 調度到虛擬節點(Vnode)
  tolerations:
  - effect: NoSchedule
    key: virtual-kubelet.io/provider
    value: aliclouddb  # 相容虛擬節點的汙點容忍

步驟五:驗證Pod

執行以下命令,查看Pod狀態。

kubectl get pod sglang-qwen3 -o wide

相關文檔

RDS Custom簡介