AgenticSpace は、AgenticFS 内にある、単一のエージェントエンドユーザー向けの隔離されたワークスペースです。容量クォータ、ファイル数クォータ、アクセス分離、パフォーマンス分離に対応しています。本トピックでは、コンソールまたは OpenAPI を使用して AgenticSpace を作成、変更、削除する方法について説明します。また、ECS インスタンスまたは Agent サンドボックスに AgenticSpace をマウントする方法についても説明します。
制限事項
AgenticFS ファイルシステムが必要です。現在、AgenticFS ファイルシステムを作成できるのは、許可リストに登録されているアカウントのみです。この機能を使用するには、チケットを送信してください。
1 つの AgenticFS で最大 500,000 の AgenticSpace をサポートします。1 つの AgenticSpace で最大 1 PiB の容量と 10 億個のファイルをサポートします。
パスは名前変更やシンボリックリンクをサポートしていません。ネストされた AgenticSpace はサポートされていません。
Linux 上の NFS v3 のみをサポートします。SMB および Windows はサポートされていません。AgenticSpace は、ECS インスタンスや Container Compute Service (ACS) の Agent サンドボックスなど、NFS v3 をサポートする任意の Linux コンピュートノードにマウントできます。
AgenticSpace の作成
コンソールまたは OpenAPI を使用して AgenticSpace を作成できます。AgenticSpace を作成する際には、パスとクォータを指定する必要があります。次の表に、主要なパラメーターを示します。
パラメーター | 必須 | 説明 |
Path | はい | AgenticSpace のパス。例:/workspace_user001。 |
SizeQuota | はい | 容量クォータ (GiB 単位)。最小値は 1 GiB で、クォータは 1 GiB 単位で増やすことができます。 |
FileCountQuota | はい | ファイル数クォータ。最大値は 10 億です。 |
方法 1:コンソールを使用
NAS コンソールにログインし、対象の AgenticFS ファイルシステムの [AgenticSpace] タブに移動します。
[AgenticSpace の作成] をクリックし、上記の表に従ってパラメーターを指定し、フォームを送信します。
方法 2:OpenAPI を使用
CreateAgenticSpace API を呼び出します。次のコードはリクエストの例です。
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] リストでは、パス、可用性ゾーン、容量のクォータと使用量、ファイル数のクォータと使用量、作成時刻などのフィールドを表示できます。容量とファイル数のクォータを調整するには、対象の AgenticSpace の [操作] 列にある [編集] をクリックします。また、SetAgenticSpaceQuota 操作を呼び出すこともできます。
新しいクォータは、現在の使用量より大きい値にする必要があります。そうでない場合、変更は失敗します。
アクセスポイント
アクセスポイントは AgenticFS の NFS プロトコルエントリポイントであり、マウントターゲット、権限チェック、トラフィック分離を提供します。AgenticFS は、2 つの粒度レベルでアクセスポイントをサポートします。
AgenticFS レベル:AgenticFS のルートディレクトリをターゲットとします。このレベルは、プラットフォーム操作や OpenAPI による AgenticSpace の一括管理など、信頼できるシナリオ向けです。AgenticFS ルートディレクトリのマウントは、現在のバージョンではサポートされていません。
AgenticSpace レベル:アクセスポイントは単一の AgenticSpace をターゲットとします。マウント後、クライアントのビューは対応する AgenticSpace に制限されます。これは、エージェントセッションを起動するための標準的なエントリポイントです。
RAM アクセス権限
アクセスポイントは 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"
}
}
}
]
}他の AgenticSpace への不正アクセスを防ぐため、エージェントアプリケーションやエンドユーザーごとに個別の RAM ロールとアクセスポイントを使用することを推奨します。
Mount an AgenticSpace
Get the mount target from the AgenticSpace list.
On your ECS (Linux) instance, install the NFS client:
# CentOS / Alibaba Cloud Linux sudo yum install -y nfs-utils # Ubuntu / Debian sudo apt-get install -y nfs-commonRun the mount command and verify the result by using the
df -hcommand:sudo mount -t ALINAS -o tls,vers=3,ram <mount-target>:/ /mnt
In the current version, only AgenticSpaces can be mounted. Mounting the AgenticFS root directory is not supported.
AgenticSpace のマウント
AgenticSpace は、2 つの典型的なシナリオでマウントできます。ALINAS クライアントを使用して ECS インスタンスに直接マウントする方法、または Agent サンドボックス (SandboxClaim) を使用して ACS クラスターに CSI ボリュームとしてマウントする方法です。どちらのシナリオでも、「アクセスポイント」セクションに記載の RAM 権限が必要です。また、コンピュートノードは AgenticFS アクセスポイントと同じ VPC 内にある必要があります。
注:現在のバージョンでは、AgenticSpace のみがマウント可能です。AgenticFS ルートディレクトリのマウントはサポートされていません。
シナリオ 1: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 = <YourAccessKeyID> accessKeySecret = <YourAccessKeySecret> EOFマウントコマンドを実行し、
df -hコマンドを使用して結果を確認します。sudo mount -t ALINAS -o tls,vers=3,ram <mount-target>:/ /mnt/agenticspace
シナリオ 2:CSI を介した Agent サンドボックスへのマウント
このシナリオは、Agent サンドボックス (SandboxSet/SandboxClaim) を使用して ACS クラスターで起動されるコンテナ化されたエージェントインスタンスに適用されます。AgenticSpace は、サンドボックスコンテナ内の永続的なワークスペースとしてマウントされます。
前提条件
アクティブな ACS クラスターが AgenticFS アクセスポイントと同じ VPC にあること。
ACS クラスターに
ack-agent-sandbox-controllerコンポーネントがインストールされており、SandboxSet を使用してサンドボックスウォームプールが設定されていること。詳細については、Agent サンドボックスの作成に関する Container Service のドキュメントをご参照ください。マウント用の RAM ユーザーに、「アクセスポイント」セクションのサンプルポリシーに従って権限が付与されていること。
ステップ 1:Secret と PersistentVolume (PV) の作成
RAM ユーザーの AK/SK を Secret に保存し、AgenticSpace アクセスポイントを指す PersistentVolume (PV) を作成します。
apiVersion: v1
kind: Secret
metadata:
name: nas-secret
namespace: sandbox-system
stringData:
akId: <YourAccessKeyID>
akSecret: <YourAccessKeySecret>
---
apiVersion: v1
kind: PersistentVolume
metadata:
name: nas-agenticspace-pv
labels:
alicloud-pvname: nas-agenticspace-pv
spec:
capacity:
storage: 500 Gi
accessModes:
- ReadWriteMany
csi:
driver: nasplugin.csi.alibabacloud.com
volumeHandle: nas-agenticspace-pv
nodePublishSecretRef:
name: nas-secret
namespace: sandbox-system
volumeAttributes:
server: "<AgenticSpace_access_point_domain>"
path: "/"
vers: "3"
mountprotocol: "alinas"
filesystemtype: "standard"
mountOptions:
- tls,ram
- vers=3設定を適用した後、kubectl get pv を実行して PV のステータスが Available であることを確認します。
ステップ 2: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"ステップ 3:マウントの確認
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 workspaceAgenticSpace の削除
AgenticSpace を削除する前に、すべてのアクセスポイントをアンマウントし、データをバックアップしてください。この操作は元に戻せません。
AgenticSpace を削除するには、管理リストで対象のスペースの [アクション] 列にある [削除] をクリックするか、DeleteAgenticSpace 操作を呼び出します。AgenticSpace が削除されると、同じパスに新しい AgenticSpace を作成できます。
よくある質問
マウント時に "access denied" エラーが表示されるのはなぜですか?
ECS インスタンスと AgenticFS が同じ VPC 内にあることを確認してください。
データ書き込み時に "no space" エラーが表示されるのはなぜですか?
このエラーは、容量またはファイル数クォータの上限に達した場合に発生します。これを解決するには、クォータを増やすか、AgenticSpace 内のファイルを削除してスペースを解放します。
AgenticSpace を異なる AgenticFS ファイルシステム間で移行できますか?これは現在サポートされていません。新しい AgenticSpace を作成し、アプリケーションレイヤーでデータをコピーする必要があります。
SMB または Windows を使用して AgenticSpace にアクセスできますか?
AgenticFS は現在、NFS v3 プロトコルと Linux クライアントのみをサポートしています。