You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This KEP's GA scope has been significantly reduced. While originally the KEP
81
+
proposed both the `hints` field in `EndpointSlice`*and* a topology-aware
82
+
routing implementation using Service annotation
83
+
`service.kubernetes.io/topology-mode=Auto`, *only the `hints` field is being
84
+
graduated to GA*. The topology-aware routing aspects, including the
85
+
`service.kubernetes.io/topology-mode` annotation and associated heuristics, are
86
+
not part of this GA release.
87
+
88
+
The following sections of this KEP are provided for historical context and to
89
+
explain the rationale behind the `hints` field. The reason the entire KEP has
90
+
not been updated is to maintain this valuable context. While other sections of
91
+
this KEP remain, they have not been updated to fully reflect this scope
92
+
reduction and should be considered in that light. Much of the content, including
93
+
aspects of the Production Readiness Review, remains applicable as significant
94
+
portions of the original implementation are still in use and will graduate to GA
95
+
separately (through other KEPs, with their own Production Readiness Review),
96
+
even though only the API change (the `hints` field itself) is graduating through
97
+
this KEP.
98
+
99
+
For current active plans on topology-aware routing solutions, please refer to the
100
+
following KEPs:
101
+
102
+
*https://kep.k8s.io/4444
103
+
*https://kep.k8s.io/3015
104
+
77
105
## Summary
78
106
79
107
Kubernetes clusters are increasingly deployed in multi-zone environments but
@@ -132,9 +160,10 @@ for most use cases.
132
160
- Ensuring that Pods are distributed evenly across zones.
133
161
134
162
## Proposal
163
+
135
164
This KEP describes two related concepts:
136
165
137
-
1. A way to express the heuristic you'd like to use for Topology Aware Routing.
166
+
1.(Not graduating to GA; see [scope reduction](#important-scope-reduction-feb-2025)) A way to express the heuristic you'd like to use for Topology Aware Routing.
138
167
2. A new Hints field in EndpointSlices that can be used to enable certain
139
168
topology heuristics.
140
169
@@ -194,33 +223,6 @@ with a new Service annotation.
194
223
195
224
## Design Details
196
225
197
-
### Configuration
198
-
199
-
A new `service.kubernetes.io/topology-mode` annotation can be used to enable or
200
-
disable Topology Aware Routing heuristics for a Service.
201
-
202
-
The previous `service.kubernetes.io/topology-aware-hints` annotation will
203
-
continue to be supported as a means of configuring this feature for both "Auto"
204
-
and "Disabled" values. New values will only be supported by the new annotation.
205
-
206
-
### Interoperability
207
-
208
-
Topology hints will be ignored if the TopologyKeys field has at least one entry.
209
-
This field is deprecated and will be removed soon.
210
-
211
-
Both ExternalTrafficPolicy and InternalTrafficPolicy will be given precedence
212
-
over topology aware routing. For example, if `ExternalTrafficPolicy=Local` and
213
-
topology was enabled, external traffic would be routed using the
214
-
ExternalTrafficPolicy configuration while internal traffic would be routed with
215
-
topology.
216
-
217
-
### Feature Gate
218
-
219
-
This functionality will be guarded by the `TopologyAwareHints` feature gate.
220
-
This gate also interacts with 2 other feature gates:
221
-
- It is dependent on the `ServiceTrafficPolicy` feature gate.
222
-
- It is not compatible with the deprecated `ServiceTopology` feature gate.
223
-
224
226
### API
225
227
226
228
A new `EndpointHints` struct would be added to the `EndpointSlice.Endpoint`
@@ -271,6 +273,44 @@ Additionally we could easily expand this API to include support for region
271
273
hints. Although it is unclear if either expansion will be necessary, the API is
272
274
designed in a way to make expansions straightforward.
273
275
276
+
```
277
+
278
+
+---------------------------------- IMPORTANT -------------------------------------+
279
+
| |
280
+
| NOTE: The remaining design proposals described in this KEP will not graduate to |
281
+
| GA. For more information, see the scope reduction details a the beginning of the |
0 commit comments