使用 Hashicorp 的 Nomad,根据 ACL 策略规范文档的命名空间规则部分中的文档,我配置了具有以下功能的策略:
namespace "default" {
policy = "read"
capabilities = ["alloc-lifecycle", "dispatch-job", "submit-job", "read-logs"]
}
node {
policy = "read"
}
agent {
policy = "read"
}
operator {
policy = "read"
}
plugin {
policy = "read"
}
我希望使用此策略创建的用户令牌能够在 Web UI 中执行以下操作:
不幸的是,用户只能:
应添加哪些功能才能使用户还:
从您发布的链接https://developer.hashicorp.com/nomad/docs/other-specifications/acl-policy:
submit-job - 允许提交、更新或停止作业。
alloc-lifecycle - 允许操作员手动停止单独的分配。
还有:
dispatch-job - 允许调度作业
scale-job:允许放大或缩小作业。
能够在 Web UI 中执行以下操作:
“停止作业”、“发布新作业”、“开始作业”等所有操作都是通过阅读作业规范、修改它并将其发回来完成的。您甚至可以在 UI 中看到它 - 当您“停止作业”时,会在 json 规范中使用
"Stop": true
发布该作业的新版本。
除了
Stop an allocation
和 Restart an allocation
- 这些都是通过单独的 API 调用完成的。 https://developer.hashicorp.com/nomad/api-docs/allocations#stop-allocation
不可能“开始分配”。这是由调度程序自动完成的。