Skip to content

Commit b2f5fbe

Browse files
committed
Document the health-for-strangers workaround
.. to issue #93359
1 parent cac85d2 commit b2f5fbe

File tree

1 file changed

+36
-0
lines changed

1 file changed

+36
-0
lines changed

content/en/docs/concepts/cluster-administration/flow-control.md

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -162,6 +162,42 @@ are built in and may not be overwritten:
162162
that only matches the `catch-all` FlowSchema will be rejected with an HTTP 429
163163
error.
164164

165+
## Potentially interesting additional configuration
166+
167+
The suggested configuration gives no special treatment to the health
168+
check requests on kube-apiservers from their local kubelets --- which
169+
tend to use the secured port but supply no credentials. With the
170+
suggested config, these requests get assigned to the `global-default`
171+
FlowSchema and the corresponding `global-default` priority level,
172+
where other traffic can crowd them out.
173+
174+
Adding the following additional FlowSchema will cause those requests
175+
to be exempt from limiting. Unfortunately, any hostile party could
176+
submit requests matching this FlowSchema.
177+
178+
```yaml
179+
apiVersion: flowcontrol.apiserver.k8s.io/v1alpha1
180+
kind: FlowSchema
181+
metadata:
182+
name: health-for-strangers
183+
spec:
184+
matchingPrecedence: 1000
185+
priorityLevelConfiguration:
186+
name: exempt
187+
rules:
188+
- nonResourceRules:
189+
- nonResourceURLs:
190+
- "/healthz"
191+
- "/livez"
192+
- "/readyz"
193+
verbs:
194+
- "*"
195+
subjects:
196+
- kind: Group
197+
group:
198+
name: system:unauthenticated
199+
```
200+
165201
## Resources
166202
The flow control API involves two kinds of resources.
167203
[PriorityLevelConfigurations](/docs/reference/generated/kubernetes-api/{{< param "version" >}}/#prioritylevelconfiguration-v1alpha1-flowcontrol-apiserver-k8s-io)

0 commit comments

Comments
 (0)