diff --git a/charts/qubership-jaeger/Chart.yaml b/charts/qubership-jaeger/Chart.yaml
index 3fd78c2..742c83a 100644
--- a/charts/qubership-jaeger/Chart.yaml
+++ b/charts/qubership-jaeger/Chart.yaml
@@ -7,7 +7,7 @@ type: application
# This is the chart version. This version number should be incremented each time you make changes
# to the chart and its templates, including the app version.
-version: 0.20.2
+version: 0.20.3
# This is the version number of the application being deployed. This version number should be
# incremented each time you make changes to the application.
diff --git a/charts/qubership-jaeger/templates/agent/daemon-set.yaml b/charts/qubership-jaeger/templates/agent/daemon-set.yaml
index d61a992..af28b31 100644
--- a/charts/qubership-jaeger/templates/agent/daemon-set.yaml
+++ b/charts/qubership-jaeger/templates/agent/daemon-set.yaml
@@ -1,5 +1,5 @@
{{- if .Values.agent.install }}
----
+---
apiVersion: apps/v1
kind: DaemonSet
metadata:
@@ -138,4 +138,8 @@ spec:
tolerations:
{{- toYaml .Values.agent.tolerations | nindent 8 }}
{{- end }}
+ {{- if .Values.agent.affinity }}
+ affinity:
+ {{- toYaml .Values.agent.affinity | nindent 8 }}
+ {{- end }}
{{- end }}
diff --git a/charts/qubership-jaeger/templates/status-provisioner/job.yaml b/charts/qubership-jaeger/templates/status-provisioner/job.yaml
index 2e1511b..1cc8b9e 100644
--- a/charts/qubership-jaeger/templates/status-provisioner/job.yaml
+++ b/charts/qubership-jaeger/templates/status-provisioner/job.yaml
@@ -83,5 +83,8 @@ spec:
- name: robot-storage
emptyDir: {}
nodeSelector: {}
- affinity: {}
+ {{- if .Values.statusProvisioner.affinity }}
+ affinity:
+ {{- toYaml .Values.statusProvisioner.affinity | nindent 8 }}
+ {{- end }}
{{- end }}
diff --git a/docs/installation.md b/docs/installation.md
index e6e5a6d..6a72991 100644
--- a/docs/installation.md
+++ b/docs/installation.md
@@ -402,6 +402,7 @@ collector:
| `samplingConfig` | boolean | no | false | Enabling/disabling `SAMPLING_STRATEGIES_FILE` |
| `nodeSelector` | map | no | {} | Defining which Nodes the Pods are scheduled on |
| `tolerations` | [core/v1.Toleration](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.27/#toleration-v1-core) | no | {} | Allows the pods to schedule onto nodes with matching taints |
+| `affinity` | [core/v1.Affinity](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.27/#affinity-v1-core) | no | {podAntiAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
- labelSelector:
matchExpressions:
- key: app.kubernetes.io/name
operator: In
values:
- jaeger-collector
topologyKey: kubernetes.io hostname} | If specified, the pod's scheduling constraints |
| `resources` | object | no | {requests: {cpu: 100m, memory: 100Mi}, limits: {cpu: 1, memory: 200Mi}} | Describes computing resource requests and limits for single Pods |
| `securityContext` | [core/v1.PodSecurityContext](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.27/#podsecuritycontext-v1-core) | no | {} | Describes pod-level security attributes |
| `containerSecurityContext` | [core/v1.SecurityContext](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.27/#securitycontext-v1-core) | no | {} | Holds container-level security attributes |
@@ -686,6 +687,7 @@ query:
| `ingress.host` | string | no | - | FQDN of the ingress host |
| `route.install` | boolean | no | false | Enabling/disabling creating query route |
| `route.host` | string | no | - | FQDN of the route host |
+| `affinity` | [core/v1.Affinity](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.27/#affinity-v1-core) | no | {podAntiAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
- labelSelector:
matchExpressions:
- key: app.kubernetes.io/name
operator: In
values:
- jaeger-collector
topologyKey: kubernetes.io hostname} | If specified, the pod's scheduling constraints |
| `resources` | object | no | {requests: {cpu: 100m, memory: 128Mi}, limits: {cpu: 200m, memory: 256Mi}} | Describes computing resource requests and limits for single Pods |
| `securityContext` | [core/v1.PodSecurityContext](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.27/#podsecuritycontext-v1-core) | no | {} | Describes pod-level security attributes |
| `containerSecurityContext` | [core/v1.SecurityContext](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.27/#securitycontext-v1-core) | no | {} | Holds container-level security attributes |
@@ -854,6 +856,7 @@ agent:
| `extraSecretMounts` | object | no | [] | Extra secret mounts for the agent |
| `nodeSelector` | map | no | {} | Defining which Nodes the Pods are scheduled on |
| `tolerations` | [core/v1.Toleration](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.27/#toleration-v1-core) | no | {} | The pods to schedule onto nodes with matching taints |
+| `affinity` | [core/v1.Affinity](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.27/#affinity-v1-core) | no | {} | If specified, the pod's scheduling constraints |
| `resources` | object | no | {requests: {cpu: 50m, memory: 50Mi}, limits: {cpu: 100m, memory: 100Mi}} | Compute resource requests and limits for single Pods |
| `securityContext` | [core/v1.PodSecurityContext](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.27/#podsecuritycontext-v1-core) | no | {} | Holds pod-level security attributes |
| `containerSecurityContext` | [core/v1.SecurityContext](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.27/#securitycontext-v1-core) | no | {} | Holds container-level security attributes |
@@ -1185,6 +1188,7 @@ elasticsearch:
| `extraSecretMounts` | object | no | [] | Extra secret mounts for indexCleaner |
| `nodeSelector` | map | no | {} | Defining which Nodes the Pods are scheduled on |
| `tolerations` | [core/v1.Toleration](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.27/#toleration-v1-core) | no | {} | The pods to schedule onto nodes with matching taints |
+| `affinity` | [core/v1.Affinity](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.27/#affinity-v1-core) | no | {} | If specified, the pod's scheduling constraints |
| `resources` | object | no | {requests: {cpu: 100m, memory: 128Mi}, limits: {cpu: 100m, memory: 128Mi}} | Computing resource requests and limits for single Pods |
| `securityContext` | [core/v1.PodSecurityContext](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.27/#podsecuritycontext-v1-core) | no | {} | Holds pod-level security attributes |
| `containerSecurityContext` | [core/v1.SecurityContext](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.27/#securitycontext-v1-core) | no | {} | Holds container-level security attributes |
@@ -1302,6 +1306,7 @@ elasticsearch:
| `ttlSecondsAfterFinished` | integer | no | 0 | How many seconds after finished job's pod will be available |
| `nodeSelector` | map | no | {} | Defining which Nodes the Pods are scheduled on |
| `tolerations` | [core/v1.Toleration](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.27/#toleration-v1-core) | no | {} | Allows the pods to schedule onto nodes with matching taints |
+| `affinity` | [core/v1.Affinity](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.27/#affinity-v1-core) | no | {} | If specified, the pod's scheduling constraints |
| `extraEnv` | object | no | [] | Rollover-related extra env vars to be configured on the concerned components |
| `extraConfigmapMounts` | object | no | [] | Extra configMap mounts for rollover |
| `extraSecretMounts` | object | no | [] | Extra secret mounts for rollover |
@@ -1423,6 +1428,7 @@ elasticsearch:
| `ttlSecondsAfterFinished` | integer | no | 0 | How many seconds after finished job's pod will be available |
| `nodeSelector` | map | no | {} | Defining which Nodes the Pods are scheduled on |
| `tolerations` | [core/v1.Toleration](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.27/#toleration-v1-core) | no | {} | The pods to schedule onto nodes with matching taints |
+| `affinity` | [core/v1.Affinity](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.27/#affinity-v1-core) | no | {} | If specified, the pod's scheduling constraints |
| `extraEnv` | object | no | [] | Extra env vars to be configured on the concerned components |
| `extraConfigmapMounts` | object | no | [] | Extra configMap mounts for lookback |
| `extraSecretMounts` | object | no | {} | Extra secret mounts for lookback |
@@ -1603,6 +1609,7 @@ hotrod:
| `agent.port` | integer | no | 6831 | The port used to connect to the Jaeger agent. **DEPRECATED** since `1.42.x`, use parameters from the section `hotrtod.otelExporter` |
| `nodeSelector` | map | no | {} | Defining which Nodes the Pods are scheduled on |
| `tolerations` | [core/v1.Toleration](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.27/#toleration-v1-core) | no | {} | The pods to schedule onto nodes with matching taints |
+| `affinity` | [core/v1.Affinity](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.27/#affinity-v1-core) | no | {} | If specified, the pod's scheduling constraints |
| `ingress.install` | boolean | no | false | Enabling or disabling creating a `hotrod` ingress |
| `ingress.host` | string | no | - | The FQDN of the ingress host |
| `ingress.tls` | object | no | {} | TLS configuration for hotrod ingress |
@@ -1708,6 +1715,7 @@ integrationTests:
| `service.name` | string | no | jaeger-integration-tests-runner | The name of the service used to run integration tests. |
| `serviceAccount.create` | boolean | no | true | Specifies whether service account should be created or not. |
| `serviceAccount.name` | string | no | jaeger-integration-tests | The name of the service account used to run integration tests. |
+| `affinity` | [core/v1.Affinity](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.27/#affinity-v1-core) | no | {} | If specified, the pod's scheduling constraints |
| `resources` | object | no | {requests: {cpu: 50m, memory: 64Mi}, limits: {cpu: 300m, memory: 256Mi}} | Computing resource requests and limits for single Pods |
| `statusWriting.enabled` | boolean | no | false | Parameter to specify whether the status of integration tests results must be written to a custom resource |
| `statusWriting.isShortStatusMessage` | boolean | no | true | If it is set to `true`, the `message` field in the status condition by default contains first line from `result.txt` file. |
@@ -1785,6 +1793,7 @@ statusProvisioner:
| `lifetimeAfterCompletion` | integer | no | 300 | Time until which the staus provisioner job remains active |
| `podReadinessTimeout` | integer | no | 300 | Timeout in seconds that the Deployment Status Provisioner waits for each of the monitored resources to be ready or completed |
| `integrationTestsTimeout` | integer | no | 300 | Timeout in seconds that the Deployment Status Provisioner waits for successful or failed status condition |
+| `affinity` | [core/v1.Affinity](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.27/#affinity-v1-core) | no | {} | If specified, the pod's scheduling constraints |
| `resources` | object | no | {requests: {cpu: 50m, memory: 50Mi}, limits: {cpu: 100m, memory: 100Mi}} | Computing resource requests and limits for single Pods |
| `securityContext` | [core/v1.PodSecurityContext](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.27/#podsecuritycontext-v1-core) | no | {} | Describes pod-level security attributes |
| `containerSecurityContext` | [core/v1.SecurityContext](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.27/#securitycontext-v1-core) | no | {} | Holds container-level security attributes |