Merge pull request #20856 from willise/docs/affinity
docs: reorganize topologyKey constraints
This commit is contained in:
		
						commit
						07fa80f443
					
				|  | @ -226,10 +226,11 @@ The legal operators for pod affinity and anti-affinity are `In`, `NotIn`, `Exist | |||
| In principle, the `topologyKey` can be any legal label-key. However, | ||||
| for performance and security reasons, there are some constraints on topologyKey: | ||||
| 
 | ||||
| 1. For affinity and for `requiredDuringSchedulingIgnoredDuringExecution` pod anti-affinity, | ||||
| empty `topologyKey` is not allowed. | ||||
| 2. For `requiredDuringSchedulingIgnoredDuringExecution` pod anti-affinity, the admission controller `LimitPodHardAntiAffinityTopology` was introduced to limit `topologyKey` to `kubernetes.io/hostname`. If you want to make it available for custom topologies, you may modify the admission controller, or simply disable it. | ||||
| 3. For `preferredDuringSchedulingIgnoredDuringExecution` pod anti-affinity, empty `topologyKey` is not allowed. | ||||
| 1. For pod affinity, empty `topologyKey` is not allowed in both `requiredDuringSchedulingIgnoredDuringExecution` | ||||
| and `preferredDuringSchedulingIgnoredDuringExecution`. | ||||
| 2. For pod anti-affinity, empty `topologyKey` is also not allowed in both `requiredDuringSchedulingIgnoredDuringExecution` | ||||
| and `preferredDuringSchedulingIgnoredDuringExecution`. | ||||
| 3. For `requiredDuringSchedulingIgnoredDuringExecution` pod anti-affinity, the admission controller `LimitPodHardAntiAffinityTopology` was introduced to limit `topologyKey` to `kubernetes.io/hostname`. If you want to make it available for custom topologies, you may modify the admission controller, or simply disable it. | ||||
| 4. Except for the above cases, the `topologyKey` can be any legal label-key. | ||||
| 
 | ||||
| In addition to `labelSelector` and `topologyKey`, you can optionally specify a list `namespaces` | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue