From 5305a1635001457a8e854151e28d39d44b635f73 Mon Sep 17 00:00:00 2001 From: Timo Reimann Date: Tue, 12 Sep 2017 19:56:05 +0200 Subject: [PATCH] Add guide section on production advice, esp. CPU. --- docs/user-guide/kubernetes.md | 34 ++++++++++++---------------------- 1 file changed, 12 insertions(+), 22 deletions(-) diff --git a/docs/user-guide/kubernetes.md b/docs/user-guide/kubernetes.md index 1053c666a..274135af2 100644 --- a/docs/user-guide/kubernetes.md +++ b/docs/user-guide/kubernetes.md @@ -357,13 +357,6 @@ spec: containers: - name: cheese image: errm/cheese:stilton - resources: - requests: - cpu: 100m - memory: 50Mi - limits: - cpu: 100m - memory: 50Mi ports: - containerPort: 80 --- @@ -390,13 +383,6 @@ spec: containers: - name: cheese image: errm/cheese:cheddar - resources: - requests: - cpu: 100m - memory: 50Mi - limits: - cpu: 100m - memory: 50Mi ports: - containerPort: 80 --- @@ -423,13 +409,6 @@ spec: containers: - name: cheese image: errm/cheese:wensleydale - resources: - requests: - cpu: 100m - memory: 50Mi - limits: - cpu: 100m - memory: 50Mi ports: - containerPort: 80 ``` @@ -716,4 +695,15 @@ By default if the annotation is not set at all Træfik will include the ingress. If the annotation is set to anything other than traefik or a blank string Træfik will ignore it. -![](https://i.giphy.com/ujUdrdpX7Ok5W.gif) +## Production advice + +### Resource limitations + +The examples shown deliberately do not specify any [resource limitations](https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/) as there is no one size fits all. + +In a production environment, however, it is important to set proper bounds, especially with regards to CPU: + +- too strict and Traefik will be throttled while serving requests (as Kubernetes imposes hard quotas) +- too loose and Traefik may waste resources not available for other containers + +When in doubt, you should measure your resource needs, and adjust requests and limits accordingly.