Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Document k0s persistence #650

Closed
kbumsik opened this issue Jul 14, 2024 · 4 comments · Fixed by #756
Closed

Document k0s persistence #650

kbumsik opened this issue Jul 14, 2024 · 4 comments · Fixed by #756
Assignees

Comments

@kbumsik
Copy link

kbumsik commented Jul 14, 2024

Hi, I am experimenting k0smotron to implement multi-tenant k8s with remote workers.

While playing around k0smotron, one thing I noticed is that documentation on Cluster.spec.persistence is lacking, while it seems to be important for production deployment.

For example:

  • What it actually does - the doc doesn't mention what it persists at all. Just saying "persistence configuration" is very confusing. It seems to mount /var/lib/k0s though.
  • Recommended size and performance of the volume
    • dose it need to be high-performance? Suggested IOPS? What is the expected size of the volume? Does it keep growing?
    • In case of etcd, it is easier to figure out the optimal pvc settings. However, it is hard to figure out the hardware requirements of k0s control plane instance.
  • Maybe also add why it needs a persistent volume. I thought kube-apiserver is stateless.

Since v1 is out, some insights regarding production deployments like this would really helps.

@nealf
Copy link

nealf commented Sep 12, 2024

I'm in the same situation of not knowing whether it is needed or not for non-ephemeral clusters. If it is necessary, we found that it does not currently work in Standalone mode (at least when replicas >1) because it doesn't use the StatefuleSets persistent volume template correctly. It creates the volume template, but the VolumeMount doesn't use the template name and pods are never created because of that config error.

@apedriza
Copy link
Contributor

apedriza commented Nov 7, 2024

I'm in the same situation of not knowing whether it is needed or not for non-ephemeral clusters. If it is necessary, we found that it does not currently work in Standalone mode (at least when replicas >1) because it doesn't use the StatefuleSets persistent volume template correctly. It creates the volume template, but the VolumeMount doesn't use the template name and pods are never created because of that config error.

@nealf thanks for reporting this issue 👍 Fix for it was released in v1.1.2

@apedriza
Copy link
Contributor

apedriza commented Nov 7, 2024

Hi, I am experimenting k0smotron to implement multi-tenant k8s with remote workers.

While playing around k0smotron, one thing I noticed is that documentation on Cluster.spec.persistence is lacking, while it seems to be important for production deployment.

For example:

  • What it actually does - the doc doesn't mention what it persists at all. Just saying "persistence configuration" is very confusing. It seems to mount /var/lib/k0s though.

  • Recommended size and performance of the volume

    • dose it need to be high-performance? Suggested IOPS? What is the expected size of the volume? Does it keep growing?
    • In case of etcd, it is easier to figure out the optimal pvc settings. However, it is hard to figure out the hardware requirements of k0s control plane instance.
  • Maybe also add why it needs a persistent volume. I thought kube-apiserver is stateless.

Since v1 is out, some insights regarding production deployments like this would really helps.

@kbumsik in v1.2.0 we have added documentation about persitence. https://docs.k0smotron.io/stable/configuration/#persistence . Thank you for reporting it

@kbumsik
Copy link
Author

kbumsik commented Nov 7, 2024

in v1.2.0 we have added documentation about persitence. https://docs.k0smotron.io/stable/configuration/#persistence . Thank you for reporting it

@apedriza Hi, thank you for the update.
I think this explains enough on what it is and the hardware requirement. Well written!

I will close the issue since the new documentation addresses it.

@kbumsik kbumsik closed this as completed Nov 7, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants