Назад | Перейти на главную страницу

Связующий кластер OpenShift: равномерное распределение реплик между центрами обработки данных

У меня есть кластер OpenShift, который расположен между двумя физически разделенными центрами обработки данных для геоизбыточности. Узлы помечены в соответствии с их расположением.

Теперь я ищу способ настроить планировщик таким образом, чтобы, если модуль работает с одной репликой (которая находится в одном из двух центров обработки данных), и запускается дополнительная реплика, дополнительная реплика запускается в другом центры обработки данных? Так что, если развертывание выполняется с четным числом реплик, реплики равномерно распределяются между обоими центрами обработки данных?

Я искал в документации по привязке модулей / узлов, а также в конфигурации планировщика, но не нашел ничего, что мне нужно. Может я просто гуглию не так?

Любая помощь приветствуется.

Если вы присвоили узлам метку, например расположениепроверьте метки с помощью следующей команды

oc get nodes --show-labels

ServiceAntiAffinity принимает метку и обеспечивает хорошее распределение модулей, принадлежащих одной службе, по группе узлов на основе значений метки.

Распространение по центру обработки данных

вы можете добавить следующий контент внутри /etc/origin/master/scheduler.json файл

 {
            "argument": {
                "serviceAntiAffinity": {
                    "label": "location"
                }
            },
            "name": "Location",
            "weight": 2
        }