[Gluster-devel] Announcing Gluster for Container Storage (GCS)
joe at julianfamily.org
Thu Aug 23 20:54:29 UTC 2018
Personally, I'd like to see the glusterd service replaced by a k8s native controller (named "kluster").
I'm hoping to use this vacation I'm currently on to write up a design doc.
On August 23, 2018 12:58:03 PM PDT, Michael Adam <obnox at samba.org> wrote:
>On 2018-07-25 at 06:38 -0700, Vijay Bellur wrote:
>> Hi all,
>Thanks for announcing this to the public and making everyone
>more aware of Gluster's focus on container storage!
>I would like to add an additional perspective to this,
>giving some background about the history and origins:
>Integrating Gluster with kubernetes for providing
>persistent storage for containerized applications is
>not new. We have been working on this since more than
>two years now, and it is used by many community users
>and and many customers (of Red Hat) in production.
>The original software stack used heketi
>(https://github.com/heketi/heketi) as a high level service
>interface for gluster to facilitate the easy self-service for
>provisioning volumes in kubernetes. Heketi implemented some ideas
>that were originally part of the glusterd2 plans already in a
>separate, much more narrowly scoped project to get us started
>with these efforts in the first place, and also went beyond those
>original ideas. These features are now being merged into
>glusterd2 which will in the future replace heketi in the
>container storage stack.
>We were also working on kubernetes itself, writing the
>privisioners for various forms of gluster volumes in kubernets
>proper (https://github.com/kubernetes/kubernetes) and also the
>external storage repo
>Those provisioners will eventually be replaced by the mentioned
>csi drivers. The expertise of the original kubernetes
>development is now flowing into the CSI drivers.
>The gluster-containers repository was created and used
>for this original container-storage effort already.
>The mentioned https://github.com/gluster/gluster-kubernetes
>repository was not only the place for storing the deployment
>artefacts and tools, but it was actually intended to be the
>upstream home of the gluster-container-storage project.
>In this view, I see the GCS project announced here
>as a GCS version 2. The original first version,
>even though never officially announced that widely in a formal
>introduction like this, and never given a formal release
>or version number (let me call it version one), was the
>software stack described above and homed at the
>gluster-kubernetes repository. If you look at this project
>(and heketi), you see that it has a nice level of popularity.
>I think we should make use of this traction instead of
>ignoring the legacy, and turn gluster-kubernetes into the
>home of GCS (v2). In my view, GCS (v2) will be about:
>* replacing some of the components with newer, i.e.
> - i.e. glusterd2 instead of the heketi and glusterd1 combo
> - csi drivers (the new standard) instead of native
> kubernetes plugins
>* adding the operator feature,
> (even though we are currently also working on an operator
> for the current stack with heketi and traditional gluster,
> since this will become important in production before
> this v2 will be ready.)
>These are my 2cents on this topic.
>I hope someone finds them useful.
>I am very excited to (finally) see the broader gluster
>community getting more aligned behind the idea of bringing
>our great SDS system into the space of containers! :-)
>Cheers - Michael
>> We would like to let you know that some of us have started focusing
>> initiative called ‘Gluster for Container Storage’ (in short GCS). As
>> now, one can already use Gluster as storage for containers by making
>> different projects available in github repositories associated with
>> <https://github.com/gluster> & Heketi
>> The goal of the GCS initiative is to provide an easier integration of
>> projects so that they can be consumed together as designed. We are
>> primarily focused on integration with Kubernetes (k8s) through this
>> Key projects for GCS include:
>> Glusterd2 (GD2)
>> Repo: https://github.com/gluster/glusterd2
>> The challenge we have with current management layer of Gluster
>> is that it is not designed for a service oriented architecture.
>> overcame this limitation and made Gluster consumable in k8s by
>> all the necessary hooks needed for supporting Persistent Volume
>> Glusterd2 provides a service oriented architecture for volume &
>> management. Gd2 also intends to provide many of the Heketi
>> needed by Kubernetes natively. Hence we are working on merging Heketi
>> gd2 and you can follow more of this action in the issues associated
>> the gd2 github repository.
>> Repo: https://github.com/gluster/gluster-block
>> This project intends to expose files in a gluster volume as block
>> Gluster-block enables supporting ReadWriteOnce (RWO) PVCs and the
>> corresponding workloads in Kubernetes using gluster as the underlying
>> storage technology.
>> Gluster-block is intended to be consumed by stateful RWO applications
>> databases and k8s infrastructure services like logging, metrics etc.
>> gluster-block is more preferred than file based Persistent Volumes in
>> for stateful/transactional workloads as it provides better
>> consistency guarantees.
>> anthill / operator
>> Repo: https://github.com/gluster/anthill
>> This project aims to add an operator for Gluster in Kubernetes.,
>> is relatively new, there are areas where you can contribute to make
>> operator experience better (please refer to the list of issues). This
>> project intends to make the whole Gluster experience in k8s much
>> by automatic management of operator tasks like installation, rolling
>> upgrades etc.
>> Repo: http://github.com/gluster/gluster-csi-driver
>> This project will provide CSI (Container Storage Interface) compliant
>> drivers for GlusterFS & gluster-block in k8s.
>> Repo: https://github.com/gluster/gluster-kubernetes
>> This project is intended to provide all the required installation and
>> management steps for getting gluster up and running in k8s.
>> Repo: https://github.com/gluster/glusterfs
>> GlusterFS is the main and the core repository of Gluster. To support
>> storage in container world, we don’t need all the features of
>> Hence, we would be focusing on a stack which would be absolutely
>> in k8s. This would allow us to plan and execute tests well, and also
>> provide users with a setup which works without too many options to
>> Notice that glusterfs default volumes would continue to work as of
>> the translator stack which is used in GCS will be much leaner and
>> work optimally in k8s.
>> Repo: https://github.com/gluster/gluster-prometheus
>> As k8s ecosystem provides its own native monitoring mechanisms, we
>> to have this project be the placeholder for required monitoring
>> The scope of this project is currently WIP and we welcome your inputs
>> shape the project.
>> More details on this can be found at:
>> *Repo: https://github.com/gluster/gluster-containers
>> <https://github.com/gluster/gluster-containers>This repository
>> container specs / Dockerfiles that can be used with a container
>> like cri-o & docker.Note that this is not an exhaustive or final list
>> projects involved with GCS. We will continue to update the project
>> depending on the new requirements and priorities that we discover in
>> *We welcome you to join this journey by looking up the repositories
>> contributing to them. As always, we are happy to hear your thoughts
>> this initiative and please stay tuned as we provide periodic updates
>> GCS here!Regards,*
>> *(on behalf of Gluster maintainers @ Red Hat)*
>> Gluster-devel mailing list
>> Gluster-devel at gluster.org
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the Gluster-devel