Migrating Existing Kubernetes Clusters Using LM Container Helm Chart

Last updated on 04 January, 2023

To make the installation and upgrade process easy, LogicMonitor has combined Argus and Collectorset-Controller Helm charts into a higher-order umbrella chart known as LM Container Helm Chart.

Note: We recommend avoiding the usage of individual Argus and Collectorset-Controller Helm charts with the release of LM Container Helm charts.

You can migrate your existing Kubernetes clusters configurations to the new LM Container configuration in the following two ways:

Requirements

Installing Helm Plugin LMC

  1. Run the following command to install Helm plugin LMC:
    helm plugin install https://github.com/logicmonitor/lmc
  2. (Optional) If you have already installed the Helm install plugin previously, run the following command to upgrade to the latest version:
    helm plugin update lmc

Migrating Existing Configurations Using Helm

You can migrate the Kubernetes clusters by using Helm commands. If required, check the access to the Kubernetes cluster with the helm ls -A command. If the command returns Helm version information, then access has been established.

1. Take the backup of the previous Helm chart configurations using the following commands:

  • Run helm ls -n <respective namespace> command to store the output in a file or any desired output. The command also displays the previous Helm chart versions that were installed.
  • Run helm get values collectorset-controller -n <respective namespace> command which displays the latest values in YAML format. Copy the values to a backup file and save it on your system. 
    For example, collectorset-controller.yaml.bkp.  
  • Run helm get values argus -n <respective namespace> and store the output in another backup file.
    For example, argus.yaml.bkp.

Note:  You must not proceed if you were unable to take the configuration backup.

2. Once you successfully take the backup, run the following commands to generate the LM Container configuration:

  • Run helm lmc config migrate command to fetch the previous chart configuration from the cluster and create LM Container configuration files. In addition, the generated configuration files get stored in the lm-container-configuration.yaml.
  • You can view the newly generated configuration file in your preferred text editor and edit the file if required.

3. You must delete the previous installations from the cluster, using the following commands:

  • Run the following command to delete Argus:
    helm delete argus -n <respective namespace>
  • Run the following command to delete Collectorset-Controller:
    helm delete collectorset-controller -n <respective namespace>
  • Delete Custom Resource Definition (CRD) object by using the following command as CRD object doesn’t get deleted with Helm chart:
    kubectl delete crd collectorsets.logicmonitor.com
  • Delete client cache configmaps using the following command:
    kubectl delete configmaps -l argus=cache

4. Install LM Container Helm Chart. For more information, see Installing LM Container Helm chart.

Migrating Existing Configurations Without Using Helm

Although we recommend using the Helm commands for seamless migration of configuration as it fetches the live configuration from the Kubernetes cluster. However, if you do not wish to use the Helm utility to deploy Helm charts, complete the following steps to migrate the existing configuration YAML files.

Requirements

  • Install the migration command-line utility by downloading the binary of the latest release.

Procedure

1. Navigate to Resources > Add Kubernetes cluster.

2. Add the required information and click Save and then click Next.

3. From the Installation Instructions section, download Argus and Collectorset-Controller YAML files.

4. Store both files on the system where the migration utility is installed.

5. Run the following command to migrate and generate lm-container-configuration.yaml file:
lmc config migrate --using-files

Note:

  • Command attempts to find the configuration file names present in the current directory as:
    collectorset-controller-configuration.yaml and argus-configuration.yaml.
  • If you want to set custom file names, then see more details about flags using the -h or --help option.

6. Once you generate the lm-container-configuration.yaml file, review if the configuration has been correctly copied from the previous files.

7. Delete previous installations from the cluster, by completing the following steps:

  • Run helm delete argus -n <respective namespace> command to delete Argus.
  • Run  helm delete collectorset-controller -n <respective namespace> command to delete Collectorset-controller.
  • As Custom Resource Definition (CRD) does not get deleted with Helm chart, you must delete the previous CRD object using the command kubectl delete crd collectorsets.logicmonitor.com
  • Remove Logicmonitor’s Helm repository.

8. Install LM Container Helm Chart. For more information see Installing LM Container Helm chart.

In This Article