Skip to content

AzureRedisCluster Custom Resource ​

WARNING

This is a beta feature available only per request for SAP-internal teams.

The azurerediscluster.cloud-resources.kyma-project.io is a namespace-scoped custom resource (CR). It describes the Azure Cache for Redis cluster. Once the cluster 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 AzureRedisCluster.

The current implementation supports the Premium tier, which is explained in detail on the Azure Cache for Redis overview page.

_Only for advanced cases of network topology_

Redis requires 2 IP addresses per shard. IP addresses can be configured using the IpRange CR. Those IP addresses are allocated from the IpRange CR. If an IpRange CR is not specified in the AzureRedisCluster, 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 AzureRedisCluster, one field is mandatory: redisTier.

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

NOTE

Non SSL port is disabled.

Specification ​

This table lists the parameters of AzureRedisCluster, 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 cluster. Supported values are C3, C4, C5, C6 and C7.
redisVersionstringOptional. The version of Redis software. Defaults to 6.0.
shardCountintOptional. The number of shards to be created on a Premium Cluster Cache.
replicasPerPrimaryintOptional. The number of replicas to be created per primary.
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 AzureRedisCluster 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.

Notes ​

  • Parameter replicasPerPrimary can not be changed after the cluster creation.

  • The following table defines the value mapping between KYMA Redis cluster tier and Azure Redis cluster tier:

    KYMA Redis cluster tierAzure Redis cluster tierTier size (GB)
    C3P16
    C4P213
    C5P326
    C6P453
    C7P5160

Sample Custom Resource ​

yaml
apiVersion: cloud-resources.kyma-project.io/v1beta1
kind: AzureRedisCluster
metadata:
  name: azure-redis-cluster-example
spec:
  redisConfiguration:
    maxclients: "8"
  redisVersion: "6.0"
  redisTier: "C3"
  shardCount: "2"