Install the MATRIXX Charts in the Kubernetes Cluster

After you install Helm and configure a private chart repository containing the MATRIXX charts, use Helm to install MATRIXX in the Kubernetes cluster.

Before you begin

This procedure assumes you have knowledge of and access to the kubectl tool.

The MATRIXX charts assume that the required images are available in an image repository the Kubernetes cluster can access. Ensure that the URL of the repository and any required credentials are provided in your Helm values file. For information about available options, see the discussion about configuring MATRIXX using Helm.

Note: This procedure installs a simple example in a single Kubernetes namespace. Installing MATRIXX in multiple namespaces can make upgrading to new releases easier to perform, because sub-groups of components can be upgraded without affecting others. For more information, see the discussion about multi-namespace installation.

Procedure

  1. Helm requires a chart to be installed to a specific namespace that must exist before the chart is installed. Create the matrixx namespace.
    kubectl create ns matrixx
  2. Depending on topology, MATRIXX Engine uses a number of persistent volumes that must exist before installation. Create the directories with mode 755, owner 1000, and group 1000 with commands similar to the following:
    sudo mkdir -pm777 /home/data/matrixx-shared-storage-s1e1
    sudo mkdir -pm777 /home/data/matrixx-fast-shared-storage-s1e1
    sudo mkdir -pm777 /home/data/matrixx-shared-logging-storage
    sudo mkdir -pm777 /home/data/matrixx-shared-coredump-storage
    sudo mkdir -pm777 /home/data/matrixx-catalog-builder
    sudo mkdir -pm777 /home/data/matrixx-routing-cache-checkpoint-ag1

    For more information, see the discussion about persistent storage for Kubernetes clusters in MATRIXX Architecture.

  3. Install MATRIXX in the Kubernetes cluster with the MATRIXX Helm chart.
    helm install ag1 matrixx/matrixx --namespace matrixx -f values.yaml
    The command names the release ag1 and installs it in the matrixx namespace. These values must be specified when upgrading or uninstalling this release.

    The command also uses information in your Helm values file to configure the chart, and by extension, the MATRIXX installation. The following is a simple example of a Helm values file that specifies an engine and configures the pricing controller to load pricing from an example-pricing-sideloader image:

    global:
      image:
        registry:
          name: localhost:32000
          createSecret: false
     
      topology:
        domains:
        - pricing:
            image:
              name: example-pricing-sideloader
              version: 5210-558
            filePath: /pricing
            fileName: mtx_pricing_matrixxOne.xml
        - subdomains:
            # Sub Domain One
          - id: 1
            engines:
            # Engine 1 (full configuration)
            - id: 1
              processing:
                replicaCount: 2
                tralb:
                  replicaCount: 2
              publishing:
                replicaCount: 1
                tralb:
                  replicaCount: 1
              checkpointing:
                replicaCount: 1
    For more information about configuration properties, see the discussion about configuring MATRIXX components using Helm, and the discussion about the example deployments. For more information about loading pricing in a cloud native MATRIXX deployment, see the discussion about pricing configuration.