Migrating from Custom Edition to Custom Edition

You can migrate Custom Edition to Custom Edition. The data that you can migrate includes tenant unit configuration data. The tenant unit configuration data includes user settings, dashboards, events, alerts, application perspectives, EUM websites and mobile apps, and other data. Migration is manual and pre-backend installation, it requires a fresh Postgres setup.

Note: The analytics and metrics data from your Instana agents cannot be migrated.
Note: Important You can use the same license of your Custom Edition to migrate to Custom Edition.

Prerequisites

Make sure that the following prerequisites are met:

  • The Kubernetes cluster is installed and configured.
  • The Instana kubectl plug-in is installed.
  • The data stores are up and running.

Procedure

To migrate the data, complete the following steps:

  1. On your Custom Edition host, extract the tenant unit configuration data from the Postgres data store.

    kubectl-instana dump config-data --unit <unitname> --unit-namespace <namespace>
     

    A dump-<timestamp>.tar.gz file is created in the current directory. This file contains the tenant unit configuration data in the form of executable SQL queries.

    Table 1. Extraction parameters
    Parameter Description
    --unit-namespace Unit Namespace (default: instana-units)
    --postgres-namespace Namespace (default: instana-postgres)
    --unit Name of unit (default: unit0-tenant0)
  2. Transfer the generated dump-<timestamp>.tar.gz file package from the old host to your new Custom Edition host.
  3. Install data stores, see Setting up data stores.
  4. Import data from Custom Edition.
    kubectl-instana migrate -f <path-to-dump-file>
    Table 2. Migration parameters
    Parameter Description
    -f, --file Path to the migration memory dump archive
    --postgres-namespace Namespace (default: instana-postgres)
    --postgres-name Name of the Postgres cluster (default: postgres)
    --postgres-user Postgres username
    --postgres-password Postgres password
  5. Extract the memory dump archive and use the following configuration for installing the backend:
    tar -xzf dump-<timestamp>.tar.gz -o dump/migrate.yaml | cat
  6. Note the parameters in the migrate.yaml file. You need to use these values to install the Instana backend.
    • Use the following parameters from the migrate.yaml file in Core Secret.
      • salesKey
      • tokenSecret
      • downloadKey
    • Use the following parameters from the migrate.yaml file in Unit Secret.
      • downloadKey
      • agent keys
    • Use the following parameters from the migrate.yaml file for Creating a core as shown in the following example.
      apiVersion: instana.io/v1beta2 
      kind: Core 
      metadata: 
        namespace: instana-core 
        name: instana-core 
      spec:
         imageConfig: 
           tag: 3.xxx.xxx-0 
      ...
    • Use the following parameters from the migrate.yaml file for Creating a Unit and Tenant.
      • tenantName
      • unitName
  7. Install the Instana backend, see Installing the Instana backend.

Post-migration configurations

If required, redo the following configurations that were on the old host.

  • New Custom Edition instance is not connected to any agent by default. Complete one of the following steps:
    • Connect your agents to old and new backends, see Configuring multiple backends.
    • Connect your agents to the new backend, update the existing DNS records to point to the new Custom Edition instance. The agents automatically start reporting to the new backend.
  • After the migration, when the old and new environments are connected to your agents, both the Instana environments generate alerts. To avoid duplicate alerts, you can set a maintenance window on one of your Instana instances. For more information, see Scheduling maintenance windows.

  • Feature flags that were enabled in your old Custom Edition instance are not migrated. You must manually enable the feature flags again in your new environment.