Tried to Setup ERPNext through k8's or helm on eks cluster and nfs storages

Hi Team,

I was tried to Implement the ERPNext Setup Installation on Kubernetes. redis pods are working fine. but PVCs and MariaDB and application pods were not working as I expected. application pods are in a pending state. can anyone please help on this?

Thanks in Advance.

  • You need default storage class which is not nfs
  • Install MariaDB and NFS helm charts using the default storage class. (NOT nfs)
  • Install ERPNext using the NFS storage class.

Follow the steps from here for sequence https://github.com/frappe/helm/blob/main/tests/script.sh

For AWS EKS follow

Hi Revant,

Thanks for ur Quick response. I am working on it.

Hi Revant,

I tried to set up Karpenter on my eks Kubernetes cluster. while doing this I realized that nodes are not available. so I created a node group with t3.medium and check the pod status… so I checked the pod logs. below I’m giving you the error message.

Please help us. Thanks in Advance.

Error Message:-

2023-07-25T11:51:06.443Z FATAL controller Checking EC2 API connectivity, WebIdentityErr: failed to retrieve credentials

caused by: ValidationError: Request ARN is invalid

    status code: 400, request id: 4da02c1d-bb02-47b5-84d1-5f61ef22c186      {"commit": "10c5b5a"}

Hi Team,

I have tried to Implement this but my error was:-

 kubectl logs karpenter-59cb5d9774-hsjhq -n karpenter
2023-07-25T12:15:55.813Z        DEBUG   Successfully created the logger.
2023-07-25T12:15:55.813Z        DEBUG   Logging level set to: debug
panic: validating settings, Key: 'Settings.ClusterName' Error:Field validation for 'ClusterName' failed on the 'required' tag   

goroutine 1 [running]:
        github.com/samber/lo@v1.38.1/errors.go:53 +0x1f4
github.com/samber/lo.Must[...](...)
        github.com/samber/lo@v1.38.1/errors.go:65
github.com/aws/karpenter-core/pkg/operator/injection.WithSettingsOrDie({0x2ec8b98, 0xc000b06f90}, {0x2eea298, 0xc000a00000}, {0xc00048d3c0, 0x2, 0x0?})
        github.com/aws/karpenter-core@v0.29.2/pkg/operator/injection/injection.go:93 +0x1b0
github.com/aws/karpenter-core/pkg/operator.NewOperator()
        github.com/aws/karpenter-core@v0.29.2/pkg/operator/operator.go:105 +0x61e
main.main()
        github.com/aws/karpenter/cmd/controller/main.go:33 +0x2e

Don’t install karpenter first, it’s optional for autoscaling

First get erpnext up and running.

Refer official karpenter docs and issues for more information on karpenter. It is not related to erpnext.

Hi Revant,

I have tried to setup in my own clusters.
Few Queries i have. please help me to resolve this.

  1. as of now i’m trying to setup in my kubernetives cluster.
    i’m facing this error:-
 kubectl -n erpnext apply -f infrastructure/cert-manager/cluster-issuer.yaml
Error from server (InternalError): error when creating "infrastructure/cert-manager/cluster-issuer.yaml": Internal error occurred: failed calling webhook "webhook.cert-manager.io": failed to call webhook: Post "https://cert-manager-helm-webhook.cert-manager.svc:443/mutate?timeout=10s": service "cert-manager-helm-webhook" not found
helm install cert-manager jetstack/cert-manager \
  --namespace cert-manager \
  --create-namespace \
  --version v1.11.0 \
  --set installCRDs=true \
  --set webhook.securePort=10260 \
  --set webhook.hostNetwork=true \
  --set securityContext.enabled=true \
  --set securityContext.fsGroup=1001 \
  --set securityContext.runAsUser=1001 \
  --set extraArgs={--issuer-ambient-credentials} \
  --set serviceAccount.annotations."eks\.amazonaws\.com/role-arn"=arn:aws:iam::<aacount-id>:role/dns-manager
W0727 11:24:04.714888   19075 warnings.go:70] unknown field "spec.template.spec.securityContext.enabled"
Error: INSTALLATION FAILED: failed post-install: 1 error occurred:
	* timed out waiting for the condition

is that required ssl certificates and domain for setup the infra? as of now i’m trying to setup test environment.

Thanks
Arjuna Sunkara

cert-manager.io is required for certificate automation.

Hi Revant,

i have tried to set up with a certificate. after configuring the job. the pod has been created. the pod is in pending state. I’m getting the error below.

Events:
Type Reason Age From Message


Warning FailedScheduling 35s default-scheduler 0/2 nodes are available: 2 pod has unbound immediate PersistentVolumeClaims. preemption: 0/2 nodes are available: 2 Preemption is not helpful for scheduling.

do we need to create PVC and PV. storage class I have created in AWS EFS.

Please help me. i’m at final stage to get the dashboard.

Thanks in advance.
jhanavi

We need PVC with the RWX storage class.

It seems it cannot mount a volume in pod.

Did you try the simple nginx pod from aws efs docs?

Hi Revant,

i tried to setup. i’m also facing the same issue. for me nginx was working fine. and i can able to see the nginx page from load balancer end point.

but when i execute the command kubectl -n erpnext apply -f apps/erpnext/configure-kbi-job.yaml job has created sucessfully but pod has been pending state.
so i tried to debug so when describe the pod. i have seen attached SS error. please help.

Thanks and Regards,
Arjuna Sunkara

It’s trying to use kbi-erpnext PVC. Is it available for use?

Check logs of efs driver/controller?

The first bench you add is a ui to operate your cluster of other benches. It can be further extended with your custom app.

It helps with managing benches, execute bench commands, manage ingress/sites, etc.

check screen videos here: Home · Wiki · castlecraft / k8s_bench_interface · GitLab

Created a post here Manage official or custom frappe-benches on Kubernetes

Hi Revant,

i think the one issue with my pvc i have followed the steps in the documentation. i’m struck at the final stage. here is the errors i facing. please help me.

Thanks,
Arjuna Sunkara

Pod logs.

Is AWS EFS csi driver installed properly? What are the pod logs for efs csi? https://github.com/kubernetes-sigs/aws-efs-csi-driver/blob/master/docs/README.md

I can’t help you further, I’ll need access to your AWS and time to debug it. There are other organisations running erpnext on eks with EFS csi.

Hi revant,

finally i found the issue and fixed that pvc one. but configured everything till which you provided in the documentation. pod are running fine as well. still i couldn’t able to see the dashboard. after kubectl -n erpnext apply -f apps/erpnext/kbi-ingress.yaml is there anything else which i have to do ?

Thanks,
Arjuna_Sunkara

do you have the ingress controller installed? optionally cert-manager.io for tls?

ingress controller installed. job are also fine. so i checked pod logs. attached SS please check.