Schedule Mirantis Container Cloud updates

By default, Container Cloud automatically updates to the latest version, once available. An Operator can delay or reschedule Container Cloud automatic update process using CLI or web UI. The scheduling feature allows:

  • Limiting hours and weekdays when Container Cloud update can run. For example, if a release becomes available on Monday, you can delay it until Sunday by setting Sunday as the only permitted day for auto-updates.

  • Available since Container Cloud 2.28.0 (Cluster release 16.3.0):

    • Blocking Container Cloud auto-update immediately on the release date. The delay period is minimum 20 days for each newly discovered release. The exact number of delay days is set in the release metadata and cannot be changed by the user. It depends on the specifics of each release cycle and on optional configuration of week days and hours selected for update.

      You can verify the exact date of a scheduled auto-update either in the Status section of the Management Cluster Updates page in the web UI or in the status section of the MCCUpgrade object.

    • Monitoring availability of new releases with corresponding alerts from StackLight. For details, see StackLight alerts: Container Cloud.

  • Deprecated since Container Cloud 2.28.0 (Cluster release 16.3.0) in the CLI and removed in the web UI. Blocking Container Cloud update process for up to 7 days from the current date and up to 30 days from the latest Container Cloud release

Caution

Since Container Cloud 2.23.2 (Cluster release 11.7.1), the release update train includes patch release updates being delivered between major releases. The new approach increases the frequency of the release updates. Therefore, schedule a longer maintenance window for the Container Cloud update as there can be more than one scheduled update in the queue.

For details on the currently available patch releases, see Container Cloud Release Notes: Latest supported patch releases.

Schedule update of a management cluster using the web UI

  1. Log in to the Container Cloud web UI as m:kaas@global-admin or m:kaas@writer.

  2. In the left-side navigation panel, click Admin > Updates.

  3. On the Management Cluster Updates page, verify the status of the next release in the Status section.

    • If the management cluster update is delayed, the section contains the following information about the new release: version, publish date, link to release notes, scheduled date and time of update.

    • If the management cluster contains managed clusters running unsupported Cluster versions, a tooltip with a notification about blocked update is displayed.

    • If the cluster is updated to the latest version, the corresponding message is displayed.

  4. On the left side of the page, click Settings.

  5. On the Configure updates schedule page, select Auto-delay cluster updates to delay every new consecutive release for minimum 20 days from the release publish date.

    Note

    Changing the number of delay days in unsupported. The exact number of delay days depends on specifics of each release cycle and on optional configuration of week days and hours selected for update.

  6. Optional. Select Apply updates only within specific hours:

    • From the Time Zone list, select the required time zone or type in the required location.

    • In Allowed Time for update, set the time intervals and week days allowed for update. To set additional update hours, use the + button on the right side of the window.

    Note

    You can use this option with or without the auto-delay option. When both options are enabled, the next available update starts after the 20-day interval at the earliest allowed hour and week day that are allowed by the defined time window.

  1. Log in to the Container Cloud web UI as m:kaas@global-admin or m:kaas@writer.

  2. In the left-side navigation panel, click Upgrade Schedule in the Admin section.

  3. Click Configure Schedule.

  4. Select the time zone from the Time Zone list. You can also type the necessary location to find it in the list.

  5. Optional. In Delay Upgrade, configure the update delay. You can set no delay or select the exact day, hour, and minute. You can delay the update up to 7 days, but not more than 30 days from the latest release date. For example, the current time is 10:00 March 28, and the latest release was on March 1. In this case, the maximum delay you can set is 10:00 March 31. Regardless of your time zone, configure time in accordance with the previously selected time zone.

  6. Optional. In Allowed Time for Upgrade, set the time intervals when to allow update. Select the update hours in the From and To time input fields. Select days of the week in the corresponding check boxes. Click + to set additional update hours.

Schedule update of a management cluster using CLI

You can delay or reschedule Container Cloud automatic update by editing the MCCUpgrade object named mcc-upgrade in Kubernetes API.

Caution

Only the management cluster admin and users with the operator (or writer in old-style Keycloak roles) permissions can edit the MCCUpgrade object. For object editing, use kubeconfig generated during the management cluster bootstrap or kubeconfig generated with the operator (or writer) permissions.

To edit the current configuration, run the following command in the command line:

kubectl edit mccupgrade mcc-upgrade

In the system response, the editor displays the current state of the MCCUpgrade object in the YAML format. The spec section contains the current update schedule configuration, for example:

spec:
  autoDelay: true
  timeZone: CET
  schedule:
  - hours:
      from: 10
      to: 17
    weekdays:
      monday: true
      tuesday: true
  - hours:
      from: 7
      to: 10
    weekdays:
      monday: true
      friday: true

In this example, all schedule calculations are done in the CET timezone and upgrades are allowed only:

  • From 7:00 to 17:00 on Mondays

  • From 10:00 to 17:00 on Tuesdays

  • From 7:00 to 10:00 on Fridays

For details about the MCCUpgrade object, see Container Cloud API Reference: MCCUpgrade resource.

On every update step, the Release Controller verifies if the current time is allowed by the schedule and does not start or proceed with the update if it is not.