Skip to content

Commit a660652

Browse files
authored
Merge pull request #39246 from Amrita42/BZ2018364
BZ2018364: Re-defining steps and modify/add yaml file examples
2 parents ba2378f + cf92078 commit a660652

File tree

1 file changed

+55
-16
lines changed

1 file changed

+55
-16
lines changed

modules/cnf-provisioning-real-time-and-low-latency-workloads.adoc

Lines changed: 55 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -34,36 +34,75 @@ Establishing the right performance expectations refers to the fact that the real
3434
== Provisioning a worker with real-time capabilities
3535

3636
. Install Performance Addon Operator to the cluster.
37+
3738
. Optional: Add a node to the {product-title} cluster.
3839
See link:https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux_for_real_time/8/html-single/tuning_guide/index#Setting_BIOS_parameters[Setting BIOS parameters].
39-
. Optional: Create a new machine config pool for real-time nodes.
40-
. Add the node to the proper machine config pool, using node role labels.
41-
+
42-
You must decide which nodes will be configured with real-time workloads. It could be all of the nodes in the cluster or a subset of the nodes. The Performance Addon Operator expects all of the nodes are part of a dedicated machine config pool. If you use all of the nodes, you just point the Performance Addon Operator to the worker node role label. If you use a subset, you must group the nodes into a new machine config pool.
4340

44-
. Create the `PerformanceProfile` with the proper set of housekeeping cores and `realTimeKernel: enabled: true`.
41+
. Add the label `worker-rt` to the worker nodes that require the real-time capability by using the `oc` command.
4542

46-
. Specify a node selector in the `PerformanceProfile`, as shown here:
43+
. Create a new machine config pool for real-time nodes:
4744
+
4845
[source,yaml]
4946
----
50-
apiVersion: performance.openshift.io/v2
51-
kind: PerformanceProfile
47+
apiVersion: machineconfiguration.openshift.io/v1
48+
kind: MachineConfigPool
5249
metadata:
53-
name: example-performanceprofile
50+
name: worker-rt
51+
labels:
52+
machineconfiguration.openshift.io/role: worker-rt
5453
spec:
55-
...
56-
realTimeKernel:
57-
enabled: true
54+
machineConfigSelector:
55+
matchExpressions:
56+
- {
57+
key: machineconfiguration.openshift.io/role,
58+
operator: In,
59+
values: [worker, worker-rt],
60+
}
61+
paused: false
5862
nodeSelector:
59-
node-role.kubernetes.io/worker-rt: ""
63+
matchLabels:
64+
node-role.kubernetes.io/worker-rt: ""
6065
----
66+
Note that a machine config pool worker-rt is created for group of nodes that have the label `worker-rt`.
67+
68+
. Add the node to the proper machine config pool by using node role labels.
69+
+
70+
[NOTE]
71+
====
72+
You must decide which nodes are configured with real-time workloads. You could configure all of the nodes in the cluster, or a subset of the nodes. The Performance Addon Operator that expects all of the nodes are part of a dedicated machine config pool. If you use all of the nodes, you must point the Performance Addon Operator to the worker node role label. If you use a subset, you must group the nodes into a new machine config pool.
73+
====
74+
. Create the `PerformanceProfile` with the proper set of housekeeping cores and `realTimeKernel: enabled: true`.
6175

76+
. You must set `machineConfigPoolSelector` in `PerformanceProfile`:
77+
+
78+
[source,yaml]
79+
----
80+
apiVersion: performance.openshift.io/v2
81+
kind: PerformanceProfile
82+
metadata:
83+
name: example-performanceprofile
84+
spec:
85+
...
86+
realTimeKernel:
87+
enabled: true
88+
nodeSelector:
89+
node-role.kubernetes.io/worker-rt: ""
90+
machineConfigPoolSelector:
91+
machineconfiguration.openshift.io/role: worker-rt
92+
----
6293
. Verify that a matching machine config pool exists with a label:
6394
+
64-
[source,bash]
95+
[source,terminal]
96+
----
97+
$ oc describe mcp/worker-rt
98+
----
99+
+
100+
.Example output
101+
[source,yaml]
65102
----
66-
machineconfiguration.openshift.io/role=worker-rt
103+
Name: worker-rt
104+
Namespace:
105+
Labels: machineconfiguration.openshift.io/role=worker-rt
67106
----
68107

69108
. {product-title} will start configuring the nodes, which might involve multiple reboots. Wait for the nodes to settle. This can take a long time depending on the specific hardware you use, but 20 minutes per node is expected.
@@ -87,7 +126,7 @@ Note the worker with the role `worker-rt` that contains the string `4.18.0-211.r
87126
NAME STATUS ROLES AGE VERSION INTERNAL-IP
88127
EXTERNAL-IP OS-IMAGE KERNEL-VERSION
89128
CONTAINER-RUNTIME
90-
cnf-worker-0.example.com Ready worker,worker-rt 5d17h v1.22.1
129+
rt-worker-0.example.com Ready worker,worker-rt 5d17h v1.22.1
91130
128.66.135.107 <none> Red Hat Enterprise Linux CoreOS 46.82.202008252340-0 (Ootpa)
92131
4.18.0-211.rt5.23.el8.x86_64 cri-o://1.22.1-90.rhaos4.9.git4a0ac05.el8-rc.1
93132
[...]

0 commit comments

Comments
 (0)