Storage setup
Several charts need a StorageClass that dynamically provisions volumes — HCL Domino needs ReadWriteOnce, and ClamAV and Chat and Meetings need ReadWriteMany. Most Kubernetes distributions, including RKE2, don't include a StorageClass by default — one has to be provisioned via a CSI driver.
Avoid an NFS-backed StorageClass for Domino's own data volume. NFS-backed storage is fine for other uses (for example, as a backup target for whichever storage solution is chosen).
Beyond the access mode, make sure the StorageClass is backed by SSD or NVMe — Domino's IOPS and throughput needs rule out HDD-backed storage.
Be sure to consider write latency on replicated StorageClasses. Some CSI drivers (for example Longhorn) replicate each volume's writes synchronously across multiple nodes for durability — every extra replica adds latency to the write path, and a replica in a different availability zone adds network round-trip time on top. This can noticeably slow write-heavy workloads like Domino's mail/file I/O. Make sure each volume actually has a healthy replica on the node its pod runs on — if none of the replicas end up local, every read and write for that volume crosses the network regardless of replica count.
Any CSI driver that provides both ReadWriteOnce and ReadWriteMany dynamic provisioning works — see the Kubernetes list of storage options and the relevant CSI driver's own documentation for installation.
Verify
kubectl get storageclass