HA postgresql в kubernetes

#postgresql #kubernetes

#postgresql #kubernetes

Вопрос:

Я хотел развернуть postgresql в качестве базы данных в моем кластере kubernetes. На данный момент я следовал этому руководству.

Прочитав все это, я понял, что мы требовали статическое хранилище перед запуском postgresql, чтобы у нас были данные на случай сбоя модуля. Также мы можем выполнить репликацию, указав на то же место хранения, чтобы вернуть наши данные обратно.

Что произойдет, если мы используем два рабочих узла, а модули, содержащие базу данных, мигрируют на другой узел? Я не думаю, что локальное хранилище будет работать.

Ответ №1:

hostPath объем не рекомендуется для производственного использования из-за его эфемерной природы, что означает, что если модуль переносится на другой узел, хранилище не переносится, и если узел перезагружается, данные теряются.

Для надежного хранения используйте внешние блочные или файловые системы хранения, смонтированные на узлах с использованием поддерживаемого драйвера CSI

Что касается HA postgres, я предлагаю вам изучить Postgres Operator, который предоставляет простые в запуске высокодоступные кластеры PostgreSQL в Kubernetes (K8s) на базе Patroni. Он настраивается только через Postgres manifests (CRDS), чтобы упростить интеграцию в автоматизированные конвейеры CI / CD без прямого доступа к Kubernetes API, продвигая инфраструктуру в виде кода, а не ручных операций

Комментарии:

1. На данный момент я развертываю файлы yaml только через kubectl, можете ли вы дать представление о том, что helm такое?

2. Я предлагаю задать другой вопрос о helm, потому что это выходит за рамки данного вопроса