技术预览
平台与当前能力
欧拉智算是一个轻量算力控制平面:把平台节点和用户贡献节点汇入资源池,运行受限 Docker 工作负载,并为已有 HTTP Agent 提供健康检查、调用网关与用量观测。
- 容器任务:CPU、内存、超时、重试、取消、实时日志与 NVIDIA 整卡 GPU 请求
- 算力节点:一次性注册令牌、资源心跳、节点审批、信任等级、排空与离线检测
- Agent API:多实例权重、健康检查、普通 HTTP / SSE 转发、调用统计
- 项目配额:CPU/GPU 时间、调用次数、并发任务和项目 API Key
当前边界:GPU 仅支持 NVIDIA 整卡分配;暂不支持 MIG、多机训练、共享 KV Cache、付费结算或多区域高可用。
登录与创建任务
进入 控制台 并使用 E时代通行证登录。登录后会自动创建默认项目和免费配额。
通过 REST API 创建容器任务
curl -X POST "$EULER_URL/api/v1/jobs" \
-H "X-Euler-API-Key: $EULER_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"name": "hello-euler",
"image": "alpine:3.20",
"command": ["sh", "-c", "echo hello from Euler"],
"cpu_milli": 500,
"memory_bytes": 268435456,
"gpu_count": 0,
"timeout_seconds": 300
}'
任务会经历 queued → assigned → running → succeeded/failed 状态。可在控制台查看日志、取消或重试。
托管工作负载
Docker 与 GPU 任务
调度器按 CPU、内存、GPU、区域、节点标签、信任等级和项目归属筛选节点,再按剩余容量评分。
- 容器默认启用
no-new-privileges、移除 Linux capabilities,并限制 PID 数量 - 禁止 privileged、host network、宿主机目录和 Docker socket 挂载
- 任务环境变量使用 AES-GCM 加密,仅下发给平台可信节点
- GPU 任务通过 NVIDIA Container Runtime 的
--gpus count=N执行 - 节点掉线或 Agent 重启时,任务按重试策略重新排队或标记失联
Euler Node Agent
在控制台创建一次性节点令牌,然后在 Linux / Docker 主机启动节点 Agent:
export EULER_CONTROL_PLANE_URL=https://your-euler.example.com
export EULER_ENROLLMENT_TOKEN=euler_enroll_xxx
export EULER_NODE_NAME=my-node
export EULER_NODE_REGION=cn-east-1
./euler-node
节点注册后需管理员批准。平台节点、社区节点和不可信节点采用不同调度策略;用户贡献节点加入公共池前必须经过审核。
安全提示:Node Agent 使用 Docker socket 时等同拥有宿主机 root 权限,应部署在独立节点并限制管理人员。
外部服务接入
外部 Agent API 网关
如果 Agent 已经独立部署,不必迁入容器任务。可在控制台登记 Base URL、健康路径、权重和认证 Header。
curl -X POST "$EULER_URL/api/v1/agents/my-agent/invoke/v1/chat" \
-H "X-Euler-API-Key: $EULER_API_KEY" \
-H "Content-Type: application/json" \
-d '{"message":"hello"}'
网关支持普通 HTTP 和 SSE 流式响应,自动选择同名健康实例,记录延迟、成功率和项目调用量。
鉴权与安全边界
- 控制台使用 OIDC 会话和 HttpOnly Cookie;自动化调用使用项目 API Key
- 节点令牌、项目 API Key 和一次性注册链接只显示一次,数据库仅保存哈希
- 外部 Agent 密钥和任务环境变量加密保存
- 外部 Agent 默认禁止回环、内网、链路本地和云元数据地址,降低 SSRF 风险
- 远程节点必须通过 HTTPS 接入;HTTP 仅允许隔离测试网络
完整接口列表请参考仓库中的 docs/api.md。