Подготовка пользователя базы данных в кластере Kubernetes - PullRequest
0 голосов
/ 04 сентября 2018

У меня есть кластер Kubernetes с несколькими развернутыми приложениями, каждое из которых использует отдельный пользователь + базу данных в экземпляре Amazon RDS (Postgres).

При развертывании нового экземпляра приложения мы хотели бы предоставить базу данных и пользователя на существующем сервере Postgres.

т.е. мы хотели бы выполнить что-то одно в следующей строке декларативным способом «Желаемое состояние».

CREATE DATABASE $appname; CREATE USER $appname; GRANT ALL PRIVILEGES ON DATABASE $appname TO $appname;

В настоящее время мы делаем это с помощью отдельного сценария Ansible, однако я бы хотел обработать его, используя CustomResourceDefinition, чтобы избежать дублирования инструментов.

При поиске в Google появился экспериментальный оператор, который реализует этот шаблон (https://github.com/torchbox/k8s-database-controller),, однако он помечен как экспериментальный, не рекомендуется для использования и в основном не поддерживается.

Существует ли наилучший подход для реализации этого в Kubernetes, или нам лучше оставить это как отдельный этап подготовки?

tl; dr Хотелось бы, чтобы один экземпляр RDS Postgres совместно использовался несколькими приложениями, развернутыми в кластере Kubernetes, причем каждое приложение получало свою собственную «базу данных» в этом экземпляре.

...