Scheduling infrastructure Pods and Resource managment
During the installation procedure you will be able to provide information on how to best "operationalize" your infrastructure. Through the configuration of --node-selector
, --toleration
and --operator-resources
you will be able to drive the operator `Pod`s scheduling and to be able to assign resources.
The usage of these advanced properties assumes you’re familiar with the Kubernetes Scheduling concepts and configurations.
the aforementioned flags setting will work both with OLM installation and regular installation.
|
Scheduling
Node Selectors
The most basic operation we provide is to let you assign Camel K operator Pod`s to a specific cluster `Node
via --node-selector
option. The functionality is based on NodeSelector
Kubernetes feature. As an example, you can schedule Camel K infra Pod`s to a specific `Node
of your cluster:
kamel install --node-selector kubernetes.io/hostname=ip-172-20-114-199.ec2.internal ...
The option will accept any key=value
pair as specified and supported by Kubernetes. You can specify more than one node-selector
.
Tolerations
The --toleration
option will let you tolerate a Camel K infra Pod
to support any matching Taint
according the Taint
and Toleration
Kubernetes feature. As an example, let’s suppose we have a node tainted as "dedicated=camel-k:NoSchedule". In order to allow the infra Pod`s to be scheduled on that `Node
we can provide the following option during installation procedure:
kamel install --toleration dedicated=camel-k:NoSchedule ...
The option accept a value in the following format Key[=Value]:Effect[:Seconds]
where the values in squared bracket are considered optional and Effect
must admit any of the Taint`s accepted values: `NoSchedule
, PreferNoSchedule
, NoExecute
. You can specify more than one toleration
.
Resources
While installing the Camel K operator, you can also specify the resources requests and limits to assign to the operator Pod
with --operator-resources
option. The option will expect the configuration as required by Kubernetes Resource managment.
kamel install --operator-resources requests.cpu=256m --operator-resources limits.cpu=500m --operator-resources limits.memory=512Mi ...
The value expected by the option are in the form requestType.requestResource=value
where requestType
must be either requests
or limits
, requestResource
must be either cpu
or memory
and value
expressed in the numeric value as expected by the resource. You can specify more than one operator-resources
.
if you specify a limit, but does not specify a request, Kubernetes automatically assigns a request that matches the limit. |