我已将奴隶资源分配给特定角色(" app-role" ),将--default_role="app-role"
参数设置为ExecStart
以用于奴隶服务({ {1}})。接下来我重新启动了奴隶代理:
/etc/systemd/system/dcos-mesos-slave.service
并通过以下方式验证:sudo systemctl daemon-reload
sudo systemctl stop dcos-mesos-slave.service
sudo rm -f /var/lib/mesos/slave/meta/slaves/latest
sudo systemctl start dcos-mesos-slave.service
。
之后我预计带有acceptedResourceRoles属性的马拉松应用程序将只接收这些特定的资源提供,但它不会发生(应用程序仍处于等待状态)。
为什么马拉松没有收到它?如何才能使其发挥作用?
curl master.mesos/mesos/slaves
答案 0 :(得分:0)
仅当马拉松以--mesos_role
设置开始时才有效。
在问题的上下文中,这应该是:--mesos_role 'app-role'
。
- 如果您设置--mesos_role其他,Marathon将向Mesos注册此角色 - 它将收到保留资源的优惠 对于此角色,除了未预留的资源外。
- 如果设置default_accepted_resource_roles *,Marathon会将此默认值应用于所有未明确的AppDefinitions 定义acceptedResourceRoles。由于您的AppDefinition定义了 选项,不会应用默认值(两者都相等)。
- 如果在AppDefinition中设置“acceptedResourceRoles”:[“”](或者AppDefinition继承默认的“”),Marathon将只会 考虑启动此应用程序的无保留资源。
醇>