SuperAPI AI 工具集

servers

部署与运维

查看项目

更新于 10-15 21:11

技能介绍

用途:在 Kamal 部署中定义目标服务器并划分角色(web、job/worker 主机等),配置来自 config/deploy.yml 的 servers: 块。前提是已有 config/deploy.yml 的 servers: 块,并确认 primary_role 或 allow_empty_roles 是否已设置,以及 .kamal/secrets 是否涉及密钥,然后确认服务器数量、哪些跑 Web 应用、是否有独立工作负载。

主要能力:全部服务器相同时可直接列出主机,自动归入 web 角色;主机可打单个标签或标签列表,标签用于在顶层 env 配置中挂载额外环境变量;复杂部署可定义命名角色,每个角色一个键加主机列表。角色需要额外选项时,把主机列表放到 hosts: 下,可配 cmd(容器内自定义命令)、proxy(启用/禁用/覆盖代理)、options(memory、cpus 等)、logging、labels、env(该角色下不允许标签)、stop_timeout、asset_path,角色级设置会覆盖根配置中的同名设置。默认 web 为主角色,无 web 角色时用 primary_role 指定;可用 allow_empty_roles(默认 false)允许空角色。默认只有主角色使用 kamal-proxy(80/443);主角色可用 proxy: false 禁用,非主角色可 proxy: true 继承根配置或给出选项映射覆盖。

使用方式:简单列表示例为 servers: 下逐行写 IP;打标签如 172.0.0.2: experiments 或 172.0.0.3: [experiments, three];拆角色如 servers: 下 web: 与 workers: 各列主机;带选项的角色例如 workers 下写 hosts:、cmd: "bin/jobs"、stop_timeout: 30、options: memory: 2g / cpus: 4、labels: my-label: workers、asset_path: /public。

适用场景与限制:适合单用途应用的简单部署,以及需要拆分 Web 与后台作业的部署。角色特定 env 中不允许使用标签;完整角色选项参考见 references/role-options.md。资料未提供更多收费、平台或版本信息。