ec2 node type preferred:
Instance | vCPU* | Mem (GiB) | Instance Storage (GB) | Networking Performance (Gbps)*** |
---|---|---|---|---|
i3.large | 2 | 15.25 | 1 x 475 NVMe SSD | Up to 10 |
Family: Storage Optimized, best suited for low latency, high IOPS workloads like relational DBs. Cost: 0.177 per instance per hour for OD - 129.12 USD / month Storage: gp2 SSD based EBS volume - 20 GB (2.28 USD / month)
PostgreSQL server replicas: 2 [need to verify if postgresql helm chart supports a master/slave or a backup replica feature on k8s] - this would also mean two EBS volumes instead of one.
Changes in values file:
architecture: replication primary:
nodeSelector:
[node.kubernetes.io/instance-type:](<http://node.kubernetes.io/instance-type:>) i3.large
persistence:
size: 20 Gi
readReplicas:
replicaCount: 2
For monitoring set-up with prometheus-stack, update this in the values file as well:
metrics:
enabled: true
prometheusRule:
enabled: true
namespace: prometheus-46xitb-srgcgk #namespace where Prom Stack is deployed
serviceMonitor:
additionalLabels:
release: my-release #prom stack release name
enabled: true
labels:
release: my-release #prom stack release name
namespace: prometheus-46xitb-srgcgk #namespace where Prom Stack is deployed