cloud-ark / kubeplus

Kubernetes Operator for multi-instance multi-tenancy
https://cloudark.io/
Apache License 2.0
662 stars 82 forks source link

Add requests/limits to KubePlus containers in the KubePlus chart #1285

Closed devdattakulkarni closed 5 months ago

devdattakulkarni commented 5 months ago

KubePlus Pod can get terminated if the cluster runs out of disk space. The following error showed up in the production of one of our customer clusters.

Warning Evicted 5m8s kubelet The node was low on resource: ephemeral-storage. Threshold quantity: 2146223340, available: 1151200Ki. Container kubeconfiggenerator was using 61360Ki, request is 0, has larger consumption of ephemeral-storage. Container consumerui was using 6Mi, request is 0, has larger consumption of ephemeral-storage. Container helmer was using 7536Ki, request is 0, has larger consumption of ephemeral-storage. Container platform-operator was using 16Ki, request is 0, has larger consumption of ephemeral-storage. Container crd-hook was using 5Mi, request is 0, has larger consumption of ephemeral-storage.

We should add requests (and possibly limits) to containers in KubePlus chart. https://github.com/cloud-ark/kubeplus/blob/master/deploy/kubeplus-chart/templates/kubeplus-components-6.yaml

devdattakulkarni commented 5 months ago

Based on the above error, we can start with the following resource (memory) requirements. kubeconfiggenerator: 65Mi consumerui:10Mi helmer:10Mi platform-operator:5Mi crd-hook:10Mi

For now, we can only add requests for memory. If we encounter similar error for CPU resource, we can add CPU requests/limits in the future.