While Docker Swarm is great for keeping containers running (and restarting those that fail), it does nothing for persistent storage. This means if you actually want your containers to keep any data persistent across restarts (hint: you do!), you need to provide shared storage to every docker node.
Yes, you’re right. /var/lib/ceph doesn’t exist on a CentOS Atomic host, since the server components of Ceph aren’t included. (Just /etc/ceph in preparation for a client install).
Well, Ceph 12.2.0 is the most recent Ceph build (they just announced 12.2.1 a few days ago, a minor bugfix version).
The problem, as I see, is that CentOS Atomic 7 includes too-old Ceph client packages. When I wrote this recipe, Ceph was on v11, and there was no compatibility issue with CentOS Atomic.
If the workaround works, I’d stick with it. When Atomic eventually catches up, you could remove the workaround, but it won’t impact your use case.
Aah, yes. Getting the keyring will still be required. You’ll need it when you mount cephFS via MDS.
I think there may be a way to change CentOS Atomic, but since it’s designed to be immutable, it’s a PITA. I haven’t done it personally. Something about adding overlays.
A safer workaround might be to use an older version of the ceph container, anything from version 11 should do. You’d have to blow away your MONs and recreate them, but if you don’t have any OSDs yet, that’s probably not a big deal?
Okay, I cleaned everything and installed the kraken docker image. The keyring command works fine as you expected. My question is do I need to run that command on each node?