The problem I am running into is that CoreOS has no package manager, though /opt/bin is read-write (which is where you can put some binaries if you need them). GlusterFS does have to be available on the hosts themselves for gluster to work. Is there a way to make this happen?
GlusterFS would be installed via a container. The concept of "available on the hosts" is slightly mis-aligned. Gluster is actually available via a set of containers.
What you are thinking of as "available on the hosts" more than likely just refers to the set of default namespaces and control groups. When given access to all kernel capabilities the differentiation between the default set of namespaces and a "container" is (really no different than a python virtualenv*.
There are a number of projects which aim to make this easier to work with. Heketi provides an API for managing gluster storage volumes for containers (to include Kubernetes).
I think the easiest path to follow is to use the full Gluster Kubernetes project which provides the container images, the Heketi API, as well as deployment scripts and a set of quick start directions which will allow you to hit the ground running.
*Yes. I'm aware that there is more nuance than just "a python virtualenv". Think of me as your high school physics teacher and I'm telling you that there is nothing smaller in the universe than an atom.