Я все еще обнимаю Кубернеса и как это должно работать. В настоящее время я пытаюсь понять, как моделировать что-то вроде кластера PostgreSQL с потоковой репликацией, масштабированием и автоматическим отказоустойчивостью/откатом (pgpool-II, repmgr, выбрать ваш яд).
Моя основная проблема с этим подходом - двойственная природа экземпляра PostgreSQL, конфигурация - это либо мастер, либо холодный/теплый/горячий режим ожидания. Если я увеличиваю количество реплик, я бы ожидал, что они все придут как standbys, поэтому я бы предположил создать контроллер репликации postgresql-standby отдельно от модуля postgresql-master. Однако я ожидаю, что один из этих standbys станет мастером в случае, если текущий мастер не работает, поэтому он является общим контроллером репликации postgresql.
Единственная идея, которую я имел до сих пор, - это установить конфигурацию репликации на внешний том и управлять изменениями состояния и состояния вне контейнеров.
(в случае PostgreSQL конфигурация, вероятно, уже будет находиться на томе внутри его каталога data, который сам, очевидно, будет мне нужен на томе, но это не так)
Правильно ли это соответствует, или есть ли другой более чистый способ?