--------------------------- CREATE SERVICES --------------------------- # DC1 kind: Service apiVersion: v1 metadata: name: api-mgt-dc1-api-gateway-is-sync namespace: api-mgt-dc1 spec: ports: - name: 4440-tcp protocol: TCP port: 4440 targetPort: 4440 type: ClusterIP selector: app.kubernetes.io/instance: api-mgt-dc1-api-gateway app.kubernetes.io/name: sag-apigateway # DC2 kind: Service apiVersion: v1 metadata: name: api-mgt-dc2-api-gateway-is-sync namespace: api-mgt-dc2 spec: ports: - name: 4440-tcp protocol: TCP port: 4440 targetPort: 4440 type: ClusterIP selector: app.kubernetes.io/instance: api-mgt-dc2-api-gateway app.kubernetes.io/name: sag-apigateway --------------------------- CREATE ROUTES --------------------------- # DC1 kind: Route apiVersion: route.openshift.io/v1 metadata: name: api-mgt-dc1-api-gateway-is-sync namespace: api-mgt labels: ... spec: host: sync-api-mgt-dc1.dc1.ocp.somedns to: kind: Service name: api-mgt-dc1--api-gateway-is-sync port: targetPort: 4440-tcp tls: termination: edge # DC2 kind: Route apiVersion: route.openshift.io/v1 metadata: name: api-mgt-dc2-api-gateway-is-sync namespace: api-mgt-dc2 labels: ... spec: host: sync-api-mgt-dc2.dc2.ocp.somedns to: kind: Service name: api-mgt-dc2-api-gateway-is-sync port: targetPort: 4440-tcp tls: termination: edge --------------------------- GET NODE IDs --------------------------- # DC1 curl https://integration-server-api-mgt-dc1.dc1.ocp.somedns/rest/apigateway/dataspace -u Administrator:manage -H 'Accept: application/json' ## REPLY DC1 {"listener.active":{"listener":{"nodeName":"662908ae-855a-41d8-84d9-a4e47380198b ","host":null,"port":-1},"insecureTrustManager":false},"ring":[],"ring.active":[ ]} # DC2 curl https://integration-server-api-mgt-dc2.dc2.ocp.somedns/rest/apigateway/dataspace -u Administrator:manage -H 'Accept: application/json' ## REPLY DC2 {"listener.active":{"listener":{"nodeName":"ad193d47-3c51-4059-8e54-060062bcec84","host":null,"port":-1},"insecureTrustManager":false },"ring":[],"ring.active":[]} --------------------------- CONFIGURE LISTENERS --------------------------- # DC1 curl -v --request PUT 'https://integration-server-api-mgt-dc1.dc1.ocp.somedns/rest/apigateway/dataspace/listener' \ -u Administrator:manage \ -H 'Content-Type: application/json' \ --data '{ "listener": { "nodeName": "662908ae-855a-41d8-84d9-a4e47380198b", "host": "sync-api-mgt-dc1.dc1.ocp.somedns", "port": 4440 }, "insecureTrustManager": false }' # DC2 curl -v --request PUT 'https://integration-server-api-mgt-dc2.dc2.ocp.somedns/rest/apigateway/dataspace/listener' \ -u Administrator:manage \ -H 'Content-Type: application/json' \ --data '{ "listener": { "nodeName": "ad193d47-3c51-4059-8e54-060062bcec84", "host": "sync-api-mgt-dc2.dc2.ocp.somedns", "port": 4440 }, "insecureTrustManager": false }' --------------------------- ESTABLISH RING --------------------------- # DC1 curl -v --request PUT 'https://integration-server-api-mgt-dc1.dc1.ocp.somedns/rest/apigateway/dataspace/ring' \ -u Administrator:manage \ -H 'Content-Type: application/json' \ --data '{ "ring": [ { "nodeName": "ad193d47-3c51-4059-8e54-060062bcec84", "host": "sync-api-mgt-dc2.dc2.ocp.somedns", "port": 443 } ] }' # DC2 curl -v --request PUT 'https://integration-server-api-mgt-dc2.dc2.ocp.somedns/rest/apigateway/dataspace/ring' \ -u Administrator:manage \ -H 'Content-Type: application/json' \ --data '{ "ring": [ { "nodeName": "662908ae-855a-41d8-84d9-a4e47380198b", "host": "sync-api-mgt-dc1.dc1.ocp.somedns", "port": 443 } ] }' --------------------------- ACTIVATE DATACENTERS --------------------------- # DC1 curl -v --location --request PUT 'https://integration-server-api-mgt-dc1.dc1.ocp.somedns/rest/apigateway/dataspace/activate' \ -u Administrator:manage \ -H 'Content-Type: application/json' \ --data '{ "mode": "STANDBY" }' # DC1 curl -v --location --request PUT 'https://integration-server-api-mgt-dc2.dc2.ocp.somedns/rest/apigateway/dataspace/activate' \ -u Administrator:manage \ -H 'Content-Type: application/json' \ --data '{ "mode": "STANDBY" }'