角色
角色用于在部署中配置不同类型的服务器。最常见的用途是运行 Web 服务器和作业服务器。
Kamal 预计会存在一个 web
角色,除非你在根配置中设置不同的 primary_role
。
角色配置
角色在服务器键下指定
servers:
简单角色配置
如果不需要角色的自定义配置,则它可以是主机列表。
你可以为自定义环境变量在主机上设置标签(请参阅 环境变量)
web:
- 172.1.0.1
- 172.1.0.2: experiment1
- 172.1.0.2: [ experiment1, experiment2 ]
自定义角色配置
当存在其他要设置的选项时,主机列表将位于 hosts
键下
默认情况下,只有主角色才使用 Traefik,但你可以设置 traefik
进行更改。
你还可以设置要在容器中运行的自定义 cmd,并覆盖根配置中的其他设置。
workers:
hosts:
- 172.1.0.3
- 172.1.0.4: experiment1
traefik: true
cmd: "bin/jobs"
options:
memory: 2g
cpus: 4
healthcheck:
...
logging:
...
labels:
my-label: workers
env:
...
asset_path: /public