Setting default container options¶
It is possible to configure default container options under the controllers.*.defaultContainerOptions key. These options will be applied to all containers within the controller.
The following fields can be configured on this level:
argscommandenvenvFromimageresourcessecurityContext
Only applying to regular containers¶
By default the defaultContainerOptions will be applied to both initContainers and regular containers. If you wish to only apply the default options to regular containers, set controllers.*.applyDefaultContainerOptionsToInitContainers to false.
Default value strategies¶
Overwrite¶
The default strategy for configuring default container options is overwrite. This means that if a container has an entry for a default container option it will be overwritten entirely by the container-specific configuration.
This behavior can be set explicitly by setting controllers.*.defaultContainerOptionsStrategy to overwrite.
An (abbreviated) example of the overwrite strategy:
controllers:
main:
defaultContainerOptions:
resources:
requests:
memory: 1Gi
cpu: 150m
containers:
main:
...
resources:
requests:
cpu: 100m
The expected resources field on the main container is expected to look like this:
Merge¶
An alternative strategy for configuring default container options is merge. This means that if a container has an entry for a default container option it will be merged with the container-specific configuration.
This behavior can be set explicitly by setting defaultContainerOptionsStrategy to merge.
An (abbreviated) example of the merge strategy:
controllers:
main:
defaultContainerOptionsStrategy: merge
defaultContainerOptions:
resources:
requests:
memory: 1Gi
cpu: 150m
containers:
main:
...
resources:
requests:
cpu: 100m
The expected resources field on the main container is expected to look like this: