@@ -156,7 +156,7 @@ guaranteed migration pain for users when the APIs move to stable, and the risk t
156
156
grow around unfinished APIs.
157
157
Enabling beta APIs by default, exacerbates these problems by making them on in nearly every cluster.
158
158
We observed these problems as we removed long-standing beta APIs and the PRR survey tells us that over
159
- 90% of production clusters leave these APIs enabled.
159
+ 90% of cluster-admins leave production clusters with these APIs enabled.
160
160
Unsuitability for production use is documented at https://kubernetes.io/docs/reference/using-api/#api-versioning
161
161
("The software is not recommended for production uses"), but defaulting on means they are present in nearly every
162
162
production cluster.
@@ -198,20 +198,31 @@ This already exists and will continue to function.
198
198
199
199
### Notes/Constraints/Caveats (Optional)
200
200
201
+ Installers, utilities, controllers, etc that need to know if a certain beta API is present can continue to use the
202
+ existing discovery mechanisms (example: kubectl's api-resources sub command or the ` /api/apps/v1 ` REST API).
203
+
201
204
### Risks and Mitigations
202
205
203
206
Adoption of beta features will slow.
204
207
Given how kubernetes is now treated, this is a good thing, not a bad thing.
205
208
Those users that want to move quickly and get new features can do so by enabling all beta feature
206
209
or just enabling those that are important for their workload.
207
210
The [ PRR survey] ( https://datastudio.google.com/reporting/2e9c7439-202b-48a9-8c57-4459e0d69c8d/page/Cv5HB ) shows that
208
- over 30% of production clusters have alpha features enabled , so cluster-admins are willing and able to enable features
211
+ over 30% of cluster-admins have enabled alpha features on at least some production clusters , so cluster-admins are willing and able to enable features
209
212
that are not on by default when they are desired.
210
213
211
214
If two or more APIs are tightly coupled together, it will now be possible to enable them independently.
212
215
This can lead to unanticipated failure modes, but should only impact beta APIs with beta dependencies.
213
216
While this is a risk, it is not very common and components should fail safe as a general principle.
214
217
218
+ If beta APIs are off by default, it's possible that fewer clients will use them and provide feedback.
219
+ This is a risk, but early adopters are able to enable these features and have a history of enabling alpha features.
220
+ When moving from beta to GA, it will be important for sigs to explicitly seek feedback.
221
+
222
+ If beta APIs are off by default, it is possible that sigs don't treat taking an API as an indication of a "mostly-baked" API.
223
+ If this happens, then more transformation may be required.
224
+ Keeping our beta API rules consistent and continuing to enforce easy to use APIs seems to be the best option.
225
+
215
226
## Design Details
216
227
217
228
<!--
0 commit comments