Tungsten Connector is available to deploy as a Docker Image from v7.0.3 onwards.
Providing you have a license to use Tungsten Clustering, you will be able to download the docker image from the download portal of the Continuent Website.
The image is available as a gzipped tar ball, and the following steps outline how to import and use the image
Step 1 : Download the files
Once downloaded, you will need to uncompress the file and import it into docker. The following syntax can be used as an example:
shell> tar zxvf tungsten-connector-docker-7.0.3-141.tar.gz
This will result in a number of files/folders available in the tungsten-connector-docker-7.0.3-141 directry, within the path where you extracted the tar package, for example:
shell> ls -lh
total 1048848
-rw-r--r--@ 1 cssi staff 1.3K May 24 12:16 README.txt
drwxr-xr-x@ 5 cssi staff 160B May 24 11:45 conf/
-rw-r--r--@ 1 cssi staff 887B May 24 12:07 docker-compose.yml
drwxr-xr-x@ 3 cssi staff 96B May 24 11:54 security/
-rw-------@ 1 cssi staff 499M May 24 12:38 tungsten-connector-docker-image-7.0.3-135.tar.gz
You will find a README.txt within the root folder, and also within the security folder, these files contain the same examples and steps as outlined on this page.
Step 2 : Configure the Connector
Before launching the connector, you will need to apply a number of configuration changes so that the Connector can communicate with your cluster and act in the desired mode based on your needs.
Modify the docker-compose.yml file
The file supplied looks like the following:
version: "3.9" services: connector: ports: # connector listen port - 3306:3306 # connector REST API listen port - 8096:8096 environment: CONNECTOR_DATASERVICES: "alpha:db1,db2,db3" CONNECTOR_NAME: "connector" extra_hosts: - "db1:192.168.30.81" - "db2:192.168.30.82" - "db3:192.168.30.83" volumes: - ./conf/connector.properties:/opt/continuent/tungsten-connector/conf/connector.properties # if bridgeMode=OFF the next line is needed, please uncomment it #- ./conf/user.map:/opt/continuent/tungsten-connector/conf/user.map # if SSL is configured the following two lines are needed, please uncomment them #- ./conf/security.properties:/opt/continuent/cluster-home/conf/security.properties #- ./security:/opt/continuent/share image: "tungsten-connector:latest" restart: always
In this file you need to define your cluster nodes and cluster service, along with enabling various connector mode and security options. The following changes are mandatory:
Change the definition of CONNECTOR_DATASERVICES, listing your existing clusters (See below for examples).
Change the definition of CONNECTOR_NAME should you wish to rename the connector service (This is the name shown in cctrl)
Define the hosts/IP addresses with extra_hosts if your docker environment does not resolve the hostnames
By default, the connector will be running in Bridge Mode, Therefore, if enabling Proxy mode, uncomment the following user.map line within volumes
- ./conf/user.map:/opt/continuent/tungsten-connector/conf/user.map
If enabling SSL, uncomment the following two security related lines within volumes
- ./conf/security.properties:/opt/continuent/cluster-home/conf/security.properties - ./security:/opt/continuent/share
The CONNECTOR_DATASERVICES property will need defining slightly differently depending upon your topology, the example syntax below can be used
Single Cluster
CONNECTOR_DATASERVICES="alpha:db1,db2,db3"
Composite Active/Passive Cluster
CONNECTOR_DATASERVICES="alpha:db1,db2,db3\nbeta:db4,db5,db6"
Composite Active/Active Cluster
CONNECTOR_DATASERVICES="alpha:db1,db2,db3\nbeta:db4,db5,db6\nalpha_from_beta:db1,db2,db3\nbeta_from_alpha:db4,db5,db6"
Proxy Mode Setup
By default, the connector will run in Bridge mode. If you wish to change this to Proxy mode, follow the following steps:
Uncomment the following user.map line in the docker-compose.yml
file:
- ./conf/user.map:/opt/continuent/tungsten-connector/conf/user.map
Edit the conf/user.map
file and add every user required to the file
Single Cluster Example:
app_user secret alpha
Composite Active Passive Example:
app_user secret global alpha
Composite Active/Active Example:
app_user secret global alpha,beta:beta,alpha
Change the bridgeMode settings in the conf/connector.properties
to:
bridgeMode=OFF
Enabling Smartscale
To specifically enable Smartscale, within the conf/connector.properties
file,
change the useSmartScale
property to true
SSL Setup
By default, SSL will be disabled. To enable it, follow these steps:
Uncomment the following lines in the docker-compose.yml
file:
- ./conf/security.properties:/opt/continuent/cluster-home/conf/security.properties - ./security:/opt/continuent/share
In the conf/connector.properties
change the following properties to true:
ssl.capable=true jdbc.driver.options=useSSL=true api.useSsl=true
From a running Tungsten Cluster copy the following files from
/opt/continuent/share
folder to the security/
folder:
passwords.store tungsten_keystore.jks tungsten_truststore.ts tungsten_connector_keystore.jks tungsten_connector_truststore.ts
Step 3 : Import the Docker image
Use the following command to import the image into docker:
docker load --input tungsten-connector-docker-image-7.0.3-135.tar.gz
Step 4 : Launch the connector
Once the configuration has been applied and the image imported, you can then launch the connector using the following syntax:
docker compose up -d