-
Notifications
You must be signed in to change notification settings - Fork 90
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
Where can I find details or examples for creating a real RedisEnterpriseDatabase resource? #189
Comments
Hi, Indeed, creating a database in the UI will not create a corresponding REDB Kubernetes resource (the Redis Enterprise Cluster by itself not being aware it is running in a Kubernetes environment). You can find all the REDB supported properties here: https://github.com/RedisLabs/redis-enterprise-k8s-docs/blob/master/redis_enterprise_database_api.md#redisenterprisedatabasespec Here is a small example of a REDB definition that makes use of some of these properties:
I hope this will help. Cheers, Laurent. |
@laurentdroin Thank you - that is very helpful. A few comments:
Finally, and this is just in case it helps anyone else, here is the YAML I settled on using:
|
Hi @grtrout There is an admission controller that you can configure and that should help block the REDB creation if the corresponding database cannot be created. The admission controller is now deployed as part of the Operator deployment (in its own container). There is also a way to deploy a REDB resource in a different namespace (which we call "consumer" namespace). Hope this is helpful. Laurent. |
@laurentdroin Excellent! I will check into both the admission controller and the consumer namespace strategy. Thanks for your help. |
@laurentdroin - is it possible to configure a RedisEnterpriseDatabase using the RedisEnterpriseDatabaseSpec and not require auth? |
@grtrout - Not directly, but you should be able to achieve this by creating a secret with an empty password first and then specifying that secret in the REDB manifest before the REDB is created. Something like: and then: apiVersion: app.redislabs.com/v1alpha1
kind: RedisEnterpriseDatabase
metadata:
name: my-db
spec:
databaseSecretName: my-password I hope this helps. Laurent. |
@laurentdroin Thanks. I was able to get that working, but I ended up just modifying my configmaps to supply the generated password. I was more interested in not having to do this at all for quick testing (and since this is, I believe, how it's set up by default in the web UI). |
@laurentdroin - If I want to specify the port where my database is exposed, can that be done via the RedisEnterpriseDatabase resource definition? This is an important feature that I used with the Web UI since it allowed me to declare the port and specify it in the applications' manifests without having to use any sort of find/replace scripting. |
@grtrout - It is currently not possible via REDB but we do have a feature request on this in order for this to be implemented in a future version. |
I was hoping that I could create a database in the UI and it would create a RedisEnterpriseDatabase resource that I could learn from, but creating the database in the UI does not create a RedisEnterpriseDatabase resource at all. The examples for RedisEnterpriseDatabase have basically nothing outside of the memorySize specified.
So, where can I find examples of a RedisEnterpriseDatabase resource where things like replication, shards, eviction policy, etc. are specified?
Thanks!
The text was updated successfully, but these errors were encountered: