Suppose the below scenario (there’ one node in this stage):
/is mounted on
sdais a SATA hard disk (
/home/is here too)
/home2/is mounted on
sdbis an SSD hard disk
/home3/is mounted on
sdcis an NVMe hard disk.
Suppose I’m selling some services and being on SATA is 1$/hour, SSD is 2$/hour and NVMe is 3$/hour.
- Is that possible to specify a pod run on which one? I mean if you’re a developer paid me 1$, I create run your pod on
/home/. So in this case, the I/O speed of these three disks differ and the one pays more can have more I/O speed.
For the first question, my opinion is that since K8S is installed on
dev/sda, the performance of pod will be affected by the SATA disk. I mean even if I mount pod’s path in
/home3/, I think the person paid will not see any high-speed I/O. Am I right?
Now let us change the scenario. What if
/home/ are NVMe disk and/home3/` is a SATA one?
Regarding the two above question, suppose I just have one node. Is that possible to do so? And is a good practice?
If the third question’s answer is a No, then what is a good practice to do that? I know I can have three different servers and nodes, but if there’s another solution I’m eagerly hearing:)
I googled but did not find any result regarding limiting I/O in K8S. Is that possible?
If the fourth’s answer is No, then I’ve been thinking about limiting network bandwidth. I found these two: https://github.com/kubernetes/kubernetes/issues/2856 and quota - Kubernetes: How to implement a Network ResourceQuota - Stack Overflow but I’m not sure the value of
10Mis a Mega Byte or Bit. I mean by limiting network bandwidth I can somehow manage the speed of read/write of incoming users. I tried to find any K8S docs regarding this but did not find anything.
I hope my questions are clear. If not, please let me know to elaborate or explain in another way (being not a native English speaker may cause this )