Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

PersistentVolume with external storage support for in-cluster databases #1231

Open
mathieu-benoit opened this issue Nov 3, 2022 · 3 comments
Labels
priority: p3 Desirable enhancement or fix. May not be included in next release. type: feature request ‘Nice-to-have’ improvement, new feature or different behavior or design.

Comments

@mathieu-benoit
Copy link
Contributor

mathieu-benoit commented Nov 3, 2022

Today, the in-cluster redis database is a Deployment, as a best practice for such in-cluster scenario it would be great to have it as StatefulSet with a PersistentVolume. Maybe with Filestore like illustrated here? Or maybe another storage? That will also illustrate yet another great story with multiple Google Cloud services while showing best practices. This will allow Online Boutique's users (Googlers, etc.) to have a ready to use solution for such stateful workloads scenarios.

We maybe don't want to have this as default, and we may want to keep this as Deployment by default (?), but maybe to start with a new Online Boutique variation (i.e. Kustomize overlay) would be a great candidate?

Tagging @bourgeoisor @ahrarmonsur @charlieyu1996 as I'm sure they could provide more insights around this and maybe planning this for 2023?

@mathieu-benoit mathieu-benoit changed the title redis as a StatefulSet with PersistenVolume redis as a StatefulSet with PersistentVolume Nov 3, 2022
@NimJay NimJay added type: feature request ‘Nice-to-have’ improvement, new feature or different behavior or design. priority: p3 Desirable enhancement or fix. May not be included in next release. labels Nov 4, 2022
@NimJay
Copy link
Collaborator

NimJay commented Nov 4, 2022

This is a great idea, and a good point of collaboration for myself and the GKE DPEs.

My initial thoughts:

  • Should Redis be used here or should we use another database (e.g., MySQL or PostgreSQL) that's more commonly tied to StatefulSets? More specifically, how common is it to tie a StatefulSet to Redis?
  • Yes, as @mathieu-benoit suggested, I don't think StatefulSets should be used by Online Boutique's default deployment. To ensure Online Boutique is easier to use in demos/tutorials, let's keep it as stateless as possible (by default). For instance, this makes multi-cluster demos easier.
  • I image we would just be introducing a new Kustomize Component inside /kustomize/components that contains a StatefulSet and related resources (similar to Bank of Anthos).
  • I've assigned a low priority (P3) to this for now.

@bourgeoisor
Copy link
Member

Linking the analogue for Bank of Anthos: GoogleCloudPlatform/bank-of-anthos#1068

@bourgeoisor bourgeoisor changed the title redis as a StatefulSet with PersistentVolume PersistentVolume with external storage support for in-cluster databases May 3, 2023
@NimJay
Copy link
Collaborator

NimJay commented Oct 24, 2023

Commenting since this is near out-of-SLO:

  • Leaving this open since this would be a nice-to-have.
  • But not a team priority today — keeping at p3.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
priority: p3 Desirable enhancement or fix. May not be included in next release. type: feature request ‘Nice-to-have’ improvement, new feature or different behavior or design.
Projects
None yet
Development

No branches or pull requests

3 participants