1
0
mirror of https://github.com/openshift/openshift-docs.git synced 2026-02-05 12:46:18 +01:00

OCPSTRAT#1290: Multiarch Tuning Operator TP to GA upgrade

This commit is contained in:
srir
2024-08-22 15:44:21 +05:30
committed by openshift-cherrypick-robot
parent 72dda1fa7a
commit 234aa2b6ac
4 changed files with 14 additions and 32 deletions

View File

@@ -46,5 +46,5 @@ In this example, the `operator` field value is set to `Exists`. Therefore, the o
[IMPORTANT]
====
The namespaces starting with `openshift-`, `kube-`, and `hypershift-` are excluded.
This Operator excludes pods in namespaces starting with `kube-`. It also excludes pods that are expected to be scheduled on control plane nodes.
====

View File

@@ -39,13 +39,4 @@ $ oc get clusterpodplacementconfig
[source,terminal]
----
No resources found
----
.Next steps
* After deleting the `ClusterPodPlacementConfig` object, ensure that none of the pods are in the `Pending` phase due to the `SchedulingGated` reason. You can delete the scheduling gate from all of the gated pods by running the following command:
+
[source,terminal]
----
$ oc get pods -A -l multiarch.openshift.io/scheduling-gate=gated -o json | jq 'del(.items[].spec.schedulingGates[] | select(.name=="multiarch.openshift.io/scheduling-gate"))' | oc apply -f -
----

View File

@@ -34,12 +34,3 @@ You can delete this object by using the {product-title} web console.
.Verification
* On the *Cluster Pod Placement Config* page, check that the `ClusterPodPlacementConfig` object has been deleted.
.Next steps
* After deleting the `ClusterPodPlacementConfig` object, ensure that none of the pods are in the `Pending` phase due to the `SchedulingGated` reason. You can delete the scheduling gate from all the gated pods by running the following command in the {oc-first}:
+
[source,terminal]
----
$ oc get pods -A -l multiarch.openshift.io/scheduling-gate=gated -o json | jq 'del(.items[].spec.schedulingGates[] | select(.name=="multiarch.openshift.io/scheduling-gate"))' | oc apply -f -
----

View File

@@ -6,30 +6,30 @@ include::_attributes/common-attributes.adoc[]
toc::[]
[IMPORTANT]
====
The Multiarch Tuning Operator is a Technology Preview feature only. Technology Preview features are not supported with Red{nbsp}Hat production service level agreements (SLAs) and might not be functionally complete. Red{nbsp}Hat does not recommend using them in production. These features provide early access to upcoming product features, enabling customers to test functionality and provide feedback during the development process.
For more information about the support scope of Red{nbsp}Hat Technology Preview features, see link:https://access.redhat.com/support/offerings/techpreview/[Technology Preview Features Support Scope].
====
The Multiarch Tuning Operator optimizes workload management within multi-architecture clusters and in single-architecture clusters transitioning to multi-architecture environments.
The Multiarch Tuning Operator enhances the operational experience within multi-architecture clusters, and single-architecture clusters that are migrating to a multi-architecture compute configuration.
Architecture-aware workload scheduling allows the scheduler to place pods onto nodes that match the architecture of the pod images.
This Operator implements the `clusterpodplacementconfigs` custom resource (CR) to support architecture-aware workload scheduling.
By default, the scheduler does not consider the architecture of a pod's container images when determining the placement of new pods onto nodes.
To enable architecture-aware workload scheduling, you must create the `ClusterPodPlacementConfig` object. When you create the `ClusterPodPlacementConfig` object, this Operator deploys an operand.
To enable architecture-aware workload scheduling, you must create the `ClusterPodPlacementConfig` object. When you create the `ClusterPodPlacementConfig` object, the Multiarch Tuning Operator deploys the necessary operands to support architecture-aware workload scheduling.
When a pod is created, the operand performs the following actions:
When a pod is created, the operands perform the following actions:
. Add the `multiarch.openshift.io/scheduling-gate` scheduling gate that prevents the scheduling of the pod.
. Compute a scheduling predicate that includes the supported architecture values for the `kubernetes.io/arch` label.
. Integrate the scheduling predicate as a `nodeAffinity` requirement in the pod specification.
. Remove the scheduling gate from the pod.
When the operand removes the scheduling gate, the pod enters the scheduling cycle. The workload is then scheduled on nodes based on the supported architectures.
[IMPORTANT]
====
The Technology Preview version of the Multiarch Tuning Operator does not support clusters with restricted network scenarios.
Note the following operand behaviors:
* If the `nodeSelector` field is already configured with the `kubernetes.io/arch` label for a workload, the operand does not update the `nodeAffinity` field for that workload.
* If the `nodeSelector` field is not configured with the `kubernetes.io/arch` label for a workload, the operand updates the `nodeAffinity` field for that workload. However, in that `nodeAffinity` field, the operand updates only the node selector terms that are not configured with the `kubernetes.io/arch` label.
* If the `nodeName` field is already set, the Multiarch Tuning Operator does not process the pod.
====
//Installing Multiarch Tuning Operator