Single Namespace
These examples show installation and upgrade of Topology Operator masters, agents, and MATRIXX Engines s1e1 and s1e2 in the matrixx
namespace.
Installation Example
Create the namespace and perform installation with the following commands:
kubectl create ns matrixx
helm install mtx matrixx/matrixx -n matrixx -f base.yaml -f topology-install.yaml --version matrixx_version
Where matrixx_version is the version of MATRIXX, such as 5280.
In a single-namespace, single-cluster deployment, explicit location configurations for the masters, agents, or engines are not needed.
The base.yaml Helm values file has the following contents:
activemq:
enabled: false
engine:
enabled: true
event-streamer:
enabled: false
gateway-proxy:
enabled: false
global:
image:
registry:
name: registry_url
password: registry_password
username: registry_username
matrixxbct:
enabled: false
mymatrixx:
enabled: false
notifier:
enabled: false
payment-service:
enabled: false
pricing-controller:
enabled: false
rsgateway:
enabled: false
snmp-exporter:
enabled: false
tra:
enabled: false
The topology-install.yaml
has the following contents:
engine:
enabled: true
global:
configurationSources:
pricing-config:
docker:
image: example-pricing-sideloader:matrixx_version
topology:
domains:
- subdomains:
- pricing:
configurationSource:
refName: pricing-config
fileName: mtx_pricing_matrixxOne.xml
engines:
- checkpointing:
replicaCount: 1
processing:
replicaCount: 2
tralb:
replicaCount: 2
publishing:
replicaCount: 2
tralb:
replicaCount: 2
- checkpointing:
replicaCount: 1
processing:
replicaCount: 2
tralb:
replicaCount: 2
publishing:
replicaCount: 2
tralb:
replicaCount: 2
pricing-controller:
enabled: true
Upgrade Example
Upgrade the processing, publishing, and checkpointing pods of both engines to use custom configuration with the following command:
helm upgrade mtx matrixx/matrixx -n matrixx -f base.yaml -f topology-upgrade.yaml --version matrixx_version
The processing, publishing, and checkpointing pods of both engines are configured with a configuration source using a topology-upgrade.yaml Helm values file with the following contents:
engine:
enabled: true
global:
configurationSources:
pricing-config:
docker:
image: example-pricing-sideloader:matrixx_version
engine-config:
docker:
image: example-engine-config-sideloader:matrixx_version
topology:
domains:
- subdomains:
- pricing:
configurationSource:
refName: pricing-config
fileName: mtx_pricing_matrixxOne.xml
configuration:
engine:
sources:
- refName: engine-config
engines:
- checkpointing:
replicaCount: 1
processing:
replicaCount: 2
tralb:
replicaCount: 2
publishing:
replicaCount: 2
tralb:
replicaCount: 2
- checkpointing:
replicaCount: 1
processing:
replicaCount: 2
tralb:
replicaCount: 2
publishing:
replicaCount: 2
tralb:
replicaCount: 2
pricing-controller:
enabled: true
helm upgrade
to update the engine configuration, rather than uninstalling and reinstalling.