為了確保訪問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功能。