Skip to main content

CMX Overview

This topic describes Replicated Compatibility Matrix (CMX), including use cases, architecture, billing, and more.

Overview

You can use CMX to quickly provision ephemeral VMs or clusters so you can develop and test against a customer-representative environment. Example use cases for CMX include:

  • Quickly get a cluster or VM to develop on and quickly test changes
  • Run tests to validate that your application will install smoothly in the customer environment
  • Reproduce a reported issue on a customer-representative environment for troubleshooting

Use Cases

The following table shows which CMX infrastructure option to use based on how your customers install your application:

Install in Customer VMInstall in Customer Cluster
Customer EnvironmentLinux VM, with no existing Kubernetes clusterCustomer-managed Kubernetes cluster
Installer
CMX EnvironmentCMX Bare VMCMX Cluster Types
How to Test
  • Create CMX VM
  • SSM into the VM
  • Install Embedded Cluster (to install Kubernetes and your application in one step)
  • Create CMX cluster
  • Shell into the Cluster
  • Run helm install or kots install commands to simulate customer installation in their Kubernetes clusters
CMX NotesCan test on Ubuntu or AlmaLinux
(Embedded Cluster and kURL help automate your application install)
Run replicated vm versions for current VM options
Can test on EKS, GKE, AKS, OpenShift, and more
Run replicated cluster versions for current cluster options

Architecture

CMX uses two different infrastructure approaches to provision resources:

  • Warm Pool Cloud Clusters (EKS, GKE, AKS, OKE): Cloud-based Kubernetes distributions run in Replicated-managed cloud accounts. Control planes are pre-warmed and a node group is added when you request a cluster, delivering clusters faster than provisioning your own. Use these to test installations where customers bring their own cloud-managed Kubernetes clusters.

  • VMs: VMs run on Replicated bare metal servers located in several data centers, including data centers physically in the European Union.

    • Bare VMs (Ubuntu, AlmaLinux): Linux VMs without Kubernetes pre-installed. Use these when you need full control over the operating system to test the complete installation process, including cluster install.

    • VM-based clusters: VMs with Kubernetes already installed. Use these for a quick development environment (kind, k3s), to simualte end customer enivronments (RKE2, OpenShift OKD), or our automations for Embedded Cluster and kURL to run the installer behind the scenes and provide a ready cluster with your application already installed.

Prerequisites

Before you can use CMX, you must complete the following prerequisites:

Billing and Credits

Clusters and VMs created with CMX are billed by the minute, plus a startup charge. Per-minute billing begins when a running status is reached and ends when the cluster or VM is deleted.

For more information about pricing, see CMX Pricing.

To create clusters with CMX, you must have credits in your Vendor Portal account. If you have a contract, you can purchase credits by logging in to the Vendor Portal and going to Compatibility Matrix > Buy additional credits. Otherwise, to request credits, log in to the Vendor Portal and go to Compatibility Matrix > Request more credits.

Limitations

  • Each team has a quota limit on resources. Contact your account representative to increase limits.
  • Team actions with CMX are not logged in the Vendor Team Audit Log.

CMX VMs have the following limitations:

  • Creating VMs with CMX is a Beta feature.
  • Installing Embedded Cluster on a VM is supported for Embedded Cluster versions 1.21.0 or later.
  • GitHub Actions and the cluster prepare command are not supported for CMX VMs or Embedded Cluster distributions.

CMX Clusters have the following limitations:

  • Clusters cannot be resized or rebooted. Create a new cluster if you need to make changes.
  • Cloud clusters (EKS, GKE, AKS) do not yet allow configuration of CNI, CSI, CRI, Ingress, or other plugins.
  • Cloud clusters (EKS, GKE, AKS) do not yet support tunnels for exposing ports.
  • The cluster upgrade feature is available only for kURL distributions. See cluster upgrade.
  • Multi-node, ARM, and GPU support varies by distribution. See CMX Cluster Types.