为了确保访问OSS的请求来自合法的用户或应用程序,并正确初始化OSS Connector for AI/ML,您需要进行相应的配置。
前提条件
已安装OSS Connector。具体操作,请参见安装OSS Connector for AI/ML。
配置访问凭证
-
创建访问凭证配置文件。
mkdir -p /root/.alibabacloud && touch /root/.alibabacloud/credentials -
添加配置并保存。
-
结构体示例:
{ "AccessKeyId": "<Access-key-id>", "AccessKeySecret": "<Access-key-secret>", "SecurityToken": "<Security-Token>", "Expiration": "2024-08-02T15:04:05Z" }具体配置项说明请参见下表。
配置项
是否必填
示例值
说明
AccessKeyId
是
STS.L4aB******************
阿里云账号或者RAM用户的AccessKey ID和AccessKey Secret。
使用临时访问令牌进行权限配置时,请设置为临时访问凭证的AccessKey ID和AccessKey Secret。
AccessKeySecret
是
At32************************
SecurityToken
否
STS.6MC2***************************************
临时访问令牌。当使用从STS获取的临时访问凭证访问OSS时,需要设置此参数。
使用阿里云账号或者RAM用户的AccessKey ID和AccessKey Secret进行权限配置时,此配置应设置为空。
Expiration
否
2024-08-02T15:04:05Z
鉴权信息过期时间,鉴权时间过期后OSS Connector会重新读取鉴权信息,Expiration为空表示永不过期。
使用临时访问令牌进行权限配置时,建议设置具体过期时间。
使用阿里云账号或者RAM用户的AccessKey ID和AccessKey Secret进行权限配置时,此配置应设置为空。
-
使用AccessKey ID和AccessKey Secret作为访问凭证的配置示例:
示例中的
<Access-key-id>、<Access-key-secret>请分别替换为RAM用户的AccessKey ID、AccessKeySecret。如何创建AccessKey ID和AccessKeySecret请参见创建AccessKey。{ "AccessKeyId": "LTAI************************", "AccessKeySecret": "At32************************" } -
使用临时访问凭证的配置示例:
说明在生产环境中长期使用的情况下,为确保数据的安全性,建议采用临时访问授权的方式,以避免直接暴露AK和SK。如果要进行临时访问授权, 需获取临时访问凭证,具体内容请参见使用STS临时访问凭证访问OSS。获取到临时访问凭证后将<Access-key-id>、<Access-key-secret>和<Security-Token>分别替换为临时访问凭证的AccessKey ID、AccessKey Secret和SecurityToken。
{ "AccessKeyId": "STS.L4aB******************", "AccessKeySecret": "wyLTSm*************************", "SecurityToken": "************", "Expiration": "2024-08-15T15:04:05Z" }
-
-
执行
chmod 400 /root/.alibabacloud/credentials命令设置credentials文件只读权限保障AK、SK密钥安全。
配置OSS Connector
-
创建OSS Connector配置文件。
mkdir -p /etc/oss-connector/ && touch /etc/oss-connector/config.json -
添加配置并保存。
正常情况下使用此默认配置即可。
{ "logLevel": 1, "logPath": "/var/log/oss-connector/connector.log", "auditPath": "/var/log/oss-connector/audit.log", "expireTimeSec": 120, "prefetch": { "vcpus": 16, "workers": 16, "maxCacheAdviseGB": -1 }, "datasetConfig": { "prefetchConcurrency": 24, "prefetchWorker": 2 }, "checkpointConfig": { "prefetchConcurrency": 24, "prefetchWorker": 4, "uploadConcurrency": 64 } }具体配置项说明请参见下表;如需进行配置调整,请先仔细阅读说明后再进行操作。
配置项
是否必填
示例值
说明
logLevel
否
1
日志记录级别。默认为INFO级别,实际使用时建议调整为WARN级别。
取值范围为0、1、2、3,其中0表示Debug,1表示INFO,2表示WARN,3表示ERROR。
logPath
否
/var/log/oss-connector/connector.log
connector日志路径。默认路径为
/var/log/oss-connector/connector.log。auditPath
否
/var/log/oss-connector/audit.log
connector IO的审计日志,记录延迟大于100毫秒的读写请求。默认路径为
/var/log/oss-connector/audit.log。expireTimeSec
否
120
访问凭证文件的重新读取间隔(秒)。默认值为120。鉴权信息过期后,OSS Connector按照此间隔重新读取凭证文件。
prefetch
vcpus
否
16
推理场景下预取可使用的vCPU数,默认为16。
workers
否
16
推理场景下预取的工作线程数,默认为16。
maxCacheAdviseGB
否
-1
预取可以使用的内存缓存大小,单位GB。默认值为-1,即不限制。当模型文件大小超过节点可用内存时,建议设置此参数以避免OOM。也可通过环境变量
CONNECTOR_MAX_CACHE_ADVISE_GB设置,环境变量优先级更高。DatasetConfig
prefetchConcurrency
否
24
使用Dataset从OSS预取数据时的并发数,默认为24。
prefetchWorker
否
2
使用Dataset从OSS预取可使用vCPU数,默认为2。
checkpointConfig
prefetchConcurrency
否
24
使用checkpoint read从OSS预取数据时的并发数,默认为24。
prefetchWorker
否
4
使用checkpoint read从OSS预取可使用vCPU数,默认为4。
uploadConcurrency
否
64
使用checkpoint write上传数据时的并发数,默认为64。
配置环境变量
OSS Connector支持通过环境变量进行部分配置。环境变量的优先级高于配置文件中的对应设置。
|
环境变量 |
说明 |
|
OSS_AUTHORIZATION_FILE_PATH |
JSON格式访问凭证文件路径。支持AK/SK和STS临时凭证两种格式。
设置后,优先级高于 |
|
CONNECTOR_CONFIG_PATH |
通过环境变量修改配置文件路径。默认值: |
|
CONNECTOR_UDS_PATH |
Unix域套接字(UDS)文件路径。默认值: |
|
CONNECTOR_MAX_CACHE_ADVISE_GB |
设置预取可以使用的内存缓存大小,单位GB。与配置文件中的 |
相关文档
安装并配置OSS Connector for AI/ML后,您可以:
-
使用OssMapDataset构建适用于随机读取操作的映射式数据集。具体操作,请参见使用OSS中的数据构建适用于随机读取的映射式数据集。
-
使用OssIterableDataset构建适用于流式顺序访问的可迭代式数据集。具体操作,请参见使用OSS中的数据构建适用于流式顺序读取的迭代式数据集。
-
使用OssCheckpoint实现OSS中Checkpoint的读写操作。具体操作,请参见在OSS中存储和访问检查点。
-
使用OSS Connector提升推理场景下的模型部署效率。具体操作,请参见使用OSS Connector for AI/ML提升模型部署效率。
-
使用模型广播功能将模型数据高效分发到多个推理实例。具体操作,请参见模型广播。
-
在Kubernetes中启用Connector功能进行模型推理部署。具体操作,请参见在Kubernetes中启用Connector功能。