Usage

Below is a simple example of the module configuration:

deckhouse: |
  logLevel: Debug
  bundle: Minimal
  releaseChannel: RockSolid

You can also configure additional parameters.

Setting up the update mode

Deckhouse will update as soon as a new release will be created if update windows are not set and the update mode is Auto.

Patch versions (e.g. updates from 1.26.1 to 1.26.2) are installed without confirmation and without taking into account update windows.

You can also configure node disruption update window in CR NodeGroup (the disruptions.automatic.windows parameter).

Update windows configuration

You can configure the time when Deckhouse will install updates by specifying the following parameters in the module configuration:

deckhouse: |
  ...
  releaseChannel: Stable
  update:
    windows: 
      - from: "8:00"
        to: "15:00"
      - from: "20:00"
        to: "23:00"

Here updates will be installed every day from 8:00 to 15:00 and from 20:00 to 23:00.

You can also set up updates on certain days, for example, on Tuesdays and Saturdays from 13:00 to 18:30:

deckhouse: |
  ...
  releaseChannel: Stable
  update:
    windows: 
      - from: "8:00"
        to: "15:00"
        days:
          - Tue
          - Sat

Manual update confirmation

If necessary, it is possible to enable manual confirmation of updates. This can be done as follows:

deckhouse: |
  ...
  releaseChannel: Stable
  update:
    mode: Manual

In this mode, it will be necessary to confirm each minor Deckhouse updates (excluding patch versions).

Manual confirmation of the update to the version v1.26.0:

kubectl patch DeckhouseRelease v1-26-0 --type=merge -p='{"approved": true}'

Manual disruption update confirmation

If necessary, it is possible to enable manual confirmation of disruptive updates (updates that change the default values or behavior). This can be done as follows:

deckhouse: |
  ...
  releaseChannel: Stable
  update:
    disruptionApprovalMode: Manual

In this mode, it will be necessary to confirm each minor disruptive update with an annotation:

kubectl annotate DeckhouseRelease v1-36-0 release.deckhouse.io/disruption-approved=true

Deckhouse update notification

In the Auto update mode, you can set up a webhook call, to be notified of an upcoming Deckhouse minor version update.

Example:

deckhouse: |
  ...
  update:
    mode: Auto
    notification:
      webhook: https://release-webhook.mydomain.com

After a new Deckhouse minor version appears on the update channel, a POST request will be executed to the webhook’s URL before it is applied in the cluster.

Set the minimalNotificationTime parameter to have enough time to react to a Deckhouse update notification. In this case, the update will happen after the specified time, considering the update windows.

Example:

deckhouse: |
  ...
  update:
    mode: Auto
    notification:
      webhook: https://release-webhook.mydomain.com
      minimalNotificationTime: 8h

Collect debug info

Read the FAQ to learn more about collecting debug information.