AgenticSpace是AgenticFS中為單個Agent終端使用者指派的獨立工作空間,支援容量配額、檔案數配額、訪問隔離與效能隔離。本文介紹如何通過控制台或OpenAPI建立、修改、刪除AgenticSpace,以及在ECS或Agent Sandbox中掛載AgenticSpace。
使用限制
已建立AgenticFS檔案系統。當前AgenticFS僅支援白名單建立,如需使用,請提交工單申請。
單個AgenticFS最多50萬個AgenticSpace;單個AgenticSpace上限1 PiB容量、10億檔案。
路徑不支援重新命名、軟連結,不支援AgenticSpace嵌套。
僅支援NFS v3(Linux),不支援SMB與Windows。支援ECS、ACS Agent Sandbox等支援NFS v3掛載的Linux計算節點。
建立AgenticSpace
支援控制台和OpenAPI兩種方式。建立時需指定路徑與配額,下表為關鍵參數。
參數 | 必填 | 說明 |
Path | 是 | AgenticSpace路徑,例如 /workspace_user001。 |
SizeQuota | 是 | 容量配額,單位GiB,最小1 GiB,按1 GiB步長擴容。 |
FileCountQuota | 是 | 檔案數配額,最大10億。 |
方式一:控制台
登入NAS控制台,進入目標AgenticFS檔案系統的AgenticSpace頁簽。
單擊建立AgenticSpace,按上表填寫參數後提交。
方式二:OpenAPI
調用CreateAgenticSpace介面,請求樣本:
POST /AgenticSpace/Create HTTP/1.1
Host: nas.aliyuncs.com
Content-Type: application/json
{
"FileSystemId":"031*******",
"FileSystemPath":"/test5/",
"RegionId":"cn-shanghai",
"Azone":"cn-shanghai-f",
"Quota.SizeLimit":"110595407872",
"Quota.FileCountLimit":100004
}查看與修改配額
在AgenticSpace列表中可查看路徑、可用性區域、容量配額/已使用、檔案數配額/已使用、建立時間等欄位。單擊目標行操作列的編輯調整容量、檔案數配額;也可調用SetAgenticSpaceQuota介面。
新配額必須高於當前已使用值,否則修改失敗。
存取點(AccessPoint)
存取點是AgenticFS的NFS協議訪問入口,承擔掛載定址、許可權校正與流量隔離。AgenticFS的存取點支援兩種粒度:
AgenticFS粒度:存取點指向AgenticFS根,用於平台營運、批量管理AgenticSpace等可信情境。目前的版本AgenticFS根目錄暫不支援掛載,僅用於OpenAPI管控調用。
AgenticSpace粒度:存取點指向單個AgenticSpace,掛載後視圖被限制在對應AgenticSpace內,是Agent會話拉起的標準入口。
RAM訪問授權
存取點支援基於RAM的存取原則,用於控制不同應用、不同RAM使用者/角色對AgenticFS與AgenticSpace的存取範圍。建議為RAM子帳號授予 nas:ClientMount 許可權,並通過 nas:AccessPointArn 條件限定可掛載的存取點。樣本策略:
{
"Version": "1",
"Statement": [
{
"Effect": "Allow",
"Action": [
"nas:ClientMount"
],
"Resource": "*",
"Condition": {
"StringEquals": {
"nas:AccessPointArn": "acs:nas:*:*:accesspoint/ap-xxxxxx"
}
}
}
]
}建議為不同Agent應用、不同終端使用者使用相互隔離的RAM角色與存取點,避免越權訪問其他AgenticSpace。
掛載AgenticSpace
在AgenticSpace列表中擷取掛載地址。
在ECS(Linux)安裝NFS用戶端:
# CentOS / Alibaba Cloud Linux sudo yum install -y nfs-utils # Ubuntu / Debian sudo apt-get install -y nfs-common執行掛載命令,並通過df -h驗證:
sudo mount -t alinas -o tls,vers=3,ram <access-point>:/ /mnt
目前的版本僅支援掛載AgenticSpace,AgenticFS根目錄暫不支援掛載。
掛載AgenticSpace
AgenticSpace支援兩種典型掛載情境:在ECS上通過ALINAS用戶端直接掛載,或在ACS叢集中通過Agent Sandbox(SandboxClaim)以CSI方式掛載。兩種情境均需先完成上文 存取點(AccessPoint) 的RAM授權,且計算節點需與AgenticFS存取點在同一VPC。
說明 目前的版本僅支援掛載AgenticSpace,AgenticFS根目錄暫不支援掛載。
情境一:在ECS上掛載
在AgenticSpace列表中擷取掛載地址。掛載地址即對應AgenticSpace存取點的NFS網域名稱,掛載後視圖自動限制在該AgenticSpace內。
在ECS(Linux)安裝NFS用戶端:
# CentOS / Alibaba Cloud Linux sudo yum install -y nfs-utils # Ubuntu / Debian sudo apt-get install -y nfs-common配置RAM AK/SK憑證(用於存取點鑒權):
sudo mkdir -p /etc/aliyun/alinas sudo tee /etc/aliyun/alinas/.credentials > /dev/null <<EOF [NASCredentials] accessKeyID = <子帳號AK> accessKeySecret = <子帳號SK> EOF執行掛載命令,並通過 df -h 驗證:
sudo mount -t alinas -o tls,vers=3,ram <掛載地址>:/ /mnt/agenticspace
情境二:在Agent Sandbox中通過CSI掛載
適用於在ACS叢集中通過Agent Sandbox(SandboxSet/SandboxClaim)拉起的容器化Agent執行個體,將AgenticSpace作為持久化Workspace掛載到Sandbox容器。
前置條件
已開通容器計算服務ACS並建立ACS叢集,叢集與AgenticFS存取點在同一VPC。
已在ACS叢集安裝
ack-agent-sandbox-controller組件,並通過SandboxSet完成沙箱預熱池配置。詳情請參見Container Service文檔建立Agent Sandbox。用於掛載的RAM子帳號已按上文存取點(AccessPoint)中的策略樣本完成授權。
步驟一:建立Secret與PV
將子帳號AK/SK寫入Secret,並建立指向AgenticSpace存取點的PV:
apiVersion: v1
kind: Secret
metadata:
name: nas-secret
namespace: sandbox-system
stringData:
akId: <子帳號AK>
akSecret: <子帳號SK>
---
apiVersion: v1
kind: PersistentVolume
metadata:
name: nas-agenticspace-pv
labels:
alicloud-pvname: nas-agenticspace-pv
spec:
capacity:
storage: 500Gi
accessModes:
- ReadWriteMany
csi:
driver: nasplugin.csi.alibabacloud.com
volumeHandle: nas-agenticspace-pv
nodePublishSecretRef:
name: nas-secret
namespace: sandbox-system
volumeAttributes:
server: "<AgenticSpace存取點網域名稱>"
path: "/"
vers: "3"
mountprotocol: "alinas"
filesystemtype: "standard"
mountOptions:
- tls,ram
- vers=3應用後執行 kubectl get pv,確認PV狀態為 Available。
步驟二:通過SandboxClaim掛載
在SandboxClaim中通過 dynamicVolumesMount 引用上一步建立的PV,並指定容器內掛載路徑:
apiVersion: agents.kruise.io/v1alpha1
kind: SandboxClaim
metadata:
name: code-interpreter-claim
namespace: default
spec:
templateName: code-interpreter # SandboxSet 名稱
replicas: 1
claimTimeout: 5m
ttlAfterCompleted: 15m
dynamicVolumesMount:
- pvName: nas-agenticspace-pv
mountPath: "/workspace"步驟三:驗證掛載結果
查看SandboxClaim對應的Pod,進入容器驗證掛載路徑:
kubectl get sandbox -n default -l agents.kruise.io/claim-name=code-interpreter-claim
kubectl -n default exec -it <sandbox-pod-name> -- sh
df -h | grep workspace刪除AgenticSpace
刪除前需卸載所有存取點並備份資料,刪除操作不可恢複。
在AgenticSpace管理列表中單擊目標行操作列的刪除,或調用DeleteAgenticSpace介面。刪除完成後,原路徑可重新建立AgenticSpace。
常見問題
掛載時返回 access denied?
檢查ECS與AgenticFS是否在同一VPC。
寫入返回 no space?
已達到容量或檔案數配額上限。通過修改配額擴容,或清理AgenticSpace中的檔案。
是否支援跨AgenticFS遷移AgenticSpace?
目前的版本不支援。需先建立新AgenticSpace,再通過應用程式層複製資料。
能否使用SMB或Windows訪問?
不支援。AgenticFS當前僅支援NFS v3協議與Linux用戶端。