Setting up storage for a Kubernetes cluster
Sidero Labs recommends having separate disks (separate from the Talos install disk) dedicated for storage.Redundancy, scaling capabilities, reliability, speed, maintenance load, and ease of use are all factors you must consider when managing your own storage. Running a storage cluster can be a very good choice when managing your own storage. The following projects are known to work with Talos Linux and provide good options, depending on your situation. MayaStor: Ultra-low latency and high-performance workloads. Longhorn: Simple, reliable, easy-to-use Kubernetes storage with easy replication and snapshots. Rook/Ceph: Enterprise-scale, distributed, multi-tenant storage (block, file, and object storage) Also, if you need both mount-once and mount-many capabilities, Ceph is your answer.
Please note that most people should not use mount-many semantics. NFS is pervasive because it is old and easy, not because it is a good idea. There are all manner of locking, performance, change control, and reliability concerns inherent in any mount-many situation, so we strongly recommend you avoid this method.
nvme_tcp
module, since Talos has that module built-in.
Create a helm values file mayastor-values.yaml
with the following contents:
kubectl krew install linstor
kubelet
image maintained by the Talos team.
This means that the version installed in your running kubelet
is the version of NFS supported by Talos.
You can reduce some of the contention problems by parceling Persistent Volumes from separate underlying directories.