blob: 323839090336a69902aa7e17456bd2603c18c1f4 [file] [log] [blame]
= Affinity Trait
// Start of autogenerated code - DO NOT EDIT! (description)
Allows to constrain which nodes the integration pod(s) are eligible to be scheduled on, based on labels on the node,
or with inter-pod affinity and anti-affinity, based on labels on pods that are already running on the nodes.
Its disabled by default.
This trait is available in the following profiles: **Kubernetes, Knative, OpenShift**.
// End of autogenerated code - DO NOT EDIT! (description)
// Start of autogenerated code - DO NOT EDIT! (configuration)
== Configuration
Trait properties can be specified when running any integration with the CLI:
```
kamel run --trait affinity.[key]=[value] --trait affinity.[key2]=[value2] integration.groovy
```
The following configuration options are available:
[cols="2,1,5a"]
|===
|Property | Type | Description
| affinity.enabled
| bool
| Can be used to enable or disable a trait. All traits share this common property.
| affinity.pod-affinity
| bool
| Always co-locates multiple replicas of the integration in the same node (default *false*).
| affinity.pod-anti-affinity
| bool
| Never co-locates multiple replicas of the integration in the same node (default *false*).
| affinity.node-affinity-labels
| string
| Defines a set of nodes the integration pod(s) are eligible to be scheduled on, based on labels on the node.
| affinity.pod-affinity-labels
| string
| Defines a set of pods (namely those matching the label selector, relative to the given namespace) that the
integration pod(s) should be co-located with.
| affinity.pod-anti-affinity-labels
| string
| Defines a set of pods (namely those matching the label selector, relative to the given namespace) that the
integration pod(s) should not be co-located with.
|===
// End of autogenerated code - DO NOT EDIT! (configuration)