Deploy the Debezium Kafka source connector for NBS 7 case notifications
This page walks through enabling Change Data Capture (CDC) and deploying the Debezium source connector used by case notification services.
-
Enable Change Data Capture on
NBS_ODSEfor case notification. Sysadmin permissions are required. Then verify the configuration:exec msdb.dbo.rds_cdc_enable_db 'NBS_ODSE'; --Verify change data capture. is_cdc_enabled=1 indicates successful configuration. SELECT name, is_cdc_enabled FROM sys.databases; -
Enable Change Data Capture for selected tables in
NBS_ODSE:exec sys.sp_cdc_enable_table @source_schema = N'dbo',@source_name = N'CN_transportq_out', @role_name = NULL; -
Verify Change Data Capture is enabled for ODSE tables:
--View ODSE tables with CDC enabled. USE NBS_ODSE; SELECT name, case when is_tracked_by_cdc = 1 then 'YES' else 'NO' end as is_tracked_by_cdc FROM sys.tables WHERE is_tracked_by_cdc = 1; - Locate the Helm chart at
charts/debezium-case-notifications. -
Set the image repository and tag:
image: repository: quay.io/debezium/connect tag: <release-version-tag> # for example, v1.0.1 -
Update
values.yamlwithNBS_ODSEhostname, username, password, and Kafka bootstrap server values:properties: bootstrap_server: "EXAMPLE_MSK_KAFKA_ENDPOINT" sqlserverconnector: config: database.hostname: "EXAMPLE_DB_ENDPOINT", database.port: 1433, database.user: "EXAMPLE_DB_USER", database.password: "EXAMPLE_DB_USER_PASSWORD", database.dbname: nbs_odse, database.names: nbs_odse, database.server.name: odse, database.history.kafka.bootstrap.servers: "EXAMPLE_MSK_KAFKA_MULTI_CLUSTER_ENDPOINTS", schema.history.internal.kafka.bootstrap.servers: "EXAMPLE_MSK_KAFKA_MULTI_CLUSTER_ENDPOINTS" Env: name: BOOTSTRAP_SERVERS value: "EXAMPLE_MSK_KAFKA_ENDPOINT" -
Install the connector:
helm install -f ./debezium-case-notifications/values.yaml debezium-case-notification-service-connect ./debezium-case-notifications/ -
Verify the pod is running:
kubectl get pods - Validate the service:
- This is an internal service with no ingress.
- If the service has trouble connecting to the database, run this command to reset the ConfigMap:
kubectl delete configmap case-notification-connectb