Skip to content

Commit 6b9a155

Browse files
committed
PRR for structured ComponentFlagz
1 parent 9b92579 commit 6b9a155

File tree

2 files changed

+12
-7
lines changed

2 files changed

+12
-7
lines changed

keps/sig-instrumentation/4828-component-flagz/README.md

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -272,7 +272,7 @@ This section must be completed when targeting beta to a release.
272272

273273
This feature should not cause rollout failures. If it does, we can disable the feature. In the worst
274274
case, it is possible it could cause runtime failures, but it is highly unlikely we would not detect this
275-
with existing tests.
275+
with existing tests. The endpoint is isolated and does not affect core workloads.
276276

277277
###### What specific metrics should inform a rollback?
278278

@@ -332,6 +332,7 @@ This is a debugging feature and not something that workloads depend on. Therefor
332332
###### What are the SLIs (Service Level Indicators) an operator can use to determine the health of the service?
333333

334334
This enhancement proposes data that can be used to determine the health of the component.
335+
(though this endpoint is not intended to be used for alerting.)
335336

336337
###### Are there any missing metrics that would be useful to have to improve observability of this feature?
337338

@@ -347,11 +348,11 @@ No, each component's flagz is independent.
347348

348349
###### Will enabling / using this feature result in any new API calls?
349350

350-
No
351+
Yes, enabling this feature will result in a new HTTP endpoint (/flagz) being served by each component (including apiserver). However, this is not a Kubernetes API type or resource; it is a non-resource endpoint that provides component flag information for debugging and observability. No new Kubernetes API objects or resource types are introduced.
351352

352353
###### Will enabling / using this feature result in introducing new API types?
353354

354-
No.
355+
No, this feature does not introduce new Kubernetes API types or resources. While the flagz endpoint uses a structured JSON response with Group/Version/Kind for content negotiation and consistency, it is not a Kubernetes API object and is not managed or persisted by the API server. The GVK is used solely to provide a predictable format for clients querying the endpoint.
355356

356357
###### Will enabling / using this feature result in any new calls to the cloud provider?
357358

@@ -381,14 +382,17 @@ flagz endpoint for apiserver will not be available if the API server itself is d
381382

382383
###### What are other known failure modes?
383384

384-
Overreliance on flagz for critical monitoring. We will clearly document the intended use cases and limitations of the flagz endpoint, emphasizing that it's primarily for informational and troubleshooting purposes, not real-time monitoring or alerting.
385+
Overreliance on flagz for critical monitoring. We will clearly document the intended use cases and limitations of the flagz endpoint, emphasizing that it's primarily for informational and troubleshooting purposes.
385386

386387
###### What steps should be taken if SLOs are not being met to determine the problem?
387388

388389
The feature can be disabled by setting the feature-gate to false if the performance impact of it is not tolerable.
389390

390391
## Implementation History
391392

393+
- 1.32: New `flagz` endpoint introduced for [apiserver](https://github.com/kubernetes/kubernetes/pull/127581)
394+
- 1.33: `/flagz` enablement extended to [kubelet](https://github.com/kubernetes/kubernetes/pull/128857), [scheduler](https://github.com/kubernetes/kubernetes/pull/128818), [controller-manager](https://github.com/kubernetes/kubernetes/pull/128824), and [kube-proxy](https://github.com/kubernetes/kubernetes/pull/128985)
395+
392396
## Drawbacks
393397

394398
## Alternatives

keps/sig-instrumentation/4828-component-flagz/kep.yaml

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,19 +13,20 @@ reviewers:
1313
- "@rexagod"
1414
approvers:
1515
- "@dgrisonnet"
16+
- "@jpbetz"
1617
# The target maturity stage in the current dev cycle for this KEP.
1718
stage: alpha
1819

1920
# The most recent milestone for which work toward delivery of this KEP has been
2021
# done. This can be the current (upcoming) milestone, if it is being actively
2122
# worked on.
22-
latest-milestone: "v1.32"
23+
latest-milestone: "v1.35"
2324

2425
# The milestone at which this feature was, or is targeted to be, at each stage.
2526
milestone:
2627
alpha: "v1.32"
27-
beta: "v1.33"
28-
stable: "v1.34"
28+
beta: "v1.36"
29+
stable: "v1.37"
2930

3031
feature-gates:
3132
- name: ComponentFlagz

0 commit comments

Comments
 (0)