Migrating from Mach5 Search v4.7.0 to v6.1.0

This guide walks you through upgrading Mach5 Search version v4.7.0 to v6.1.0 using Helm.

Prerequisites

  • Ensure that all ingest pipelines are paused before upgrading to this new version.
  • Turn off the compaction work by scaling down the compaction controller deployment using the following command:
kubectl scale deployment m5s-mediatorcompactorcontroller --replicas=0 -n mach5 
  • A new EKS node group with the following configuration is needed for the Foundation DB pods:
Node group nameDesired, Min SizeMax sizeInstance TypeLabelsPre bootstrap stepsTags
mach5-fdb-nodes1,15c5a.xlargemach5-fdb-role=“true”NA“k8s.io/cluster-autoscaler/cluster-name” = “owned”, “k8s.io/cluster-autoscaler/enabled” = “true”, “k8s.io/cluster-autoscaler/node-template/label/group” = “mach5-fdb-nodes“, “k8s.io/cluster-autoscaler/node-template/label/mach5-fdb-role” = “true”
  • The mach5-ccs-nodes node group can be removed.
  • The mach5-warehouse-head-nodes node group needs to be updated to use an instance type which supports NVMe disks. Suggested configuration updates:
Node group nameDesired, Min SizeMax sizeInstance TypeLabelsPre bootstrap stepsTags
mach5-warehouse-head-nodes0,010m6id.2xlargemach5-warehouse-head-role=“true”setup-local-disks raid0“k8s.io/cluster-autoscaler/cluster-name” = “owned”, “k8s.io/cluster-autoscaler/enabled” = “true”, “k8s.io/cluster-autoscaler/node-template/label/group” = “mach5-warehouse-head-nodes“, “k8s.io/cluster-autoscaler/node-template/label/mach5-warehouse-head-role” = “true”
  • On the base version, if Keycloak-based authentication and authorization are enabled, please also refer to the migration guide: Migrating to v5.9.0

Mach5 Search License

A license token is required for this target version of Mach5. Please request the License Token Setup Guide from Mach5 team and provide the requested details to the Mach5 Administrator to obtain your license.

Once the license token is obtained, include it in your values.yaml for upgrade as follows:

license:
  metered: false 
  token: "ADD TOKEN HERE"

Download and extract the contents of the Mach5 Search Helmchart

First, authenticate to the OCI registry and pull the Helm chart.

cat reader-key.json | helm registry login https://us-central1-docker.pkg.dev -u _json_key --password-stdin

Download the Helm chart for Mach5 Search: (Contact the Mach5 Search Administrator for the latest release version)

helm pull oci://us-central1-docker.pkg.dev/mach5-dev/mach5-docker-registry/mach5-search --version $VERSION

Extract the contents:

tar -xzvf mach5-search-$VERSION.tgz 

Install Foundation DB CRDs

This version of Mach5 Search deprecates the use of the cstorecacheserver component, which was previously a core part of the system in 4.7.x, and transitions instead to leveraging FoundationDB as the underlying storage and coordination layer. Make sure the required CRDs for FoundationDB are installed before upgrading.

kubectl apply -f mach5-search/crds/apps.foundationdb.org_foundationdbclusters.yaml
kubectl apply -f mach5-search/crds/apps.foundationdb.org_foundationdbbackups.yaml
kubectl apply -f mach5-search/crds/apps.foundationdb.org_foundationdbrestores.yaml

Upgrade the helm release

Run the following command to upgrade your Mach5 Search deployment.
Make sure you are using the correct namespace (mach5) and a customized values.yaml.

helm upgrade --install <mach5-release-name> mach5-search-$VERSION.tgz -nmach5 -f values.yaml