-
Notifications
You must be signed in to change notification settings - Fork 298
K8s: OSS Cluster API - Babylon release feature #2635
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
base: main
Are you sure you want to change the base?
Conversation
dwdougherty
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Just a couple of comments: one typo and one sentence that probably needs to be rewritten.
Co-authored-by: David Dougherty <david.dougherty@redis.com>
Co-authored-by: David Dougherty <david.dougherty@redis.com>
dwdougherty
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM, @kaitlynmichael. Approved.
| This feature only supports automatic Ingress creation for Active-Active databases created and managed with the RedisEnterpriseActiveActiveDatabase (REAADB) custom resource. Use with the standard Redis Enterprise database (REDB) is not currently supported. | ||
|
|
||
| ## OSS Cluster API limitations | ||
| ## OSS Cluster API support |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
That's actually so heartwarming - instead of limitations, we are explaining the new capabilities.
| serviceAnnotations: | ||
| ``` | ||
| 2. If you are using internal clients (within the Kubernetes cluster), you can add them to the `podCIDRs` field to improve performance. Clients from these ranges are routed directly to the Redis Enterprise pods, without going through the load balancer. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
"you can add them" may be a a little misleading here. You don't add the clients. You are providing the range of IPs that internal clients may be using, which is the pod CIDRs list.
|
|
||
| 1. Edit the RedisEnterpriseCluster (REC) custom resource to add the `ossClusterSettings` section to the `spec` section. | ||
|
|
||
| Set `externalAccessType` to `LoadBalancer` and add any `serviceAnnotations` as required by your service provider. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Note that in most cases you don't need any service annotations. So maybe change "as required" to "if required" or something like that?
|
|
||
| For applications that need to access Redis databases from outside the Kubernetes cluster, use standard Redis Enterprise connectivity methods with the external routing options described above (Ingress controllers, load balancers, or OpenShift routes). These methods do not support OSS Cluster API but provide reliable external access to your Redis databases. | ||
| - **Internal clients** running on pods within the same Kubernetes cluster can connect directly to Redis Enterprise pods using pod IPs. | ||
| - **External clients** outside the Kubernetes cluster can connect through a LoadBalancer service when `enableExternalAccess: true` is configured in the database specification. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is a bit misleading, since it's not a single load balancer service. It's a load balancer service per redis enterprise pod (a pod running the redis enterprise node container). We need to be very clear about this, since having more load balancers is increasing the operational costs.
|
The more I think about it, the more I'm convinced that we should stress the fact that the consequence of enabling external access for OSS cluster is having a load balancer for every pod running a redis enterprise node. Load balancers are important resources that cost money. Provisioning extra load balancers should not be a surprise. |
|
There is another requirement/limitation that needs to be mentioned regarding OSS clsuter with external access. It may or may not be obvious, but users may not create OSS clusters with external access using Redis Enterprise REST API directly. They must do it using the RedisEnterpriseDatabase object. While the limitation may be obvious, it should be mentioned. |
No description provided.