Skip to content

AlicloudRedisCluster Custom Resource ​

WARNING

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

The alicloudrediscluster.cloud-resources.kyma-project.io is a namespace-scoped custom resource (CR). It describes the Alibaba Cloud ApsaraDB for Redis instance running in a cloud-native cluster (CE) architecture. Once the cluster is provisioned, a Kubernetes Secret with endpoint and credential details is created in the same namespace. By default, the Secret has the same name as the AlicloudRedisCluster.

The cluster requires an IP range, allocated from an IpRange CR. If you don't reference one, the default IpRange is used. If the default IpRange doesn't exist, it is created. Create a non-default IpRange only when you need to control network segments to avoid range conflicts.

When creating AlicloudRedisCluster, the redisTier and shardCount fields are mandatory. redisTier sets the per-shard capacity, and shardCount sets the number of data shards and can be changed after creation. Optionally, you can set engineVersion and authSecret.

The AliCloud instance class is derived from the redisTier field. You can change redisTier after creation to resize per-shard capacity. shardCount can also be changed after creation.

In-transit Encryption ​

In-transit encryption is always enabled. Communication with the Redis cluster requires a certificate. You can find it in the Secret at the .data.CaCert.pem path.

Authentication is always enabled. A generated password is provided in the Secret at the .data.authString path.

Persistence ​

Persistence is not supported. Data is not written to durable storage (for example, data at rest).

Redis Tiers ​

Each tier sets the memory capacity of a single shard. The total cluster capacity equals the per-shard capacity multiplied by shardCount.

RedisTierCapacity per shard (GiB)
C31
C42
C54
C68
C716

Specification ​

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

ParameterTypeRequiredDescription
ipRangeobjectNoIpRange reference. If omitted, the default IpRange is used. If the default IpRange does not exist, it will be created. Immutable.
ipRange.namestringYesName of the existing IpRange to use.
redisTierstringYesThe per-shard capacity tier. Supported values are C3, C4, C5, C6, C7.
shardCountintYesNumber of data shards. Minimum value is 1, maximum value is 32. You can change it after creation. Scaling triggers an online resharding operation, which may cause a temporary increase in latency.
replicasPerShardintNoNumber of read-only replicas per shard. Fixed at 0 and cannot be changed. Independent read-replica configuration is not yet enabled. Defaults to 0.
engineVersionstringNoThe version of the Redis engine. Supported values are 5.0, 6.0, and 7.0. Defaults to 7.0. Immutable; to change it, delete and recreate the cluster.
authSecretobjectNoAuth Secret options.
authSecret.namestringNoAuth Secret name.
authSecret.labelsobjectNoAuth Secret labels. Keys and values must be strings.
authSecret.annotationsobjectNoAuth Secret annotations. Keys and values must be strings.
authSecret.extraDataobjectNoAllows you 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. Keys and values must be strings.

Auth Secret Details ​

The following table lists the parameters of the auth Secret:

ParameterTypeDescription
.metadata.namestringName of the auth Secret. It shares the name with the AlicloudRedisCluster unless authSecret.name is set.
.metadata.labelsobjectSpecified custom labels (if any).
.metadata.annotationsobjectSpecified custom annotations (if any).
.data.hoststringCluster discovery host.
.data.portstringCluster discovery port.
.data.discoveryEndpointstringCluster discovery endpoint. Provided in <host>:<port> format.
.data.authStringstringAuth string used to authenticate with the cluster.
.data.CaCert.pemstringCA Certificate that must be used for TLS.

Sample Custom Resource ​

yaml
apiVersion: cloud-resources.kyma-project.io/v1beta1
kind: AlicloudRedisCluster
metadata:
  name: alicloudrediscluster-sample
spec:
  redisTier: C3
  shardCount: 3