部署DataCache CRD後,您可以建立DataCache提前拉取業務所需的資料,例如AI訓練模型等。本文介紹DataCache的配置參數以及如何建立、查詢和刪除DataCache。
前提條件
叢集中已部署DataCache CRD。具體操作,請參見部署DataCache CRD。
建立DataCache
配置說明
DataCache的YAML配置參數如下:
apiVersion: eci.aliyun.com/v1alpha1
kind: DataCache
metadata:
name: test-url
spec:
bucket: default
path: /demo/url
size: 20
retentionDays: 3
dataSource:
type: URL
options:
url: https://www.example.com
netConfig:
securityGroupId: sg-2ze63v3jtm8e6sy******
vSwitchId: vsw-2ze94pjtfuj9vaym******
參數說明如下:
-
apiVersion:API版本,固定為eci.aliyun.com/v1alpha1。
-
kind:資源類型,固定為DataCache。
-
metadata
-
name:DataCache名稱。
-
-
spec
-
bucket:資料的儲存空間。預設為default,支援自訂。eci-system為ECI保留空間,不可使用。
-
path:資料存放區的路徑。
-
size:DataCache大小。單位為GiB,預設為20 GiB。請根據實際資料量評估所需大小。
-
retentionDays:DataCache保留天數。到期會被清理。預設不到期。
-
dataSource:資料來源,包括資料來源類型type和配置參數options。
資料來源類型
資料來源說明
配置參數
URL
連結地址
-
url:資料下載地址。
-
accessToken:拉取私人資料時,需配置該參數來驗證身份以訪問資料。
HuggingFace或ModelScope
-
repoSource:取值範圍為ModelScope/Model、ModelScope/DataSet、HuggingFace/Model、HuggingFace/DataSet,表示從ModelScope或HuggingFace社區拉模數型或者資料集。
-
repoId:模型ID或資料集ID。
-
revision:版本。預設為main或者master。
-
accessToken:拉取私人資料時,需配置該參數來驗證身份以訪問資料。
NAS
NAS檔案系統
-
server:NAS檔案系統的掛載點。
-
path:掛載子目錄。極速型NAS需要以
/share為首碼,例如/share/path。 -
vers:掛載NAS的NFS協議版本號碼。推薦使用v3,極速型NAS僅支援v3。
-
options:掛載選項。建議使用NAS服務推薦選項,例如
nolock,tcp,noresvport。
OSS
OSS儲存空間
-
bucket:OSS Bucket的名稱。
-
url:OSS的接入網域名稱(Endpoint)。
-
path:掛載子目錄。相對Bucket根目錄的目錄,預設為
/。 -
otherOpts:掛載OSS時支援輸入定製化參數,格式為
-o *** -o ***,例如-o max_stat_cache_size=0 -o allow_other。 -
ramRole:使用RAM角色授權時,對應的RAM角色。
說明請建立RAM角色並為該角色授權。具體操作,請參見建立可信實體為阿里雲服務的RAM角色和管理RAM角色的許可權。
建立時,可信實體類型為阿里云服务,角色類型為普通服务角色,受信服務為云服务器;為角色授權時,請選擇AliyunOSSFullAccess權限原則。
-
akId:使用AccessKey直接授權時,對應的AccessKey ID。具體操作,請參見擷取AccessKey。
-
akSecret:使用AccessKey直接授權時,對應的AccessKey Secret。具體操作,請參見擷取AccessKey。
SNAPSHOT
快照
snapshotId:快照ID。
-
-
netConfig
-
securityGroupId:建立DataCache過程中產生的ECI執行個體所屬的安全性群組ID。
-
vSwitchId:建立DataCache過程中產生的ECI執行個體所屬的交換器ID。
如果需要通過公網拉取資料,在指定的交換器沒有配置SNAT時,支援綁定EIP來拉取公網資料。此時,可在netConfig下添加EIP相關參數。
netConfig: eipInstanceId: eip-2zey74a7zienoxf***** #與eipCreateParam二選一 eipCreateParam: #與eipInstanceId二選一 bandwidth: 5 commonBandwidthPackage: cbwp-2zeukbj916scmj5****** internetChargeType: PayByTraffic publicIpAddressPoolId: pippool-bp187arfugi543y1s**** ISP: BGP-
eipInstanceId:如果指定的交換器沒有配置SNAT,可以綁定已有的可用EIP,以便拉取公網資料。
-
eipCreateParam:如果指定的交換器沒有配置SNAT,且沒有可用的EIP,此時如果想要拉取公網資料,可以配置以下參數建立一個EIP並綁定。
-
bandwidth:EIP頻寬。單位為Mbps。預設為5 Mbps。
-
commonBandwidthPackage:綁定已有的共用頻寬包。更多資訊,請參見共用頻寬。
-
internetChargeType:EIP的計量方式。取值範圍為PayByBandwidth(按頻寬計費)和PayByTraffic(按流量計費)。更多資訊,請參見EIP計費方式。
-
publicIpAddressPoolId:IP位址集區ID。 EIP將從該IP位址集區中分配。 IP位址集區功能預設不開放。如需使用,請在配額中心申請IP位址集區功能權益配額。更多資訊,請參見IP 位址集區。
-
ISP:EIP的線路類型。取值範圍為BGP(預設值)和BGP_PRO。更多資訊,請參見EIP線路類型。
-
-
-
配置樣本
編寫DataCache的YAML設定檔(假設名稱為datacache.yaml),通過kubectl命令即可建立DataCache。
-
全新建立
kubectl create -f datacache.yaml -
更新建立
kubectl apply -f datacache.yaml
URL
-
從連結地址拉取資料
apiVersion: eci.aliyun.com/v1alpha1 kind: DataCache metadata: name: test-url-1 spec: path: /demo/url dataSource: type: URL options: url: https://www.example.com netConfig: securityGroupId: sg-2ze63v3jtm8e6sy****** vSwitchId: vsw-2ze94pjtfuj9vaym****** -
從HuggingFace拉模數型
apiVersion: eci.aliyun.com/v1alpha1 kind: DataCache metadata: name: test-url-2 spec: path: /demo/url dataSource: type: URL options: repoSource: "HuggingFace/Model" repoId: "decapoda-research/llama-7b-hf" netConfig: securityGroupId: sg-2ze63v3jtm8e6sy****** vSwitchId: vsw-2ze94pjtfuj9vaym******
NAS
apiVersion: eci.aliyun.com/v1alpha1
kind: DataCache
metadata:
name: test-nas
spec:
path: /demo/nas
dataSource:
type: NAS
options:
server: "0389a***-nh**.cn-beijing.extreme.nas.aliyuncs.com"
path: "/"
vers: "3"
options: "nolock,tcp,noresvport"
netConfig:
securityGroupId: sg-2ze63v3jtm8e6sy******
vSwitchId: vsw-2ze94pjtfuj9vaym******
OSS
apiVersion: eci.aliyun.com/v1alpha1
kind: DataCache
metadata:
name: test-oss
spec:
path: /demo/oss
dataSource:
type: OSS
options:
bucket: "oss-***"
url: "oss-cn-beijing-internal.aliyuncs.com"
path: "/test"
otherOpts: "-o max_stat_cache_size=0 -o allow_other"
ramRole: "<your RAM Role Name>"
netConfig:
securityGroupId: sg-2ze63v3jtm8e6sy******
vSwitchId: vsw-2ze94pjtfuj9vaym******
SNAPSHOT
apiVersion: eci.aliyun.com/v1alpha1
kind: DataCache
metadata:
name: test-snapshot
spec:
path: /demo/snapshot
dataSource:
type: SNAPSHOT
options:
snapshotId: s-uf6j98q2tvfcjz******
netConfig:
securityGroupId: sg-2ze63v3jtm8e6sy******
vSwitchId: vsw-2ze94pjtfuj9vaym***
管理DataCache
查詢或刪除時,可使用以下任意一個名稱作為資源類型名稱:
-
edc
-
datacache
-
datacaches
-
datacaches.eci.aliyun.com
查詢DataCache
建立DataCache後,您可以根據需要查詢叢集下所有DataCache列表或者查看某個DataCache的詳細資料。
-
查詢叢集下所有DataCache列表
kubectl get edc返回樣本如下,狀態為Available表示可以使用該DataCache。
~$ kubectl get datacache NAME AGE DATACACHEID STATUS PROGRESS BUCKET PATH test-snapshot 3m5s edc-2zef0yo3be9g8… Creating 27% default /demo/snapshot test-url-2 81m edc-2zehgoxuevp3er Available 100% default /demo/url -
查看某個DataCache的詳細資料
kubectl describe edc <edc-name>返回樣本如下,包括DataCache的基本資料、中繼資料、配置、狀態和事件資訊等。
:~$ kubectl describe edc test-url-2 Name: test-url-2 Namespace: Labels: <none> Annotations: <none> API Version: eci.aliyun.com/v1alpha1 Kind: DataCache Metadata: Creation Timestamp: 2023-07-27T08:25:26Z Finalizers: eci.aliyun.com/datacachecontroller Generation: 1 Resource Version: 816839 UID: 70b90647-4915-45d5-a075-f0e3cf2fdcfb Spec: Bucket: default Data Source: Options: Repo Id: decapoda-research/llama-7b-hf Repo Source: HuggingFace/Model Type: URL Net Config: Security Group Id: sg-2zegwszw5xxx V Switch Id: vsw-2zeet2ksxxx Path: /demo/url Size: 20 Status: Data Cache Id: edc-2zehgoxuevpxxx Progress: 100% Snapshot Id: s-2zeib05j5bmxm:xxx Status: Available Events: Type Reason Age From Message ---- ------ ---- ---- ------- Normal Creating 31m datacache-controller Creating dataCache in ECI Normal Creating 31m datacache-controller ECI status: Pending Normal Success 30m datacache-controller Create dataCache in ECI successfully
刪除DataCache
DataCache對應一個快照。保留快照需要支付快照儲存費用。對於不再使用的DataCache,建議您及時刪除。
如果想要刪除某個DataCache,可執行以下命令:
kubectl delete edc <edc-name>