canonical/microk8s-core-addons

Mayastor documentation request: minimal realistic hardware requirements

Opened this issue · 3 comments

From testing mayastor on a kubeadm created cluster, I have observed that by default, the nodes dedicated to storage bumped memory usage with close to 5GB extra ram and at least one core cpu over 90% of the time used. This is also documented by Mayastor, as suggest even dedicating 2 cores for each storage node.

As observed with other addons, and really enjoying this, I would like to suggest the official team if they can do some initial testing so some MicroK8S suggested minimal requirements would be documented for the addons.

I'd like to remind, that Mayastor recommends 4GB ram per storage node and minimal 1 core dedicated to it.

Probably with some tweaks, MicroK8S might provide Mayastor for smaller deployments, which would be enjoyable.

There is another mention on Mayastor 1.0 release that without minimal 3 nodes Mayastor will not run. Will this be in the case of the MicroK8S same?

Addon enabled, Mayastor started only:

image

Starting a DB stateful and an application deployment with 2 volumes added using mayastor-3 storage class, did not add any ram usage extra, I saw only expected from MySQL and WordPress pods the extra usage.

I only think that as more volumes get claimed, Mayastor will slightly increase a little the ram usage.

One full core being hammered 99% of the time can be seen clearly from the screenshot.

Personally, I would not deploy it in MicroK8S with a cluster under 3 nodes with 16GB of ram (to be OK with ram needed for apps) and where I can't ensure I have enough cores.

Thank you for this work @madalinignisca

This has been in our plans for some time.

I would also highlight in docs that deploying Mayastor should be done only on virtual servers with dedicated cpu cores, or, like most public cloud providers do, users will see their instances terminated in a few hours, max a few days. doing that load on a core breaks terms of usage on almost all public cloud providers, including AWS (example Mayastor on AWS Lightsail would get nodes terminated in ~24h, and on T* type instances would increase cost above dedicated core instances or simply make cluster unusable if no limit is false).

PS: I guess Mayastor doesn't fit really in the idea of Micro...