Example Setup of External CM Service (Load Balancer)

To setup the OneDB External CM service you would typically set the original onedbcm service so that it can only be accessed from within the cluster. This is done by setting the serviceType to ClusterIP.

Then configure the External CM serivce accordingly. The configuration below exposes only the SSL ports for the traditional SQLI protocol.

onedb-sql:
    onedbcm:
        serviceType: ClusterIP

    onedbcm_ext:
        enabled: true
        serviceType: LoadBalancer
        ports:
            oltpsslp:          20020
            reportsslp:        20021
            oltpanysslp:       20022
            reportrsssslp:     20023

Below is a list of services showing the onedbcm-cm-service defined as ClusterIP and the onedbcm-ext-service defined as LoadBalancer. You can then access the external IP address from outside the cluster for the configured ports.

kubectl get services 

NAME                          TYPE                 CLUSTER-IP       EXTERNAL-IP             PORT(S)                   AGE
helm-1-odbp-explore        ClusterIP               10.96.220.30      <none>                 8080/TCP                  20m
helm-1-odbp-mongo          ClusterIP               10.96.44.208      <none>                27017/TCP                  20m
helm-1-odbp-rest           ClusterIP               10.96.90.21       <none>                 8080/TCP                  20m
onedbcm-cm-service         ClusterIP               10.96.159.103     <none>                10000/TCP,20000/TCP        19m
onedbcm-ext-service        LoadBalancer            10.96.159.103     172.19.255.203        20020/TCP,20021/TCP        19m