Skip to content

AzureRedisInstance Custom Resource ​

The azureRedisInstance.cloud-resources.kyma-project.io is a namespace-scoped custom resource (CR). It describes the Azure Cache for Redis instance. Once the instance is provisioned, a Kubernetes Secret with endpoint and credential details is provided in the same namespace. By default, the created auth Secret has the same name as AzureRedisInstance.

_Only for advanced cases of network topology_

Redis requires 2 IP addresses per shard. IP addresses can be configured using the IpRange CR. For more information, see Configure a reserved IP address range. Those IP addresses are allocated from the IpRange CR. If an IpRange CR is not specified in the AzureRedisInstance, then the default IpRange is used. If the default IpRange does not exist, it is automatically created. Manually create a non-default IpRange with specified Classless Inter-Domain Routing (CIDR) and use it only in advanced cases of network topology when you want to control the network segments to avoid range conflicts with other networks.

When creating AzureRedisInstance, one field is mandatory: redisTier.

In the Kyma Standard service tier, the instance does not have a replica. Thus, it cannot be considered highly available.

Kyma RedisTierCapacity (GiB)Azure RedisTier
S11Basic C1
S22.5Basic C2
S36Basic C3
S413Basic C4
S526Basic C5

NOTE

Kyma Standard S tier is mapped to Azure Basic C tier. It is cost-effective, and meant to be used for development purposes only.

In the Kyma Premium service tier, the instance comes with a read replica and automatic failover enabled. Thus, it can be considered highly available.

Kyma RedisTierCapacity (GiB)Azure RedisTier
P16Premium P1
P213Premium P2
P326Premium P3
P453Premium P4
P5120Premium P5

Optionally, you can specify the redisConfiguration, redisVersion, and redisConfiguration fields.

NOTE

Non SSL port is disabled.

Specification ​

This table lists the parameters of AzureRedisInstance, together with their descriptions:

ParameterTypeDescription
ipRangeobjectOptional. IpRange reference. If omitted, the default IpRange is used. If the default IpRange does not exist, it will be created.
ipRange.namestringRequired. Name of the existing IpRange to use.
redisTierstringRequired. The service capacity of the instance. Supported values are P1, P2, P3, P4, P5, S1, S2, S3, S4, S5.
redisVersionstringOptional. The version of Redis software. Defaults to 6.0.
redisConfigurationobjectOptional. Object containing Redis configuration options.
redisConfiguration.maxclientsintOptional. Max number of Redis clients. Limited to 7,500 to 40,000.
redisConfiguration.maxmemory-reservedintOptional. Configure your maxmemory-reserved setting to improve system responsiveness.
redisConfiguration.maxmemory-deltaintOptional. Gets or sets value in megabytes reserved for non-cache usage per shard e.g. failover.
redisConfiguration.maxmemory-policyintOptional. The setting for how Redis will select what to remove when maxmemory (the size of the cache offering you selected when you created the cache) is reached. Defaults to volatile-lru.
redisConfiguration.maxfragmentationmemory-reservedintOptional. Configure your maxmemory-reserved setting to improve system responsiveness.
authSecretobjectOptional. Auth Secret options.
authSecret.namestringOptional. Auth Secret name.
authSecret.labelsobjectOptional. Auth Secret labels. Keys and values must be a string.
authSecret.annotationsobjectOptional. Auth Secret annotations. Keys and values must be a string.
authSecret.extraDataobjectOptional. Additional Secret Data entries. Keys and values must be a string. Allows users to define additional data fields that will be present in the Secret. The well-known data fields can be used as templates. The templating follows the Golang templating syntax.

Auth Secret Details ​

The following table list the meaningful parameters of the auth Secret:

ParameterTypeDescription
.metadata.namestringName of the auth Secret. It shares the name with AzureRedisInstance unless specified otherwise.
.metadata.labelsobjectSpecified custom labels (if any)
.metadata.annotationsobjectSpecified custom annotations (if any)
.data.hoststringPrimary connection host. Base64 encoded.
.data.portstringPrimary connection port. Base64 encoded.
.data.primaryEndpointstringPrimary connection endpoint. Provided in <host>:<port> format. Base64 encoded.
.data.authStringstringAuth string. Base64 encoded.

Sample Custom Resource ​

yaml
apiVersion: cloud-resources.kyma-project.io/v1beta1
kind: AzureRedisInstance
metadata:
  name: example-azure-redis-instance
spec:
  redisConfiguration:
    maxclients: "8"
  redisVersion: "6.0"
  redisTier: "P1"