Note that if the cluster has more than one master node, HA mode is enabled automatically. This applies both when deploying a cluster with multiple master nodes from the start and when increasing the number of master nodes from one to three.

Enabling HA mode globally

You can enable HA mode globally for DVP in one of the following ways.

Using ModuleConfig/global custom resource

  1. Set the settings.highAvailability parameter to true in ModuleConfig/global:

    apiVersion: deckhouse.io/v1alpha1
    kind: ModuleConfig
    metadata:
      name: global
    spec:
      version: 2
      settings: 
        highAvailability: true
    
  2. To ensure HA mode is enabled, you can, for example, check the number of deckhouse Pods in the d8-system namespace. To do that, run the following command:

    d8 k -n d8-system get po | grep deckhouse
    

    The number of deckhouse Pods in the output must be more than one:

    deckhouse-57695f4d68-8rk6l                           2/2     Running   0             3m49s
    deckhouse-5764gfud68-76dsb                           2/2     Running   0             3m49s
    deckhouse-fgrhy4536s-fhu6s                           2/2     Running   0             3m49s
    

Using Deckhouse web UI

If the console module is enabled in the cluster, open the Deckhouse web UI, navigate to DeckhouseGlobal settingsGlobal module settings, and switch the HA mode toggle to Yes.

Enabling HA mode for individual components

Some DVP modules may have their own HA mode settings. To enable HA mode in a specific module, set the settings.highAvailability parameter in its configuration. The HA mode operation in individual modules is independent of the global HA mode.

List of modules supporting individual HA mode:

  • deckhouse
  • openvpn
  • istio
  • dashboard
  • multitenancy-manager
  • user-authn
  • ingress-nginx
  • prometheus-monitoring
  • monitoring-kubernetes
  • snapshot-controller

To enable HA mode manually for a specific module, add the settings.highAvailability parameter to its configuration:

apiVersion: deckhouse.io/v1alpha1
kind: ModuleConfig
metadata:
  name: deckhouse
spec:
  version: 1
  enabled: true
  settings:
    highAvailability: true

To ensure HA mode is enabled, check the number of Pods for the target module. For example, to verify the mode operation for the deckhouse module, check the number of corresponding Pods in the d8-system namespace by running the following command:

d8 k -n d8-system get po | grep deckhouse

The number of deckhouse Pods in the output must be more than one:

deckhouse-57695f4d68-8rk6l                           2/2     Running   0             3m49s
deckhouse-5764gfud68-76dsb                           2/2     Running   0             3m49s
deckhouse-fgrhy4536s-fhu6s                           2/2     Running   0             3m49s