ERPNext Deployment on Kubernetes with AWS RDS Integration

Hi ERPNext Community,

I trust you all had a wonderful holiday season!

I’m currently working on deploying ERPNext with the HRMS module on an Amazon Linux-based Docker image. The EC2 instance I’m using is built on the ARM architecture, specifically a Graviton-based instance. To achieve this, I’ve created a Dockerfile that installs all the necessary dependencies and sets up the default ERPNext site.

Now, I’m looking to take this a step further by running this Docker image on a Kubernetes cluster, already set up on the server. Additionally, I aim to integrate AWS RDS into the mix, running on the same Kubernetes cluster. The key objective is to have ERPNext utilize this RDS database for its operations.

Here’s a brief overview of what I’ve done so far:

  • Dockerfile includes installations for Frappe, Node.js, Python, MariaDB, HRMS, and other dependencies.
  • I’d like to separate the MariaDB service into one pod and ERPNext with its dependencies into another pod.

I’m seeking guidance on how to effectively achieve this setup. Specifically, I’m looking for insights on adapting my Dockerfile for Kubernetes, configuring the pods for MariaDB and ERPNext, and ensuring seamless integration with AWS RDS.

Also, I will be creating a custom app that will be in different pods and images and will be communicating to this core ERPnext pod.

Note: The Frappe version in use is 14.

Your expertise and assistance in this matter would be highly appreciated.

Thank you in advance for your valuable insights!