Add guide section on production advice, esp. CPU.

This commit is contained in:
Timo Reimann 2017-09-12 19:56:05 +02:00 committed by Traefiker
parent 63b581935d
commit 5305a16350

View file

@ -357,13 +357,6 @@ spec:
containers: containers:
- name: cheese - name: cheese
image: errm/cheese:stilton image: errm/cheese:stilton
resources:
requests:
cpu: 100m
memory: 50Mi
limits:
cpu: 100m
memory: 50Mi
ports: ports:
- containerPort: 80 - containerPort: 80
--- ---
@ -390,13 +383,6 @@ spec:
containers: containers:
- name: cheese - name: cheese
image: errm/cheese:cheddar image: errm/cheese:cheddar
resources:
requests:
cpu: 100m
memory: 50Mi
limits:
cpu: 100m
memory: 50Mi
ports: ports:
- containerPort: 80 - containerPort: 80
--- ---
@ -423,13 +409,6 @@ spec:
containers: containers:
- name: cheese - name: cheese
image: errm/cheese:wensleydale image: errm/cheese:wensleydale
resources:
requests:
cpu: 100m
memory: 50Mi
limits:
cpu: 100m
memory: 50Mi
ports: ports:
- containerPort: 80 - 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. 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.