Recommended setup for utilizing EFS with CloudBees Core running on Kubernetes
As stated in the Supported platforms:
CloudBees does not recommend running CloudBees CI on Amazon EFS. CloudBees customers have observed multiple severe performance issues that have been confirmed by Amazon Support as expected behavior on EFS. CloudBees recommends using Amazon Elastic Block Store (Amazon EBS) as an alternative. The EBS StorageClass handles the failover of a single machine, if enough spare capacity is available in the cluster, or auto-scaling is enabled and allowed for scale-up.
The following KB guides you in using your EFS storage with CloudBees CI even if it is not a recommended storage for the product to work correctly.
- Availability Zones
### Step 2 - Choose optional settings
- Choose the performance mode. It is recommended that you use General Purpose to achieve best performance with CloudBees Core.
- Choose the throughput mode. It is recommended that you use the following settings to achieve best performance with CloudBees Core:
- Throughput (MiB/s) 160
It is recommended that you choose the Create File System setting for CloudBees Core.
The efs-provisioner, which has been used for a while, has been deprecated. At the moment of writing this article, there is a new Amazon EFS CSI driver, but the problem with this solution is that it does not dynamically create a PV from a PVC. CloudBees Core CI expects your
StorageClass to automatically create a PV once a PVC is created. This is a requeriment for the product to work correctly with the volume provisioning.
In the current state, CloudBees CI recommends to deploy nfs-subdir-external-provisioner. When deploying ensure that
nfs.server is filled with the DNS of the EFS server.