Friday, October 27, 2023

How to launch OCI Redis Cache Cluster on OCI

OCI Redis Cache is GA as of now. You can launch Redis Cache clusters using Console, CLI, SDK, Terraform and so on.

 

Using Console :

Launching a Redis cluster using OCI console is even easier.

Just go to Databases --> Redis --> Clusters --> Create cluster and launch selecting required options.

 

Let’s see how to launch a Redis Cluster on OCI using CLI.

Sample Command:

# oci redis redis-cluster create -c ocid1.compartment.oc1..aaaaaaaaognnxXXXxxeiexes6cq --display-name redis_1 --node-count 2 --node-memory-in-gbs 4 --software-version V7_0_5 --subnet-id ocid1.subnet.oc1.eu-frankfurt-1.aaaaaaaader2hzdzsfesxoXXXXj6zq47t3dzpoq

 

Reference:

-c - Compartment under which you want to launch your Redis cluster.

--display-name - Name of your cluster.

--node-count - Number of nodes Min 1, Max 5.  1 primary and rest read replicas.

--node-memory-in-gbs - Amount of Memory. Min 1GB, Max 500GB.

--software-version - Redis server version.

--subnet-id - OCID of the subnet (private).

 

jay@serv ~ % oci redis redis-cluster create -c ocid1.compartment.oc1..aaaaaaaaognnx6wnl3gmXXXXXeiexes6cq

--display-name redis_1 --node-count 2 --node-memory-in-gbs 4 --software-version V7_0_5

--subnet-id ocid1.subnet.oc1.eu-frankfurt-1.aaaaaaaader2hzdzsfesxoXXXXXigfj6zq47t3dzpoq

{

  "data": {

    "compartment-id": "ocid1.compartment.oc1..aaaaaaaaognnx6wnl3gmXXXXXeiexes6cq",

    "defined-tags": {

      "WhoCreated": {

        "Creator": "idcs/jay@abc.com"

      }

    },

    "display-name": "redis_1",

    "freeform-tags": {},

    "id": "ocid1.rediscluster.oc1.eu-frankfurt-1.amaaaaaa2ne4dXXXXzjysjlvetazd2g6eiu32jva",

    "lifecycle-details": null,

    "lifecycle-state": "CREATING",

    "node-collection": null,

    "node-count": 2,

    "node-memory-in-gbs": 4.0,

    "primary-endpoint-ip-address": null,

    "primary-fqdn": null,

    "replicas-endpoint-ip-address": null,

    "replicas-fqdn": null,

    "software-version": "V7_0_5",

    "subnet-id": "ocid1.subnet.oc1.eu-frankfurt-1.aaaaaaaader2hzdzsfesxoXXXXXigfj6zq47t3dzpoq",

    "system-tags": {},

    "time-created": "2023-10-27T13:36:05.893000+00:00",

    "time-updated": "2023-10-27T13:36:05.893000+00:00"

  },

  "etag": "4ccaeb142382b6cbc382c37XXXX26ee8bd4ecad8f000aea0d",

  "opc-work-request-id": "ocid1.redisworkrequest.oc1.eu-frankfurt-1.amaaaaaawwq2pqaaXXXXXwhhf7md73tdwxgbchva"

}

 

NOTE:

As of now 27/Oct/2023:

- OCI Cache on  Redis supports only Single Master Redis cluster with 1 Primary and up to 4 Read Replicas. Sharded Multi-Master Redis cluster is not yet supported even though its on the roadmap.

- Supported Redis version is 7.0.5. We can expect future releases to be supported when available.

 

You can get the details of the Redis cluster using the following CLI commands:

# oci redis redis-cluster get --redis-cluster-id ocid1.rediscluster.oc1.eu-frankfurt-1.amaaaaaa2ne4d2XXXXazd2g6eiu32jv

jay@serv ~ % oci redis redis-cluster get --redis-cluster-id ocid1.rediscluster.oc1.eu-frankfurt-1.amaaaaaa2ne4d2XXXXazd2g6eiu32jva
{
"data": {
"compartment-id": "ocid1.compartment.oc1..aaaaaaaaognnxXXXxxeiexes6cq",
"defined-tags": {
"WhoCreated": {
"Creator": "idcs/jay@abc.com"
}
},
"display-name": "redis_1",
"freeform-tags": {},
"id": "ocid1.rediscluster.oc1.eu-frankfurt-1.amaaaaaa2ne4d2XXXXazd2g6eiu32jva",
"lifecycle-details": null,
"lifecycle-state": "ACTIVE",
"node-collection": {
"items": [
{
"display-name": "redis_1-0",
"private-endpoint-fqdn": "amaaaaxxxxjlvetazd2g6eiu32jva-0.redis.eu-frankfurt-1.oci.oraclecloud.com",
"private-endpoint-ip-address": "10.0.1.230"
},
{
"display-name": "redis_1-1",
"private-endpoint-fqdn": "amaaaaxxxxjlvetazd2g6eiu32jva-1.redis.eu-frankfurt-1.oci.oraclecloud.com",
"private-endpoint-ip-address": "10.0.1.118"
}
]
},
"node-count": 2,
"node-memory-in-gbs": 4.0,
"primary-endpoint-ip-address": "10.0.1.5",
"primary-fqdn": "amaaaaxxxxjlvetazd2g6eiu32jva-p.redis.eu-frankfurt-1.oci.oraclecloud.com",
"replicas-endpoint-ip-address": "10.0.1.223",
"replicas-fqdn": "amaaaaxxxxjlvetazd2g6eiu32jva-r.redis.eu-frankfurt-1.oci.oraclecloud.com",
"software-version": "V7_0_5",
"subnet-id": "ocid1.subnet.oc1.eu-frankfurt-1.aaaaaaaader2hzdzsfesxoXXXXj6zq47t3dzpoq",
"system-tags": {},
"time-created": "2023-10-27T13:36:05.893000+00:00",
"time-updated": "2023-10-27T13:42:49.798000+00:00"
},
"etag": "fb33f38b97b353c81805e7ssXXXc0d936eb2f7d11b404d8bb15239e31b77--gzip"
}


OCI Redis Endpoints:

Each Redis Clusters will have the following DNS endpoints:

- 1 Primary Endpoint always pointing to the Primary node. In case of a primary node failure, the primary endpoint will automatically failover to the new primary.

- 1 Replica Endpoint pointing to one of the Read replicas. If you have more than 1 read replica, the replica end point resolves to one of the read replicas randomly.

- Node Endpoints to all the Redis nodes. This will never change.

Interestingly, you can see '-p' suffix to the hash prefix for the primary endpoint, '-r' to the replicas endpoint and '-n' (node number) suffix to the node endpoints. This way you could identify the endpoints easily.







No comments:

Post a Comment