Atin Mukherjee
2018-10-10 02:56:36 UTC
== Overview
Today, we are announcing the availability of GCS (Gluster Container
Storage) 0.1. This initial release is designed to provide a platform for
community members to try out and provide feedback on the new Gluster
container storage stack. This new stack is a collaboration across a number
of repositories, currently including the main GCS repository [1], core
glusterfs [2], glusterd2 [3], and gluster-csi-driver [4].
== Getting started
The GCS repository provides a VM-based (Vagrant) environment that makes it
easy to install and take GCS for a test-drive. See
https://github.com/gluster/gcs/tree/master/deploy#local-cluster-using-vagrant
for a set of instructions to bring up a multi-node cluster with GCS
installed. The Ansible-based deploy scripts create a Kubernetes cluster
using kubespray, then deploy the GCS components. These playbooks can also
be used to bring up GCS on other Kubernetes clusters as well.
== Current features
This is the initial release of the GCS stack. It allows dynamic
provisioning of persistent volumes using the CSI interface. Supported
features include:
-
1x3 (3-way replicated) volumes
-
GCS should be able to recover from restarts of any individual
GCS-related pod. Since this is the initial version, bugs or feedback on
improvements will be appreciated in a form of github issue in the
respective repos.
== Next steps
-
Adding e2e testing for nightly validation of entire system
-
Will be adding gluster-prometheus for metrics. The work under this can
be tracked at the gluster-prometheus repo [5]
-
Starting work on operator to deploy and manage the stack through anthill
[6]
-
Bi-weekly update to the community on the progress made on GCS.
== GCS project management
-
GCS and the other associated repos are coordinated via waffle.io for
planning and tracking deliverables over sprints.
-
Cross-repo coordination of milestones and sprints will be tracked
through a common set of labels, prefixed with âGCS/â. For example, we
already have labels for major milestones defined like âGCS/alpha1â ,
âGCS/beta0â. Additional labels like 'GCS/0.2'/'GCS/0.3'/... will be created
for each sprints/releases so that the respective teams can tag planned
deliverables in a common way.
== Collaboration opportunities
-
Improving install experience
-
Helping w/ E2E testing framework
-
Testing and opening bug reports
== Relationship to Heketi and glusterd (the legacy stack)
While GCS is shaping the future stack for Gluster in containers, the
traditional method for deploying container-based storage with Gluster (and
current GlusterD) and Heketi is still available, and it remains the
preferred method for production usage. To find out more about Heketi and
this production-ready stack, visit the gluster-kubernetes repo [7].
Regards,
Team GCS
[1] https://github.com/gluster/gcs
[2] https://github.com/gluster/glusterfs
[3] https://github.com/gluster/glusterd2
[4] https://github.com/gluster/gluster-csi-driver/
[5] https://github.com/gluster/gluster-prometheus
[6] https://github.com/gluster/anthill
[7] https://github.com/gluster/gluster-kubernetes
Today, we are announcing the availability of GCS (Gluster Container
Storage) 0.1. This initial release is designed to provide a platform for
community members to try out and provide feedback on the new Gluster
container storage stack. This new stack is a collaboration across a number
of repositories, currently including the main GCS repository [1], core
glusterfs [2], glusterd2 [3], and gluster-csi-driver [4].
== Getting started
The GCS repository provides a VM-based (Vagrant) environment that makes it
easy to install and take GCS for a test-drive. See
https://github.com/gluster/gcs/tree/master/deploy#local-cluster-using-vagrant
for a set of instructions to bring up a multi-node cluster with GCS
installed. The Ansible-based deploy scripts create a Kubernetes cluster
using kubespray, then deploy the GCS components. These playbooks can also
be used to bring up GCS on other Kubernetes clusters as well.
== Current features
This is the initial release of the GCS stack. It allows dynamic
provisioning of persistent volumes using the CSI interface. Supported
features include:
-
1x3 (3-way replicated) volumes
-
GCS should be able to recover from restarts of any individual
GCS-related pod. Since this is the initial version, bugs or feedback on
improvements will be appreciated in a form of github issue in the
respective repos.
== Next steps
-
Adding e2e testing for nightly validation of entire system
-
Will be adding gluster-prometheus for metrics. The work under this can
be tracked at the gluster-prometheus repo [5]
-
Starting work on operator to deploy and manage the stack through anthill
[6]
-
Bi-weekly update to the community on the progress made on GCS.
== GCS project management
-
GCS and the other associated repos are coordinated via waffle.io for
planning and tracking deliverables over sprints.
-
Cross-repo coordination of milestones and sprints will be tracked
through a common set of labels, prefixed with âGCS/â. For example, we
already have labels for major milestones defined like âGCS/alpha1â ,
âGCS/beta0â. Additional labels like 'GCS/0.2'/'GCS/0.3'/... will be created
for each sprints/releases so that the respective teams can tag planned
deliverables in a common way.
== Collaboration opportunities
-
Improving install experience
-
Helping w/ E2E testing framework
-
Testing and opening bug reports
== Relationship to Heketi and glusterd (the legacy stack)
While GCS is shaping the future stack for Gluster in containers, the
traditional method for deploying container-based storage with Gluster (and
current GlusterD) and Heketi is still available, and it remains the
preferred method for production usage. To find out more about Heketi and
this production-ready stack, visit the gluster-kubernetes repo [7].
Regards,
Team GCS
[1] https://github.com/gluster/gcs
[2] https://github.com/gluster/glusterfs
[3] https://github.com/gluster/glusterd2
[4] https://github.com/gluster/gluster-csi-driver/
[5] https://github.com/gluster/gluster-prometheus
[6] https://github.com/gluster/anthill
[7] https://github.com/gluster/gluster-kubernetes