-
Notifications
You must be signed in to change notification settings - Fork 281
K8s: Redis Flex - Asgard release #2453
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.
A couple of link issues.
| --- | ||
|
|
||
| {{<note>}} | ||
| This page applies to Redis Enterprise for Kubernetes version 7.22.2-22. If you use version 8.0.2-2 or later, see [Redis Flex]({{< relref "/operate/kubernetes/re-clusters/redis-flex" >}}). |
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 dead link (just takes one to the top of the same page).
|
|
||
| ## Prerequisites | ||
| {{<note>}} | ||
| This page applies to Redis Enterprise for Kubernetes version 8.0.2-2 and later. If you use version 7.22.2-22 or earlier, see [Auto Tiering]({{< relref "/operate/kubernetes/7.22/re-clusters/auto-tiering" >}}). |
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.
Same thing here. Link doesn't go anywhere.
| 2. Upgrade the database to Redis 8.0 by updating `spec.redisVersion` to `"8.0"`. | ||
| 3. Redis Server automatically converts the database to Redis Flex. | ||
| 4. The operator detects the conversion and adapts its reconciliation behavior. | ||
| 5. Redis now manages the `rofRamSize` field automatically. You can keep the field in the spec for backward compatibility. |
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.
RS don't do validation on minimum value . If the user will remove it - on upgrade we will preserve the value. On create new DB with spec.redisVersion= "8.0" if the rofRamSize will be missing RS will set default value of 0. Im not sure it will give good performance. I will verify with cluster devs.
| When you upgrade a database from a Redis version earlier than 8.0 to Redis 8.0 or later, Redis Server automatically migrates the database from Auto Tiering to Redis Flex. The operator detects this migration and makes the following changes: | ||
|
|
||
| 1. Stops validating the `rofRamSize` ratio requirement. | ||
| 2. Stops reconciling the `bigstore_ram_size` field to avoid configuration drift. |
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.
Im not sure I get this part... rofRamSize is on the operator side mapped to bigstore_ram_size in RS.
| - `isRof: true` - Enables Redis Flex | ||
| - `redisVersion` - Set to `"8.0"` or later | ||
| - `memorySize` - Defines the total combined memory size (RAM + flash) | ||
| - `rofRamSize` - (Optional) Defines the RAM capacity for the database |
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 confusing from RS side - on one hand there is no validation and the default is 0 but Im not sure from performance pov of the db. We need to verify with them
| bigStoreDriver: speedb # Only 'speedb' is suitable for Redis Flex | ||
| storageClassName: local-scsi | ||
| flashDiskSize: 100G | ||
| ``` |
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.
For redis flex, operator exposes another field - rofRamRatio => in RS - bigstore_max_ram_ratio .
bigstore_max_ram_ratio is how much RAM from total data can be used in percentages.
so setting bigstore_ram_size = 1Gb means the user will have 1Gb RAM and bigstore_max_ram_ratio = 30% means the user will get 3mb of RAM for every 10mb of data he used up until he reaches close to full db (depends on the percentage) and then he will get the same RAM as configured in bigstore_ram_size (rofRamSize)
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.
the default value when not set is 50%. The recommendation is to use default.
No description provided.