Mesos / Marathon - 不为Marathon app提供角色的预留资源

时间:2017-06-07 13:23:30

标签: mesos marathon dcos

我已将奴隶资源分配给特定角色(" 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

1 个答案:

答案 0 :(得分:0)

仅当马拉松以--mesos_role设置开始时才有效。 在问题的上下文中,这应该是:--mesos_role 'app-role'

  
      
  1. 如果您设置--mesos_role其他,Marathon将向Mesos注册此角色 - 它将收到保留资源的优惠   对于此角色,除了未预留的资源外。
  2.   
  3. 如果设置default_accepted_resource_roles *,Marathon会将此默认值应用于所有未明确的AppDefinitions   定义acceptedResourceRoles。由于您的AppDefinition定义了   选项,不会应用默认值(两者都相等)。
  4.   
  5. 如果在AppDefinition中设置“acceptedResourceRoles”:[“”](或者AppDefinition继承默认的“”),Marathon将只会   考虑启动此应用程序的无保留资源。
  6.   

更多:https://mesosphere.github.io/marathon/docs/recipes.html