Configuring CDL Replication
This section describes CDL replication configuration.
-
Configure Rack-1 CDL HA system without any Geo-HA-related configuration parameters.
-
Set the System ID as 1 in the configuration.
-
Set the slot map/replica and index map/replica and Kafka replica as per requirements.
The following is a sample configuration:
cdl system-id 1
cdl node-type session
cdl datastore session
endpoint replica replica_id
slot map 4
slot replica 2
index map 1
index replica 2
cdl kafka replica 2
-
-
Configure external IPs on Rack-1 for Rack-2 to Rack-1 communication.
Enable geo-replication on Rack-1 and configure the remote Rack as 2 for Rack-1.
cdl enable-geo-replication true
Configure the external IP for CDL endpoint to be accessed by Rack-2.
cdl datastore session endpoint external-ip site-1_external_ip
-
Configure the external IP and port for all Kafka replicas.
So, if two replicas (default) are configured for Kafka, user need to provide two different <ip>+<port> pairs.
cdl kafka external-ip site-1_external_ip port1 cdl kafka external-ip site-1_external_ip port2
-
Add remote rack information on Rack-2.
-
Remote rack cdl-ep configuration on Rack-2:
cdl remote-site 1 db-endpoint host site-1_cdl_ep_ip
cdl remote-site 1 db-endpoint port site-1_cdl_ep_port
(Port Example: 8882)
-
Remote rack Kafka configuration on Rack-2:
cdl remote-site 1 kafka-server site-1_kafka1_ip site-1_kafka1_port
cdl remote-site 1 kafka-server site-1_kafka2_ip site-1_kafka2_port
-
Direct the session datastore configuration to remote Rack-2 configuration:
cdl datastore session geo-remote-site 1
-
(Optional) Configure the SSL certificates to establish a secure connection with remote rack on Rack-1. All the certificates are in multi-line raw text format. If the certificates are not valid, the server continues with non-secure connection.
cdl ssl-config certs site-2_external_ip ssl-key <ssl_key>
cdl ssl-config certs site-2_external_ip ssl-crt <ssl_crt>
-
-
Commit GR configuration on Rack-2:
-
Commit the configuration and let the pods be deployed on Rack-2.
-
Verify all pods are in running state.
-
Once both the racks are deployed, verify that the mirror maker pods on both racks are running and in ready state.
-
Examples
HA:
cdl node-type db-ims
cdl datastore session
endpoint replica 2
index map 1
index write-factor 1
slot replica 2
slot map 4
slot write-factor 1
exit
k8 label cdl-layer key smi.cisco.com/node-type value smf-ims-session
Rack-1:
cdl system-id 1
cdl node-type session
cdl enable-geo-replication true
cdl zookeeper replica 1
cdl remote-site 2
db-endpoint host 209.165.201.21 >> Rack-2 external CDL IP
db-endpoint port 8882
kafka-server 209.165.201.21 10092 >> Rack-2 external CDL IP
exit
exit
cdl label-config session
endpoint key smi.cisco.com/node-type1
endpoint value smf-cdl
slot map 1
key smi.cisco.com/node-type1
value smf-cdl
exit
index map 1
key smi.cisco.com/node-type1
value smf-cdl
exit
exit
cdl logging default-log-level debug
cdl datastore session
label-config session
geo-remote-site [ 2 ]
slice-names [ 1 2 ]
endpoint cpu-request 100
endpoint replica 2
endpoint external-ip 209.165.201.25 >> Rack-1 external CDL IP
endpoint external-port 8882
index cpu-request 100
index replica 2
index map 1
slot cpu-request 100
slot replica 2
slot map 1
exit
cdl kafka replica 1
cdl kafka label-config key smi.cisco.com/node-type1
cdl kafka label-config value smf-cdl
cdl kafka external-ip 209.165.201.25 10092 >> Rack-1 external CDL IP
Rack-2:
cdl system-id 2
cdl node-type session
cdl enable-geo-replication true
cdl zookeeper replica 1
cdl remote-site 1
db-endpoint host 209.165.201.25 >> Rack-1 external CDL IP
db-endpoint port 8882
kafka-server 209.165.201.25 10092 >> Rack-1 external CDL IP
exit
exit
cdl label-config session
endpoint key smi.cisco.com/node-type12
endpoint value smf-cdl
slot map 1
key smi.cisco.com/node-type12
value smf-cdl
exit
index map 1
key smi.cisco.com/node-type12
value smf-cdl
exit
exit
cdl datastore session
label-config session
geo-remote-site [ 1 ]
slice-names [ 1 2 ]
endpoint cpu-request 100
endpoint replica 2
endpoint external-ip 209.165.201.21 >> Rack-2 external CDL IP
endpoint external-port 8882
index cpu-request 100
index replica 2
index map 1
slot cpu-request 100
slot replica 2
slot map 1
exit
cdl kafka replica 1
cdl kafka label-config key smi.cisco.com/node-type12
cdl kafka label-config value smf-cdl
cdl kafka external-ip 209.165.201.21 10092 >> Rack-2 external CDL IP