Gardener extension to deploy reserve excess capacity pods in node pools.
The chart deploys a reserve excess capacity Deployment
per node pool.
Reserve excess capacity deployments
can be deployed for more than one node pool using the following structure in the values.
pools:
<pool-name>:
nodeLabels: #optional
...
replicaCount: 1
resources:
requests:
cpu: ...
memory: ...
One reserve excess capacity Deployment
will generated per node pool in the following way.
replicaCount
will be used inspec.replicas
resources.requests
will be used inspec.template.spec.container[0].resources.requests
nodeLabels
(if supplied) will be used askey
andvalues
inspec.template.spec.affinity.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms[0].matchExpressions[*]
respectively (withoperator: In
) and askey
andvalue
inspec.template.spec.tolerations[*]
respectively (withoperator: Equal
andeffect: NoExecute
).
The gardener ControllerRegistration
is generated based on the helm chart above.
The node pools can be customized by specifying a structure similar to the one above under the path spec.deployment.providerConfig.values
.
I.e.
apiVersion: core.gardener.cloud/v1beta1
kind: ControllerRegistration
metadata:
name: reserve-excess-capacity
spec:
deployment:
...
providerConfig:
values:
...
pools:
<pool-name>:
nodeLabels: #optional
...
replicaCount: 1
resources:
requests:
cpu: ...
memory: ...