創(chuàng)建和管理DataCache
部署DataCache CRD后,您可以創(chuàng)建DataCache提前拉取業(yè)務(wù)所需的數(shù)據(jù),例如AI訓(xùn)練模型等。本文介紹DataCache的配置參數(shù)以及如何創(chuàng)建、查詢和刪除DataCache。
前提條件
集群中已部署DataCache CRD。具體操作,請(qǐng)參見部署DataCache CRD。
創(chuàng)建DataCache
配置說明
DataCache的YAML配置參數(shù)如下:
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******
參數(shù)說明如下:
apiVersion:API版本,固定為eci.aliyun.com/v1alpha1。
kind:資源類型,固定為DataCache。
metadata
name:DataCache名稱。
spec
bucket:數(shù)據(jù)的存儲(chǔ)空間。默認(rèn)為default,支持自定義。eci-system為ECI保留空間,不可使用。
path:數(shù)據(jù)存儲(chǔ)的路徑。
size:DataCache大小。單位為GiB,默認(rèn)為20 GiB。請(qǐng)根據(jù)實(shí)際數(shù)據(jù)量評(píng)估所需大小。
retentionDays:DataCache保留天數(shù)。過期會(huì)被清理。默認(rèn)不過期。
dataSource:數(shù)據(jù)源,包括數(shù)據(jù)源類型type和配置參數(shù)options。
數(shù)據(jù)源類型
數(shù)據(jù)來源說明
配置參數(shù)
URL
鏈接地址
url:數(shù)據(jù)下載地址。
accessToken:拉取私有數(shù)據(jù)時(shí),需配置該參數(shù)來驗(yàn)證身份以訪問數(shù)據(jù)。
HuggingFace或ModelScope
repoSource:取值范圍為ModelScope/Model、ModelScope/DataSet、HuggingFace/Model、HuggingFace/DataSet,表示從ModelScope或HuggingFace社區(qū)拉取模型或者數(shù)據(jù)集。
repoId:模型ID或數(shù)據(jù)集ID。
revision:版本。默認(rèn)為main或者master。
accessToken:拉取私有數(shù)據(jù)時(shí),需配置該參數(shù)來驗(yàn)證身份以訪問數(shù)據(jù)。
NAS
NAS文件系統(tǒng)
server:NAS文件系統(tǒng)的掛載點(diǎn)。
path:掛載子目錄。極速型NAS需要以
/share
為前綴,例如/share/path
。vers:掛載NAS的NFS協(xié)議版本號(hào)。推薦使用v3,極速型NAS僅支持v3。
options:掛載選項(xiàng)。建議使用NAS服務(wù)推薦選項(xiàng),例如
nolock,tcp,noresvport
。
OSS
OSS存儲(chǔ)空間
bucket:OSS Bucket的名稱。
url:OSS的接入域名(Endpoint)。
path:掛載子目錄。相對(duì)Bucket根目錄的目錄,默認(rèn)為
/
。otherOpts:掛載OSS時(shí)支持輸入定制化參數(shù),格式為
-o *** -o ***
,例如-o max_stat_cache_size=0 -o allow_other
。ramRole:使用RAM角色授權(quán)時(shí),對(duì)應(yīng)的RAM角色。
說明請(qǐng)創(chuàng)建RAM角色并為該角色授權(quán)。具體操作,請(qǐng)參見創(chuàng)建可信實(shí)體為阿里云服務(wù)的RAM角色和為RAM角色授權(quán)。
創(chuàng)建時(shí),可信實(shí)體類型為阿里云服務(wù),角色類型為普通服務(wù)角色,受信服務(wù)為云服務(wù)器;為角色授權(quán)時(shí),請(qǐng)選擇AliyunOSSFullAccess權(quán)限策略。
akId:使用AccessKey直接授權(quán)時(shí),對(duì)應(yīng)的AccessKey ID。具體操作,請(qǐng)參見獲取AccessKey。
akSecret:使用AccessKey直接授權(quán)時(shí),對(duì)應(yīng)的AccessKey Secret。具體操作,請(qǐng)參見獲取AccessKey。
SNAPSHOT
快照
snapshotId:快照ID。
netConfig
securityGroupId:創(chuàng)建DataCache過程中生成的ECI實(shí)例所屬的安全組ID。
vSwitchId:創(chuàng)建DataCache過程中生成的ECI實(shí)例所屬的交換機(jī)ID。
如果需要通過公網(wǎng)拉取數(shù)據(jù),在指定的交換機(jī)沒有配置SNAT時(shí),支持綁定EIP來拉取公網(wǎng)數(shù)據(jù)。此時(shí),可在netConfig下添加EIP相關(guān)參數(shù)。
netConfig: eipInstanceId: eip-2zey74a7zienoxf***** #與eipCreateParam二選一 eipCreateParam: #與eipInstanceId二選一 bandwidth: 5 commonBandwidthPackage: cbwp-2zeukbj916scmj5****** internetChargeType: PayByTraffic publicIpAddressPoolId: pippool-bp187arfugi543y1s**** ISP: BGP
eipInstanceId:如果指定的交換機(jī)沒有配置SNAT,可以綁定已有的可用EIP,以便拉取公網(wǎng)數(shù)據(jù)。
eipCreateParam:如果指定的交換機(jī)沒有配置SNAT,且沒有可用的EIP,此時(shí)如果想要拉取公網(wǎng)數(shù)據(jù),可以配置以下參數(shù)創(chuàng)建一個(gè)EIP并綁定。
bandwidth:EIP帶寬。單位為Mbps。默認(rèn)為5 Mbps。
commonBandwidthPackage:綁定已有的共享帶寬包。更多信息,請(qǐng)參見共享帶寬。
internetChargeType:EIP的計(jì)量方式。取值范圍為PayByBandwidth(按帶寬計(jì)費(fèi))和PayByTraffic(按流量計(jì)費(fèi))。更多信息,請(qǐng)參見EIP計(jì)費(fèi)方式。
publicIpAddressPoolId:IP地址池ID。 EIP將從該IP地址池中分配。 IP地址池功能默認(rèn)不開放。如需使用,請(qǐng)?jiān)谂漕~中心申請(qǐng)IP地址池功能權(quán)益配額。更多信息,請(qǐng)參見創(chuàng)建和管理IP地址池。
ISP:EIP的線路類型。取值范圍為BGP(默認(rèn)值)和BGP_PRO。更多信息,請(qǐng)參見EIP線路類型。
配置示例
編寫DataCache的YAML配置文件(假設(shè)名稱為datacache.yaml),通過kubectl命令即可創(chuàng)建DataCache。
全新創(chuàng)建
kubectl create -f datacache.yaml
更新創(chuàng)建
kubectl apply -f datacache.yaml
各類型DataCache的YAML示例如下:
URL
從鏈接地址拉取數(shù)據(jù)
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
查詢或刪除時(shí),可使用以下任意一個(gè)名稱作為資源類型名稱:
edc
datacache
datacaches
datacaches.eci.aliyun.com
查詢DataCache
創(chuàng)建DataCache后,您可以根據(jù)需要查詢集群下所有DataCache列表或者查看某個(gè)DataCache的詳細(xì)信息。
查詢集群下所有DataCache列表
kubectl get edc
返回示例如下,狀態(tài)為Available表示可以使用該DataCache。
查看某個(gè)DataCache的詳細(xì)信息
kubectl describe edc <edc-name>
返回示例如下,包括DataCache的基本信息、元數(shù)據(jù)、配置、狀態(tài)和事件信息等。
刪除DataCache
DataCache對(duì)應(yīng)一個(gè)快照。保留快照需要支付快照存儲(chǔ)費(fèi)用。對(duì)于不再使用的DataCache,建議您及時(shí)刪除。
如果想要?jiǎng)h除某個(gè)DataCache,可執(zhí)行以下命令:
kubectl delete edc <edc-name>