Plans and Sizing
Plans
We provide a few preconfigured plans that should make sizing your Redis instance easier. Just choose one of the provided plans.
apiVersion: vshn.appcat.vshn.io/v1
kind: VSHNRedis
metadata:
name: example
spec:
parameters:
size:
plan: standard-2
writeConnectionSecretToRef:
name: redis-creds
By default, the following plans are available on every cluster:
Plan | CPU | Memory | Disk |
---|---|---|---|
standard-512m |
125m |
512Mi |
16Gi |
standard-1 |
250m |
1Gi |
16Gi |
standard-2 |
500m |
2Gi |
16Gi |
standard-4 |
1 |
4Gi |
16Gi |
standard-8 |
2 |
8Gi |
16Gi |
Depending on which cluster you’re working with, there might be some slight differences in available plans. You can see all available plans running:
$ kubectl explain vshnredis.spec.parameters.size.plan
KIND: VSHNRedis
VERSION: vshn.appcat.vshn.io/v1
FIELD: plan <string>
DESCRIPTION:
Plan is the name of the resource plan that defines the compute resources.
The following plans are available:
plus-1 - CPU: 1; Memory: 1Gi; Disk: 16Gi - Will be scheduled on APPUiO
Cloud plus nodes
standard-1 - CPU: 250m; Memory: 1Gi; Disk: 16Gi
standard-2 - CPU: 500m; Memory: 2Gi; Disk: 16Gi
standard-4 - CPU: 1; Memory: 4Gi; Disk: 16Gi
standard-8 - CPU: 2; Memory: 8Gi; Disk: 16Gi
standard-512m - CPU: 125m; Memory: 512Mi; Disk: 16Gi
About APPUiO Cloud
On APPUiO Cloud two important differences apply:
|
Custom Sizing
While we provide some pre-configured plans, you are free to choose custom values for CPU, memory, and disk size.
To do that simply set spec.parameters.size.cpuRequests
, spec.parameters.size.cpuLimits
, spec.parameters.size.memoryRequests
, spec.parameters.size.memoryLimits
,or spec.parameters.size.disk
.
The following example would keep the memory requests from the standard-2
plan while increasing the CPU request to 1
and the CPU limits to 9
.
apiVersion: vshn.appcat.vshn.io/v1
kind: VSHNRedis
metadata:
name: example
spec:
parameters:
size:
plan: standard-2
cpuRequests: "2"
cpuLimits: "9"
writeConnectionSecretToRef:
name: redis-creds
Changing the disk size from a default plan will restart the Redis pods. Any further disk size changes should not trigger a restart. |
We don’t recommend setting the requests to a lower value then the limit, as this might negatively impact the performance and stability of your instance. |
APPUiO Cloud Fair Use Policy
On APPUiO Cloud, the Fair Use Policy also applies to all AppCat Services by VSHN. You will be billed extra for CPU requests that exceed the memory to CPU ratio. The default plans all adhere to the Fair Use Policy. |
Node Selectors
You have the option to specify a custom node selector for your Redis instance. This allows you to assign the instance to a specific node, which can be helpful if your cluster has dedicated nodes to run databases on.
The following configuration would create a Redis instance that runs on a node with the label speed=fast
.
apiVersion: vshn.appcat.vshn.io/v1
kind: VSHNRedis
metadata:
name: example
spec:
parameters:
size:
plan: standard-4
scheduling:
nodeSelector:
speed: fast (1)
writeConnectionSecretToRef:
name: redis-creds
1 | Annotation specifying a faster node. |
Please consult the Kubernetes documentation on how to assign workloads to nodes using node selectors.
APPUiO Cloud Node Classes
On APPUiO Cloud, this can be used to schedule instances on specific Node Classes. However, this can also be done by choosing the |