Prepare K8
Before we begin
- It is assumed that you have access to a Kubernetes cluster with admin roles.
- Make sure you have
kubectl
andhelm
installed. - Confirm that you can access the cluster using
kubectl
.
Requirements
- LoadBalancer Service is required to allow and redirect access to services on the Kubernetes cluster. Install any ingress controller of your choice. Note this will create a load balancer resource with the cloud provider.
- kubernetes/nginx-ingress: Documentation examples are based on this ingress controller.
- Certificate Management is required to manage TLS/SSL Certificates, ACME, and Letsencrypt related management. Install any certificate management tool of your choice.
- cert-manager.io: Documentation to create ingress yamls is based on cert-manager. You need to create
ClusterIssuer
namedletsencrypt-prod
after installation to start using cert-manager. Remember to use correct letsencrypt production server. e.g.https://acme-v02.api.letsencrypt.org/directory
- cert-manager.io: Documentation to create ingress yamls is based on cert-manager. You need to create
-
MariaDB can be installed on the Kubernetes cluster and shared across multiple ERPNext deployments. Refer to the MariaDB Installation to install MariaDB Helm Chart on your Kubernetes cluster. After the completion of this step, note down the
mariadbHost
. It is the cluster hostname or the hostname provided by managed database provider. For HA installations, use Managed DB. -
Shared Filesystem, i.e. Persistent Volume with Access Mode
ReadWriteMany
is required to store sites. There are many choices out there. After completion of this step note down thestorageClass
. It is required during the ERPNext installation as a value forpersistence.storageClass
.