Update API Priority and Fairness doc for graduatino to beta (#24975)

This commit is contained in:
Mike Spreitzer 2020-11-14 04:55:04 -05:00 committed by GitHub
parent dc8c7db4e8
commit bf23ba2aa9
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 25 additions and 18 deletions

View File

@ -6,7 +6,7 @@ min-kubernetes-server-version: v1.18
<!-- overview --> <!-- overview -->
{{< feature-state state="alpha" for_k8s_version="v1.18" >}} {{< feature-state state="beta" for_k8s_version="v1.20" >}}
Controlling the behavior of the Kubernetes API server in an overload situation Controlling the behavior of the Kubernetes API server in an overload situation
is a key task for cluster administrators. The {{< glossary_tooltip is a key task for cluster administrators. The {{< glossary_tooltip
@ -37,25 +37,30 @@ Fairness feature enabled.
<!-- body --> <!-- body -->
## Enabling API Priority and Fairness ## Enabling/Disabling API Priority and Fairness
The API Priority and Fairness feature is controlled by a feature gate The API Priority and Fairness feature is controlled by a feature gate
and is not enabled by default. See and is enabled by default. See
[Feature Gates](/docs/reference/command-line-tools-reference/feature-gates/) [Feature Gates](/docs/reference/command-line-tools-reference/feature-gates/)
for a general explanation of feature gates and how to enable and disable them. The for a general explanation of feature gates and how to enable and
name of the feature gate for APF is "APIPriorityAndFairness". This disable them. The name of the feature gate for APF is
feature also involves an {{< glossary_tooltip term_id="api-group" "APIPriorityAndFairness". This feature also involves an {{<
text="API Group" >}} that must be enabled. You can do these glossary_tooltip term_id="api-group" text="API Group" >}} with: (a) a
things by adding the following command-line flags to your `v1alpha1` version, disabled by default, and (b) a `v1beta1`
`kube-apiserver` invocation: version, enabled by default. You can disable the feature
gate and API group v1beta1 version by adding the following
command-line flags to your `kube-apiserver` invocation:
```shell ```shell
kube-apiserver \ kube-apiserver \
--feature-gates=APIPriorityAndFairness=true \ --feature-gates=APIPriorityAndFairness=false \
--runtime-config=flowcontrol.apiserver.k8s.io/v1alpha1=true \ --runtime-config=flowcontrol.apiserver.k8s.io/v1beta1=false \
# …and other flags as usual # …and other flags as usual
``` ```
Alternatively, you can enable the v1alpha1 version of the API group
with `--runtime-config=flowcontrol.apiserver.k8s.io/v1beta1=true`.
The command-line flag `--enable-priority-and-fairness=false` will disable the The command-line flag `--enable-priority-and-fairness=false` will disable the
API Priority and Fairness feature, even if other flags have enabled it. API Priority and Fairness feature, even if other flags have enabled it.
@ -189,12 +194,14 @@ that originate from outside your cluster.
## Resources ## Resources
The flow control API involves two kinds of resources. The flow control API involves two kinds of resources.
[PriorityLevelConfigurations](/docs/reference/generated/kubernetes-api/{{< param "version" >}}/#prioritylevelconfiguration-v1alpha1-flowcontrol-apiserver-k8s-io) [PriorityLevelConfigurations](/docs/reference/generated/kubernetes-api/{{< param "version" >}}/#prioritylevelconfiguration-v1beta1-flowcontrol-apiserver-k8s-io)
define the available isolation classes, the share of the available concurrency define the available isolation classes, the share of the available concurrency
budget that each can handle, and allow for fine-tuning queuing behavior. budget that each can handle, and allow for fine-tuning queuing behavior.
[FlowSchemas](/docs/reference/generated/kubernetes-api/{{< param "version" >}}/#flowschema-v1alpha1-flowcontrol-apiserver-k8s-io) [FlowSchemas](/docs/reference/generated/kubernetes-api/{{< param "version" >}}/#flowschema-v1beta1-flowcontrol-apiserver-k8s-io)
are used to classify individual inbound requests, matching each to a single are used to classify individual inbound requests, matching each to a
PriorityLevelConfiguration. single PriorityLevelConfiguration. There is also a `v1alpha1` version
of the same API group, and it has the same Kinds with the same syntax and
semantics.
### PriorityLevelConfiguration ### PriorityLevelConfiguration
A PriorityLevelConfiguration represents a single isolation class. Each A PriorityLevelConfiguration represents a single isolation class. Each
@ -522,4 +529,3 @@ For background information on design details for API priority and fairness, see
the [enhancement proposal](https://github.com/kubernetes/enhancements/blob/master/keps/sig-api-machinery/20190228-priority-and-fairness.md). the [enhancement proposal](https://github.com/kubernetes/enhancements/blob/master/keps/sig-api-machinery/20190228-priority-and-fairness.md).
You can make suggestions and feature requests via [SIG API You can make suggestions and feature requests via [SIG API
Machinery](https://github.com/kubernetes/community/tree/master/sig-api-machinery). Machinery](https://github.com/kubernetes/community/tree/master/sig-api-machinery).

View File

@ -51,7 +51,8 @@ different Kubernetes components.
| `AnyVolumeDataSource` | `false` | Alpha | 1.18 | | | `AnyVolumeDataSource` | `false` | Alpha | 1.18 | |
| `APIListChunking` | `false` | Alpha | 1.8 | 1.8 | | `APIListChunking` | `false` | Alpha | 1.8 | 1.8 |
| `APIListChunking` | `true` | Beta | 1.9 | | | `APIListChunking` | `true` | Beta | 1.9 | |
| `APIPriorityAndFairness` | `false` | Alpha | 1.17 | | | `APIPriorityAndFairness` | `false` | Alpha | 1.17 | 1.19 |
| `APIPriorityAndFairness` | `true` | Beta | 1.20 | |
| `APIResponseCompression` | `false` | Alpha | 1.7 | | | `APIResponseCompression` | `false` | Alpha | 1.7 | |
| `AppArmor` | `true` | Beta | 1.4 | | | `AppArmor` | `true` | Beta | 1.4 | |
| `BalanceAttachedNodeVolumes` | `false` | Alpha | 1.11 | | | `BalanceAttachedNodeVolumes` | `false` | Alpha | 1.11 | |

View File

@ -1,4 +1,4 @@
apiVersion: flowcontrol.apiserver.k8s.io/v1alpha1 apiVersion: flowcontrol.apiserver.k8s.io/v1beta1
kind: FlowSchema kind: FlowSchema
metadata: metadata:
name: health-for-strangers name: health-for-strangers