Initial Deployment

A hypothetical, multi-namespace, single sub-domain deployment has the following distribution of components across namespaces:

  • The masters and agents in cluster 1 namespace matrixx-operators.
  • Agents in cluster 2 namespace matrixx-operators.
  • Engine s1e1 in cluster 1 namespace matrixx-engine-s1.
  • Engine s1e2 in cluster 2 namespace matrixx-engine-s1.
  • Traffic Routing Agent (TRA) in cluster 1 namespace matrixx-tra.

Create the namespaces and install the components using the following commands:

kubectl --context context1 create ns matrixx-operators
kubectl --context context2 create ns matrixx-operators
kubectl --context context1 create ns matrixx-engine-s1
kubectl --context context2 create ns matrixx-engine-s1
kubectl --context context1 create ns matrixx-tra
helm --kube-context context1 install mtx-engine-s1 matrixx/matrixx -n matrixx-engine-s1 -f base.yaml -f topology-initial.yaml -f cluster1.yaml --version matrixx_version
helm --kube-context context2 install mtx-engine-s1 matrixx/matrixx -n matrixx-engine-s1 -f base.yaml -f topology-initial.yaml -f cluster2.yaml --version matrixx_version
helm --kube-context context2 install mtx-operators matrixx/matrixx -n matrixx-operators -f base.yaml -f topology-initial.yaml -f cluster2.yaml --version matrixx_version
helm --kube-context context1 install mtx-operators matrixx/matrixx -n matrixx-operators -f base.yaml -f topology-initial.yaml -f cluster1.yaml --version matrixx_version
helm --kube-context context1 install mtx-tra matrixx/matrixx -n matrixx-tra -f base.yaml -f topology-initial.yaml -f cluster1.yaml -f tra.yaml --version matrixx_version

The following topology-initial.yaml file describes the initial topology:

global:
  configurationSources:
    pricing-config-s1:
      docker:
        image: example-pricing-sideloader-s1:matrixx_version
  topology:
    operators:
      master:
        context: context1
        namespace: matrixx-operators
      agents:
      - context: context1
        namespace: matrixx-operators
        externalAddress: topology-agent-1 external address
      - context: context2
        namespace: matrixx-operators
        externalAddress: topology-agent-2 external address
    domains:
    - subdomains:
      - pricing:
          configurationSource:
            refName: pricing-config-s1
          fileName: mtx_pricing_matrixxOne.xml
        engines:
        - context: context1
          namespace: matrixx-engine-s1
          processing:
            externalAddress: proc-cls-s1e1 external address
          publishing:
            externalAddress: publ-cls-s1e1 external address
        - context: context2
          namespace: matrixx-engine-s1
          processing:
            externalAddress: proc-cls-s1e2 external address
          publishing:
            externalAddress: publ-cls-s1e2 external address

The base.yaml and tra.yaml configuration files used in this deployment are the same as those in the discussion about an example deployment with Gateway Proxy, RS Gateway, and site-level TRAs. Those files can be used here as well.

Note: In a single-sub-domain deployment, TRA is configured for disaster recovery (DR) mode by default. In a multi-sub-domain deployment, TRA is configured for sub-domain routing (RT) mode.

To configure TRA for RT mode in an single-sub-domain deployment (such as the initial deployment described in this section), set the global.topology.tra.mode property to rt in base.yaml.