Situation
When a deployment fails on our OpenShift 3.11 instance because of a Failed Scheduling
error event, a message comparable to the following shown:
Failed Scheduling 0/11 nodes are available: 10 CheckServiceAffinity, 2 ExistingPodsAntiAffinityRulesNotMatch, 2 MatchInterPodAffinity, 5 MatchNodeSelector.
In the above error message, the term CheckServiceAffinity
is used. While it's easy to find articles on Pod Affinity or Anti-Affinity, I couldn't find a detailed description of Service Affinity.
Question
ServiceAffinity places pods on nodes based on the service running on that pod. Placing pods of the same service on the same or co-located nodes can lead to higher efficiency.
It's a concept of openshift and not of open source kubernetes.