7.4.3 Enabling Assured Replication (Optional)
If you want to enable assured replication, perform the following steps:
- Create a directory on the persistent volume as
follows:
For example:cd <persistent_volume> mkdir oud-repl-config sudo chown -R 1000:0 oud-repl-config
cd /nfs_volumes/oudpv/ mkdir oud-repl-config sudo chown -R 1000:0 oud-repl-config
- Add the following section in the
oud-ds-rs-values-override.yaml:
The above will enable assured replication with assured typereplOUD: envVars: - name: post_dsreplication_dsconfig_3 value: set-replication-domain-prop --domain-name ${baseDN} --advanced --set assured-type:safe-data --set assured-sd-level:2 --set assured-timeout:5s - name: execCmd_1 value: /u01/oracle/user_projects/${OUD_INSTANCE_NAME}/OUD/bin/dsconfig --no-prompt --hostname ${sourceHost} --port ${adminConnectorPort} --bindDN "${rootUserDN}" --bindPasswordFile /u01/oracle/user_projects/${OUD_INSTANCE_NAME}/admin/rootPwdFile.txt --trustAll set-replication-domain-prop --domain-name ${baseDN} --advanced --set assured-type:safe-data --set assured-sd-level:2 --set assured-timeout:5s --provider-name "Multimaster Synchronization" configVolume: enabled: true type: networkstorage storageClassCreate: true storageClass: oud-config provisioner: kubernetes.io/is-default-class networkstorage: nfs: server: <IP_address> path: <persistent_volume>/oud-repl-config mountPath: /u01/oracle/config-input
safe-data
andassured-sd-level: 2
.Note:
The above will enable assured replication with assured typesafe-data
andassured-sd-level: 2
. For more information on OUD Assured Replication, and other options and levels, see, Understanding the Oracle Unified Directory Replication Model.The following caveats exist:post_dsreplication_dsconfig_N
andexecCmd_N
should be a unique key - change the suffix accordingly. For more information on the environment variable and respective keys, see Environment Variables Used in the oud-ds-rs Helm Chart.- For
configVolume
the storage can benetworkstorage(nfs)
orfilesystem(hostPath)
as the config volume path has to be accessible from all the Kubernetes nodes. Please note that block storage is not supported forconfigVolume
. - If you want to create your own storage class, set
storageClassCreate: true
. IfstorageClassCreate: true
it is recommended to setstorageClass
to a value of your choice, and provisioner to theprovisioner
supported by your cloud vendor. - If you have an existing storageClass that supports network storage, set
storageClassCreate: false
andstorageClass
to theNAME
value returned in "kubectl get storageclass
". Please note that the storage-class should not be the one you used for the persistent volume earlier. Theprovisioner
can be ignored.