Concerning dedicatedNodeLabel, it will be removed from the documentation in the next release to avoid confusion.
Thanks for the feedback, Maria.
Original Message:
Sent: Tue April 25, 2023 12:36 PM
From: Maria del Rosario Alvarez Martinez
Subject: ODM 8.11 K8s Azure | ODM for production parameters | .customization.dedicatedNodeLabel
Hello Mathias,
Yes, that is what I want to do. I have edited Helm chart ODM on k8s 21.3.0/ODM 8.11.0 as you indicate, and it works.
Another workaround if you do not want to modify the current Helm chart, is to add to the node on which you want to deploy ODM pods, a label with the same value (descriptive enough) in the <label-key>=<label-value> pair, for example odm=odm
This also forces you to add a taint (odm=odm) to the node.
This is so because of what the documentation says:
https://www.ibm.com/docs/en/odm/8.11.0?topic=reference-odm-production-configuration-parameters
dedicatedNodeLabelApplies a node affinity property to the ODM pods. The toleration label is also applied to pods, and restricts the pods to schedule onto nodes with matching taints. Nodes must be labeled and tainted independently of the ODM deployments. Nodes do not accept pods that do not tolerate the taints.
Thank you so much!
------------------------------
Charo Álvarez Martínez
Automation Architect
DECIDE
Madrid
Original Message:
Sent: Mon April 24, 2023 08:59 AM
From: Mathias Mouly
Subject: ODM 8.11 K8s Azure | ODM for production parameters | .customization.dedicatedNodeLabel
Hello Maria,
My understanding is that you want to deploy ODM pods on a specific node that have the scope=odm label like https://kubernetes.io/docs/tasks/configure-pod-container/assign-pods-nodes-using-node-affinity/#schedule-a-pod-using-required-node-affinity. Is it what you want to do ?
If yes, dedicatedNodeLabel is not the way to do.
If you cannot upgrade to ODM on k8s 22.2.0/ODM 8.11.1 to benefit from the new nodeAffinity parameter , you can manage it with 2 ways :
Edit your current Helm chart by adding the needed material. For example, add a "nodeAffinity" parameter below customization and add in your deployment templates like dc-deployment.yaml , ...
{{- if not (empty (.Values.customization.nodeAffinity)) }}
{{ toYaml .Values.customization.nodeAffinity | indent 14 }}
{{- end }}
below the section :
affinity:
nodeAffinity:
or you can manage a post rendering deployment modification using a kustomize https://github.com/thomastaylor312/advanced-helm-demos/tree/master/post-render
So, you will be able to manage it by adding :
customization:
nodeAffinity:
- key: scope
operator: In
values:
- odm
Hope this helps.
------------------------------
Mathias Mouly
Original Message:
Sent: Mon April 24, 2023 05:25 AM
From: Maria del Rosario Alvarez Martinez
Subject: ODM 8.11 K8s Azure | ODM for production parameters | .customization.dedicatedNodeLabel
Hello Mathias,
ODM version is 8.11.0 instead 8.11.1. However, I have tried to add --set customization.labels.scope=odm parameter in the command line installation (.customization.dedicatedNodeLabel blank into YAML chart file), but it does not work. The label does not appear into pod descriptor YAML file.
Any suggestions?
Thanks!
------------------------------
Charo Álvarez Martínez
Automation Architect
DECIDE
Madrid
Original Message:
Sent: Fri April 21, 2023 03:10 AM
From: Mathias Mouly
Subject: ODM 8.11 K8s Azure | ODM for production parameters | .customization.dedicatedNodeLabel
Hello Maria,
Since ODM on k8s version 22.2.0, we provide a nodeAffinity property at each component level and for all using customization https://www.ibm.com/docs/en/odm/8.11.1?topic=reference-odm-production-configuration-parameters
We describe a usage with the "topology.kubernetes.io/zone" key attached at a node https://www.ibm.com/docs/en/odm/8.11.1?topic=production-configuring-multi-zone-support.
Can you check if it can fits your need ?
------------------------------
Mathias Mouly
Original Message:
Sent: Thu April 20, 2023 12:52 PM
From: Maria del Rosario Alvarez Martinez
Subject: ODM 8.11 K8s Azure | ODM for production parameters | .customization.dedicatedNodeLabel
Hello All,
The optional configuration parameter .customization.dedicatedNodeLabel applies a node affinity property to the ODM pods.
With node affinity we can tell Kubernetes which nodes to schedule to a pod using the labels on each node. Well then, I want to schedule ODM Decision Server pod into a node in a Azure cluster labeled <label-key>=<label-value>, such as scope=odm
In the values-ds.yaml Helm chart, I configure the parameter .customization.dedicatedNodeLabel as follows, just with the <label-key> as indicated in the documentation:
When I install the Helm release, the pod descriptor looks like this:
------------------------------
Charo Álvarez Martínez
Automation Architect
DECIDE
Madrid
------------------------------