Как подключиться к кластеру PostgreSQL на DigitalOcean из CircleCI?

#postgresql #digital-ocean #circleci #circleci-workflows

#postgresql #digital-ocean #circleci #circleci-рабочие процессы

Вопрос:

У меня есть настройка кластера Kubernetes на DigitalOcean и отдельный экземпляр базы данных Postgres там. В настройках кластера баз данных есть список ограниченных IP-адресов, которые имеют доступ к этому кластеру баз данных (выглядит как отличная идея).

У меня есть настройка процесса сборки и развертывания с помощью CircleCI, и в конце этого процесса, после развертывания контейнера в кластере K8s, мне нужно запустить миграцию базы данных. Проблема в том, что я не знаю IP-адрес агента CircleCI и не могу разрешить его в настройках DO. Кто-нибудь знает, как мы можем получить доступ к кластеру DigitalOcean Postgres с помощью шагов CircleCI?

Ответ №1:

К сожалению, когда вы используете подобный распределенный сервис, которым вы не управляете, я был бы очень осторожен в использовании подхода с ограниченным IP. (На самом деле у вас есть три службы, которыми вы не управляете — Postgres, Kubernetes и CircleCI.) Я чувствую, что DigitalOcean предоставил действительно отличный вариант безопасности для внутренней сети, поскольку он может отслеживать изменения в IP-адресе и т. Д.

Но когда вы развертываете другую службу, особенно если она предназначена для производства, и даже если часть вашего решения, которую вы развертываете, развернута (частично) в инфраструктуре DigitalOcean, я был бы очень обеспокоен тем, что CircleCI будет динамически изменять IP. DO не имеет возможности узнать, когда это произойдет, поскольку, в отличие от Postgres и Kubernetes, они не управляют этим, даже если они размещают часть этого

По сути, я должен посоветовать вам либо получить подтверждение статического IP-адреса от вашего поставщика / поставщика CircleCI, либо отключить ограничение IP-адреса для Postgres.