Search code examples
mesosmesospheremarathondcos

Persistent volumes on public node


I'm trying to install a containerized app using Marathon to a public slave. It's all working fine until I decide to use persistent volumes. I then get the message

Resident apps may not define acceptedResourceRoles other than "*" (unreserved resources)

I there a work-around for this or am I simply misunderstanding the role of public slaves? I'd like to access this app at some point via service.mydomain.com, hence I thought I'd need a public node.


Solution

  • The message you see, Resident apps may not define acceptedResourceRoles other than "*" (unreserved resources) is admittedly not very helpful and you were on the right track. Effectively, persistent volumes in DC/OS are not allowed on nodes with the role slave_public (the public nodes) and hence you'll need to use Marathon-lb as an edge router (in external mode) to expose the app that uses PV (and schedule it on a private agent).