Я пытаюсь сделать следующее. Моя система развернута в одном регионе AWS, us-west-2, в трех зонах доступности.
У меня есть система баз данных AWS RDS postgres, которая состоит из одного мастера чтения-записи и трех реплик только для чтения. Мастер работает в АЗ США-Запад-2а. Реплики работают по одному на каждый AZ-запад-2a, us-запад-2b и us-запад-2c.
У меня есть кластер AWS EKS, который состоит из двух рабочих нагрузок:
- CronJob для приема данных, который требует доступа к экземпляру RDS master для чтения / записи и нуждается в довольно мощном типе экземпляра EC2
- Развертывание сервера API, которое реплицируется на все три упомянутых выше AZ, для которых требуется доступдля реплики RDS, доступной только для чтения, в своем AZ и требует менее мощного типа экземпляра EC2
IIUC, для достижения этого мне нужно выполнить следующие задачи:
- определить две группы рабочих узлов EKS, одну для загрузки CronJob и одну для развертываний сервера API, определяя тип экземпляра EC2 для каждой группы
- добавлять метки узлов к рабочим узлам в каждой группе для
ingest
и api
используйте - добавьте поле nodeSelector для загрузки CronJob и API-серверов. Развертывания с использованием соответствующей метки узла
- определяют четыре секрета DBURL для одной операции чтения-записиглавная и три реплики, доступные только для чтения, с метками, содержащими их имя AZ и роль
ingest
или api
. - конфигурируют серверы развертывания CronJob и API для развертывания секрета DBURL, соответствующего его роли и AZ.
Это правильный подход? Если нет, какие-либо идеи / предложения о том, как лучше всего достичь моей цели?
Заранее большое спасибо!