How did we come up with the current memory and CPU values? Why did we set the memory of the MongoDB to 100Mi? Why not 50Mi or 1Gi? It is embarrassing to admit that the values we have right now are random. I guessed that the containers based on the vfarcic/go-demo-2 image require less resources than Mongo database, so their values are comparatively smaller. That was the only criteria I used to define the resources.
Before you frown upon my decision to put random values for resources, you should know that we do not have any metrics to back us up. Anybody's guess is as good as mine.
The only way to truly know how much memory and CPU an application uses is by retrieving metrics. We'll use Heapster (https://github.com/kubernetes/heapster) for that purpose.
Heapster collects and interprets various signals like compute resource usage...