Replication

By default, every pod has a single instance. This is good enough for most use-cases. Our software also allows replication. This is useful for:

  1. Allowing for zero-downtime node evictions during Kubernetes Upgrades

  2. Manually scale the pods up to process high loads

  3. (Not Supported yet) Using Horizontal Pod Autoscaling to scale up pods automatically

To enable multiple replicas, there are 2 options to enable them in the helm-chart values.yaml:

  1. For every service in the serviceConfig section, there is a replicas setting (defaults to 1 )
    Example:

    serviceConfig: meshrepair: replicas: 1 // Set to higher number for manual replication
  2. Ensure zero-downtime Kubernetes updates. This is useful to turn on just before running a Kubernetes updates which typically comes with node-evictions and downtimes. When this setting is enabled, 2 replicas of the most critical nodes will be created. Additionally a Pod Disruption Budget will be defined to ensure that one replica is up during node-evictions. To enable it set this in the values.yaml:

    zeroDowntimeDeployment: enabled: true