Upgrade components with Launchpad

Launchpad allows users to upgrade their clusters with the launchpad apply reconciliation command. The tool discovers the current state of the cluster and its components, and upgrades what is needed.

Upgrade Mirantis Container Runtime

  1. Change spec.mcr.channel in the launchpad.yaml file to the target MCR series, for example from stable-25.0 to a later stable-25.<minor> channel.

    apiVersion: launchpad.mirantis.com/mke/v1.6
    kind: mke
    metadata:
      name: <metadata-name>
    spec:
      hosts:
      - role: manager
        ssh:
          address: 10.0.0.1
      mke:
        version: <mke-version>
      mcr:
        channel: stable-25.0
    
  2. Run launchpad apply. Launchpad will upgrade MCR on all hosts in the following sequence:

    1. Upgrade the container runtime on each manager node one-by-one, and thus if there is more than one manager node, all other manager nodes are available during the time that the first node is being updated.

    2. Once the first manager node is updated and is running again, the second is updated, and so on, until all of the manager nodes are running the new version of MCR.

    3. 10% of worker nodes are updated at a time, until all of the worker nodes are running the new version of MCR.

Upgrade MKE, MSR, AND MCR (separately or collectively)

To upgrade MKE, MSR, and MCR, update the component versions in launchpad.yaml and run launchpad apply. MKE and MSR use the version key. MCR uses the channel key.

Note

Launchpad upgrades MKE on all nodes.

  1. Open the launchpad.yaml file.

  2. Update the version values of MKE and MSR and the channel value of MCR to the target releases.

  3. Save launchpad.yaml.

  4. Run the launchpad apply command.

    Launchpad connects to the nodes to get the current version of each component, after which it upgrades each node as described in Upgrading Mirantis Container Runtime. This may take several minutes.

Note

When the swarm already exists, as it does during an upgrade, Launchpad does not stop if --pod-cidr overlaps the Swarm overlay address pool. Instead, it logs a warning and continues. Refer to Pod CIDR and the Swarm overlay address pool.