/
weightedpodaffinityterm.json
98 lines (98 loc) · 4.42 KB
/
weightedpodaffinityterm.json
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
{
"$schema": "http://json-schema.org/schema#",
"required": [
"weight",
"podAffinityTerm"
],
"type": "object",
"description": "The weights of all of the matched WeightedPodAffinityTerm fields are added per-node to find the most preferred node(s)",
"properties": {
"podAffinityTerm": {
"additionalProperties": false,
"required": [
"topologyKey"
],
"description": "Defines a set of pods (namely those matching the labelSelector relative to the given namespace(s)) that this pod should be co-located (affinity) or not co-located (anti-affinity) with, where co-located is defined as running on a node whose value of the label with key <topologyKey> matches that of any node on which a pod of the set of pods is running",
"properties": {
"labelSelector": {
"additionalProperties": false,
"description": "A label selector is a label query over a set of resources. The result of matchLabels and matchExpressions are ANDed. An empty label selector matches all objects. A null label selector matches no objects.",
"properties": {
"matchLabels": {
"additionalProperties": {
"type": [
"string",
"null"
]
},
"type": "object",
"description": "matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is \"key\", the operator is \"In\", and the values array contains only \"value\". The requirements are ANDed."
},
"matchExpressions": {
"items": {
"additionalProperties": false,
"required": [
"key",
"operator"
],
"description": "A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.",
"properties": {
"operator": {
"type": "string",
"description": "operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist."
},
"values": {
"items": {
"type": [
"string",
"null"
]
},
"type": [
"array",
"null"
],
"description": "values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch."
},
"key": {
"x-kubernetes-patch-merge-key": "key",
"type": "string",
"description": "key is the label key that the selector applies to.",
"x-kubernetes-patch-strategy": "merge"
}
}
},
"type": [
"array",
"null"
],
"description": "matchExpressions is a list of label selector requirements. The requirements are ANDed."
}
}
},
"namespaces": {
"items": {
"type": [
"string",
"null"
]
},
"type": [
"array",
"null"
],
"description": "namespaces specifies which namespaces the labelSelector applies to (matches against); null or empty list means \"this pod's namespace\""
},
"topologyKey": {
"type": "string",
"description": "This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching the labelSelector in the specified namespaces, where co-located is defined as running on a node whose value of the label with key topologyKey matches that of any node on which any of the selected pods is running. Empty topologyKey is not allowed."
}
}
},
"weight": {
"type": "integer",
"description": "weight associated with matching the corresponding podAffinityTerm, in the range 1-100.",
"format": "int32"
}
}
}