Set up high availability

Mirantis Secure Registry (MSR) is designed to scale horizontally as your usage increases. You can scale each of the resources the MSR Helm chart creates by editing the replicaCount setting across each resource. You can also add more replicas to cause MSR to scale to demand and for high availability.

To ensure that MSR is tolerant to failures, you can add additional replicas to each of the resources MSR deploys. MSR with high availability requires a minimum of three Nodes.

When sizing your MSR installation for high availability, Mirantis recommends that you follow these best practices:

  • Ensure that multiple Pods created for the same resource are not scheduled on the same Node. To do this, enable a Pod affinity setting in your Kubernetes environment that schedules Pod replicas on different Nodes.

    Note

    If you are unsure of which Pod affinity settings to use, set the global.podAntiAffinityPreset to hard, to enable the recommended affinity settings intended for a highly available workload.

  • Do not scale RethinkDB with just two replicas.

    Caution

    RethinkDB cannot tolerate a failure with an even number of replicas.

    To determine how to best scale RethinkDB, refer to the following table.

    MSR RethinkDB replicas

    Failures tolerated

    1

    0

    3

    1

    5

    2

    7

    3

    Caution

    Adding too many replicas to the RethinkDB cluster can lead to performance degradation.