0
votes

I want to deploy many softwares in a kubernetes cluster. I have information like the configuration of each software like the number of pods, request and limits of cpu and RAM for each software.

My requirement is all the softwares should be provisioned successfully or none of them should be provisioned even if one software fails. Failure can be because there are no enough resources in the kubernetes cluster

How do I check if my cluster has sufficient resources to provision all the softwares even before actual deployment of the softwares

1
How are you creating kubernetes cluster? In case of amazon AWS, the worker nodes are created as auto scaling groups. So if any of the pods don't have resources, kubernetes will add another worker nodes.Malathi
We are using openshift clusterramnar

1 Answers

2
votes

AFAIK kubernetes does not support deploying either all or none application.

I think you have to do the maths by yourself.

You said, every information you need is there (Requirements for all the Services). This should help you planning your clusters dimensions.

Know you should calculate this on node basis. Lets say, you need 16GB Memory. Your nodes bring 8gb per Machine. Your Cluster should provide at least 24GB (3 Nodes) Memory for your application (beside monitoring tools etc.).

Always calculate something on top, because OS and Monitoring-Tools will take a little bit of your nodes resource.