Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

KEP 4317: Pod Certificates #48502

Draft
wants to merge 45 commits into
base: main
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
45 commits
Select commit Hold shift + click to select a range
ed90336
kubeadm-init: mark EtcdLearnerMode as GA
neolit123 Aug 19, 2024
dd6e72d
remove feature-gate NewVolumeManagerReconstruction
carlory Aug 19, 2024
710a324
Merge pull request #47563 from neolit123/1.32-ga-etcd-learner-mode-fg
k8s-ci-robot Aug 19, 2024
426efd6
mark LegacyServiceAccountTokenCleanUp as removed
carlory Aug 21, 2024
ccd9488
mark CloudDualStackNodeIPs as removed
carlory Aug 21, 2024
e4927e5
mark StableLoadBalancerNodeSet as removed
carlory Aug 21, 2024
fce4691
Mark KMSv2 and KMSv2KDF feature gates as removed
aramase Aug 21, 2024
435a6f3
Merge pull request #47621 from aramase/aramase/d/rm_kmsv2_feature_gate
k8s-ci-robot Aug 22, 2024
ce80625
Merge pull request #47606 from carlory/LegacyServiceAccountTokenCleanUp
k8s-ci-robot Aug 23, 2024
7aa12b0
Merge pull request #47607 from carlory/CloudDualStackNodeIPs
k8s-ci-robot Aug 23, 2024
7116eef
Merge pull request #47608 from carlory/StableLoadBalancerNodeSet
k8s-ci-robot Aug 23, 2024
72678a1
mark feature-gate NodeOutOfServiceVolumeDetach as removed
carlory Aug 30, 2024
9d3326c
mark feature-gate ServerSideApply/ServerSideFieldValidation as removed
carlory Sep 2, 2024
e2db2d7
Promote RetryGenerateName to stable
jpbetz Sep 3, 2024
424f3fc
Merge pull request #47754 from carlory/fgs
k8s-ci-robot Sep 4, 2024
3ff8a9c
Add note about k8s.io, kubernetes disallowed prefix for structured authn
aramase Sep 6, 2024
b4768f5
Merge pull request #47821 from aramase/aramase/d/update_authn_constra…
k8s-ci-robot Sep 10, 2024
5c17387
mark feature-gate MinDomainsInPodTopologySpread as removed
carlory Aug 22, 2024
c8ca775
Merge pull request #47627 from carlory/MinDomainsInPodTopologySpread
k8s-ci-robot Sep 12, 2024
10e98d7
Merge pull request #47564 from carlory/cleanup-NewVolumeManagerRecons…
k8s-ci-robot Sep 14, 2024
f005d8c
Merge main into dev-1.32 to keep in sync
chanieljdan Sep 18, 2024
831e8a9
Merge pull request #47729 from carlory/fg-NodeOutOfServiceVolumeDetach
k8s-ci-robot Sep 19, 2024
f9610cd
Merge pull request #47986 from chanieljdan/merged-main-dev-1.32
k8s-ci-robot Sep 19, 2024
de6ead9
sync safe sysctl ipv4.rmen and ipv4.wmem for v1.32
pacoxu Sep 20, 2024
338c7b1
Promote LoadBalancerIPMode to GA
RyanAoh Sep 16, 2024
9eb3006
describe generateName in concepts page
jpbetz Sep 23, 2024
46f78dd
Merge main into dev-1.32 to keep in sync
chanieljdan Sep 24, 2024
c0bdce3
Merge pull request #48065 from chanieljdan/merged-main-dev-1.32
k8s-ci-robot Sep 25, 2024
a44421f
Apply suggestions from code review
jpbetz Sep 26, 2024
31aba2f
Fix versions in feature gate doc
jpbetz Sep 26, 2024
c28e8b8
Merge remote-tracking branch 'upstream/main' into dev-1.32
AnshumanTripathi Oct 1, 2024
4951613
Updated config.toml for 1.32 release (#48157)
chanieljdan Oct 2, 2024
5746924
Merge pull request #48161 from AnshumanTripathi/merged-main-dev-1-32
k8s-ci-robot Oct 4, 2024
e132a42
Merge pull request #47770 from jpbetz/retry-generate-name-ga
k8s-ci-robot Oct 7, 2024
ae1af38
Merge main into dev-1.32 to keep in sync
rdalbuquerque Oct 8, 2024
d08241e
Merge pull request #48252 from rdalbuquerque/merged-main-dev-1.32
k8s-ci-robot Oct 8, 2024
0ec5a94
Merge pull request #47938 from RyanAoh/lbipmode
k8s-ci-robot Oct 11, 2024
fd55058
Merge pull request #48008 from pacoxu/sysctl-1.32
k8s-ci-robot Oct 14, 2024
6d8076a
Merge remote-tracking branch 'upstream/main' into dev-1.32
michellengnx Oct 14, 2024
35e7e1d
Merge pull request #48344 from michellengnx/merged-main-dev-1.32
k8s-ci-robot Oct 15, 2024
2c93c92
Update docs as JobManagedBy graduates to Beta
mimowo Oct 16, 2024
32aad9d
KEP-3221: Promote StructuredAuthorizationConfiguration to GA
liggitt Oct 18, 2024
9779ecf
Merge pull request #48424 from liggitt/3221-ga
k8s-ci-robot Oct 22, 2024
e3f0368
Merge pull request #48378 from mimowo/update-job-managed-by-to-beta
k8s-ci-robot Oct 22, 2024
c0edeb2
KEP-4317: Doc updates
ahmedtd Oct 22, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -217,9 +217,7 @@ these pods will be stuck in terminating status on the shutdown node forever.

To mitigate the above situation, a user can manually add the taint `node.kubernetes.io/out-of-service`
with either `NoExecute` or `NoSchedule` effect to a Node marking it out-of-service.
If the `NodeOutOfServiceVolumeDetach`[feature gate](/docs/reference/command-line-tools-reference/feature-gates/)
is enabled on {{< glossary_tooltip text="kube-controller-manager" term_id="kube-controller-manager" >}},
and a Node is marked out-of-service with this taint, the pods on the node will be forcefully deleted
If a Node is marked out-of-service with this taint, the pods on the node will be forcefully deleted
if there are no matching tolerations on it and volume detach operations for the pods terminating on
the node will happen immediately. This allows the Pods on the out-of-service node to recover quickly
on a different node.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,12 @@ of the same resource. API resources are distinguished by their API group, resour
In cases when objects represent a physical entity, like a Node representing a physical host, when the host is re-created under the same name without deleting and re-creating the Node, Kubernetes treats the new host as the old one, which may lead to inconsistencies.
{{< /note >}}

The server may generate a name when `generateName` is provided instead of `name` in a resource create request.
When `generateName` is used, the provided value is used as a name prefix, which server appends a generated suffix
to. Even though the name is generated, it may conflict with existing names resulting in a HTTP 409 resopnse. This
became far less likely to happen in Kubernetes v1.31 and later, since the server will make up to 8 attempt to generate a
unique name before returning a HTTP 409 response.

Below are four types of commonly used name constraints for resources.

### DNS Subdomain Names
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -99,7 +99,7 @@ your cluster. Those fields are:
<!-- OK to remove this note once v1.29 Kubernetes is out of support -->
{{< note >}}
Before Kubernetes v1.30, the `minDomains` field was only available if the
`MinDomainsInPodTopologySpread` [feature gate](/docs/reference/command-line-tools-reference/feature-gates/)
`MinDomainsInPodTopologySpread` [feature gate](/docs/reference/command-line-tools-reference/feature-gates-removed/)
was enabled (default since v1.28). In older Kubernetes clusters it might be explicitly
disabled or the field might not be available.
{{< /note >}}
Expand Down
7 changes: 2 additions & 5 deletions content/en/docs/concepts/services-networking/service.md
Original file line number Diff line number Diff line change
Expand Up @@ -681,14 +681,11 @@ The value of `spec.loadBalancerClass` must be a label-style identifier,
with an optional prefix such as "`internal-vip`" or "`example.com/internal-vip`".
Unprefixed names are reserved for end-users.

#### Specifying IPMode of load balancer status {#load-balancer-ip-mode}
#### Load balancer IP address mode {#load-balancer-ip-mode}

{{< feature-state feature_gate_name="LoadBalancerIPMode" >}}

As a Beta feature in Kubernetes 1.30,
a [feature gate](/docs/reference/command-line-tools-reference/feature-gates/)
named `LoadBalancerIPMode` allows you to set the `.status.loadBalancer.ingress.ipMode`
for a Service with `type` set to `LoadBalancer`.
For a Service of `type: LoadBalancer`, a controller can set `.status.loadBalancer.ingress.ipMode`.
The `.status.loadBalancer.ingress.ipMode` specifies how the load-balancer IP behaves.
It may be specified only when the `.status.loadBalancer.ingress.ip` field is also specified.

Expand Down
6 changes: 3 additions & 3 deletions content/en/docs/concepts/workloads/controllers/job.md
Original file line number Diff line number Diff line change
Expand Up @@ -695,8 +695,8 @@ triggered and all Pod finalizers were removed. However, some Pods would still
be running or terminating at the moment that the terminal condition was added.

In Kubernetes v1.31 and later, the controller only adds the Job terminal conditions
_after_ all of the Pods are terminated. You can enable this behavior by using the
`JobManagedBy` or the `JobPodReplacementPolicy` (enabled by default)
_after_ all of the Pods are terminated. You can control this behavior by using the
`JobManagedBy` and the `JobPodReplacementPolicy` (both enabled by default)
[feature gates](/docs/reference/command-line-tools-reference/feature-gates/).

### Termination of Job pods
Expand Down Expand Up @@ -1137,7 +1137,7 @@ status:
{{< note >}}
You can only set the `managedBy` field on Jobs if you enable the `JobManagedBy`
[feature gate](/docs/reference/command-line-tools-reference/feature-gates/)
(disabled by default).
(enabled by default).
{{< /note >}}

This feature allows you to disable the built-in Job controller, for a specific
Expand Down
3 changes: 1 addition & 2 deletions content/en/docs/concepts/workloads/pods/pod-lifecycle.md
Original file line number Diff line number Diff line change
Expand Up @@ -677,8 +677,7 @@ Additionally, PodGC cleans up any Pods which satisfy any of the following condit
1. are orphan Pods - bound to a node which no longer exists,
1. are unscheduled terminating Pods,
1. are terminating Pods, bound to a non-ready node tainted with
[`node.kubernetes.io/out-of-service`](/docs/reference/labels-annotations-taints/#node-kubernetes-io-out-of-service),
when the `NodeOutOfServiceVolumeDetach` feature gate is enabled.
[`node.kubernetes.io/out-of-service`](/docs/reference/labels-annotations-taints/#node-kubernetes-io-out-of-service).

Along with cleaning up the Pods, PodGC will also mark them as failed if they are in a non-terminal
phase. Also, PodGC adds a Pod disruption condition when cleaning up an orphan Pod.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -466,6 +466,12 @@ jwt:
expression: 'claims.sub'
# extra attributes to be added to the UserInfo object. Keys must be domain-prefix path and must be unique.
extra:
# key is a string to use as the extra attribute key.
# key must be a domain-prefix path (e.g. example.org/foo). All characters before the first "/" must be a valid
# subdomain as defined by RFC 1123. All characters trailing the first "/" must
# be valid HTTP Path characters as defined by RFC 3986.
# k8s.io, kubernetes.io and their subdomains are reserved for Kubernetes use and cannot be used.
# key must be lowercase and unique across all extra attributes.
- key: 'example.com/tenant'
# valueExpression is a CEL expression that evaluates to a string or a list of strings.
valueExpression: 'claims.tenant'
Expand Down
6 changes: 3 additions & 3 deletions content/en/docs/reference/access-authn-authz/authorization.md
Original file line number Diff line number Diff line change
Expand Up @@ -177,7 +177,7 @@ You can use the following modes:
* `--authorization-mode=AlwaysDeny` (always denies requests)

You can choose more than one authorization mode; for example:
`--authorization-mode=Node,Webhook`
`--authorization-mode=Node,RBAC,Webhook`

Kubernetes checks authorization modules based on the order that you specify them
on the API server's command line, so an earlier module has higher priority to allow
Expand All @@ -197,7 +197,7 @@ For more information on command line arguments to the API server, read the

{{< feature-state feature_gate_name="StructuredAuthorizationConfiguration" >}}

As a beta feature, Kubernetes lets you configure authorization chains that can include multiple
Kubernetes lets you configure authorization chains that can include multiple
webhooks. The authorization items in that chain can have well-defined parameters that validate
requests in a particular order, offering you fine-grained control, such as explicit Deny on failures.

Expand All @@ -220,7 +220,7 @@ are only available if you use an authorization configuration file.
#
# DO NOT USE THE CONFIG AS IS. THIS IS AN EXAMPLE.
#
apiVersion: apiserver.config.k8s.io/v1beta1
apiVersion: apiserver.config.k8s.io/v1
kind: AuthorizationConfiguration
authorizers:
- type: Webhook
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,8 @@ content_type: concept
weight: 60
---

<!-- TODO(KEP-4317): Document PodCertificateRequest -->

<!-- overview -->

Kubernetes certificate and trust bundle APIs enable automation of
Expand Down
19 changes: 18 additions & 1 deletion content/en/docs/reference/access-authn-authz/node.md
Original file line number Diff line number Diff line change
Expand Up @@ -69,7 +69,24 @@ the local `hostname` and the `--hostname-override` option.
For specifics about how the kubelet determines the hostname, see the
[kubelet options reference](/docs/reference/command-line-tools-reference/kubelet/).

To enable the Node authorizer, start the apiserver with `--authorization-mode=Node`.
To enable the Node authorizer, start the {{< glossary_tooltip text="API server" term_id="kube-apiserver" >}}
with the `--authorization-config` flag set to a file that includes the `Node` authorizer; for example:

```yaml
apiVersion: apiserver.config.k8s.io/v1
kind: AuthorizationConfiguration
authorizers:
...
- type: Node
...
```

Or, start the {{< glossary_tooltip text="API server" term_id="kube-apiserver" >}} with
the `--authorization-mode` flag set to a comma-separated list that includes `Node`;
for example:
```shell
kube-apiserver --authorization-mode=...,Node --other-options --more-options
```

To limit the API objects kubelets are able to write, enable the
[NodeRestriction](/docs/reference/access-authn-authz/admission-controllers#noderestriction)
Expand Down
16 changes: 14 additions & 2 deletions content/en/docs/reference/access-authn-authz/rbac.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,10 +20,22 @@ RBAC authorization uses the `rbac.authorization.k8s.io`
decisions, allowing you to dynamically configure policies through the Kubernetes API.

To enable RBAC, start the {{< glossary_tooltip text="API server" term_id="kube-apiserver" >}}
with the `--authorization-mode` flag set to a comma-separated list that includes `RBAC`;
with the `--authorization-config` flag set to a file that includes the `RBAC` authorizer; for example:

```yaml
apiVersion: apiserver.config.k8s.io/v1
kind: AuthorizationConfiguration
authorizers:
...
- type: RBAC
...
```

Or, start the {{< glossary_tooltip text="API server" term_id="kube-apiserver" >}} with
the `--authorization-mode` flag set to a comma-separated list that includes `RBAC`;
for example:
```shell
kube-apiserver --authorization-mode=Example,RBAC --other-options --more-options
kube-apiserver --authorization-mode=...,RBAC --other-options --more-options
```

## API objects {#api-overview}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,9 @@ stages:
- stage: stable
defaultValue: true
fromVersion: "1.30"
toVersion: "1.31"

removed: true
---
Enables dual-stack `kubelet --node-ip` with external cloud providers.
See [Configure IPv4/IPv6 dual-stack](/docs/concepts/services-networking/dual-stack/#configure-ipv4-ipv6-dual-stack)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,5 +10,9 @@ stages:
- stage: alpha
defaultValue: false
fromVersion: "1.30"
toVersion: "1.31"
- stage: beta
defaultValue: false
fromVersion: "1.32"
---
Allows to delegate reconciliation of a Job object to an external controller.
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,10 @@ stages:
toVersion: "1.28"
- stage: stable
defaultValue: true
fromVersion: "1.29"
fromVersion: "1.29"
toVersion: "1.31"

removed: true
---
Enables KMS v2 to generate single use data encryption keys.
See [Using a KMS Provider for data encryption](/docs/tasks/administer-cluster/kms-provider) for more details.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,9 @@ stages:
toVersion: "1.28"
- stage: stable
defaultValue: true
fromVersion: "1.29"
fromVersion: "1.29"
toVersion: "1.31"

removed: true
---
Enables KMS v2 API for encryption at rest. See [Using a KMS Provider for data encryption](/docs/tasks/administer-cluster/kms-provider) for more details.
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,9 @@ stages:
- stage: stable
defaultValue: true
fromVersion: "1.30"
toVersion: "1.31"

removed: true
---
Enable cleaning up Secret-based
[service account tokens](/docs/concepts/security/service-accounts/#get-a-token)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,10 @@ stages:
- stage: beta
defaultValue: true
fromVersion: "1.30"
toVersion: "1.31"
- stage: stable
defaultValue: true
fromVersion: "1.32"
---
Allows setting `ipMode` for Services where `type` is set to `LoadBalancer`.
See [Specifying IPMode of load balancer status](/docs/concepts/services-networking/service/#load-balancer-ip-mode)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,9 @@ stages:
- stage: stable
defaultValue: true
fromVersion: "1.30"
toVersion: "1.31"

removed: true
---
Enable `minDomains` in
[Pod topology spread constraints](/docs/concepts/scheduling-eviction/topology-spread-constraints/).
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,9 @@ stages:
- stage: stable
defaultValue: true
fromVersion: "1.30"
toVersion: "1.31"

removed: true
---
Enables improved discovery of mounted volumes during kubelet
startup. Since the associated code had been significantly refactored, Kubernetes versions 1.25 to 1.29
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,9 @@ stages:
- stage: stable
defaultValue: true
fromVersion: "1.28"
toVersion: "1.31"

removed: true
---
When a Node is marked out-of-service using the
`node.kubernetes.io/out-of-service` taint, Pods on the node will be forcefully deleted
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,14 @@ stages:
- stage: alpha
defaultValue: false
fromVersion: "1.30"
toVersion: "1.30"
- stage: beta
defaultValue: true
fromVersion: "1.31"
toVersion: "1.31"
- stage: stable
defaultValue: true
fromVersion: "1.32"
---
Enables retrying of object creation when the
{{< glossary_tooltip text="API server" term_id="kube-apiserver" >}}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,9 @@ stages:
- stage: stable
defaultValue: true
fromVersion: "1.22"
toVersion: "1.31"

removed: true
---
Enables the [Sever Side Apply (SSA)](/docs/reference/using-api/server-side-apply/)
feature on the API Server.
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,9 @@ stages:
- stage: stable
defaultValue: true
fromVersion: "1.27"
toVersion: "1.31"

removed: true
---
Enables server-side field validation. This means the validation
of resource schema is performed at the API server side rather than the client side
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,9 @@ stages:
- stage: stable
defaultValue: true
fromVersion: "1.30"
toVersion: "1.31"

removed: true
---
Enables less load balancer re-configurations by
the service controller (KCCM) as an effect of changing node state.
Original file line number Diff line number Diff line change
Expand Up @@ -6,13 +6,17 @@ _build:
render: false

stages:
- stage: alpha
- stage: alpha
defaultValue: false
fromVersion: "1.29"
toVersion: "1.29"
- stage: beta
- stage: beta
defaultValue: true
fromVersion: "1.30"
toVersion: "1.31"
- stage: stable
defaultValue: true
fromVersion: "1.32"
---
Enable structured authorization configuration, so that cluster administrators
can specify more than one [authorization webhook](/docs/reference/access-authn-authz/webhook/)
Expand Down
6 changes: 2 additions & 4 deletions content/en/docs/reference/labels-annotations-taints/_index.md
Original file line number Diff line number Diff line change
Expand Up @@ -1614,10 +1614,8 @@ Example: `node.kubernetes.io/out-of-service:NoExecute`
Used on: Node

A user can manually add the taint to a Node marking it out-of-service.
If the `NodeOutOfServiceVolumeDetach`
[feature gate](/docs/reference/command-line-tools-reference/feature-gates/)
is enabled on `kube-controller-manager`, and a Node is marked out-of-service with this taint,
the Pods on the node will be forcefully deleted if there are no matching tolerations on it and
If a Node is marked out-of-service with this taint, the Pods on the node
will be forcefully deleted if there are no matching tolerations on it and
volume detach operations for the Pods terminating on the node will happen immediately.
This allows the Pods on the out-of-service node to recover quickly on a different node.

Expand Down
2 changes: 2 additions & 0 deletions content/en/docs/reference/node/kernel-version-requirements.md
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,8 @@ Code: https://github.com/kubernetes/kubernetes/blob/00236ae0d73d2455a2470469ed10
- `net.ipv4.tcp_keepalive_intvl` (since Kubernetes 1.29, needs kernel 4.5+);
- `net.ipv4.tcp_keepalive_probes` (since Kubernetes 1.29, needs kernel 4.5+);
- `net.ipv4.tcp_syncookies` (namespaced since kernel 4.6+).
- `net.ipv4.tcp_rmem` (since Kubernetes 1.32, needs kernel 4.15+).
- `net.ipv4.tcp_wmem` (since Kubernetes 1.32, needs kernel 4.15+).
- `net.ipv4.vs.conn_reuse_mode` (used in `ipvs` proxy mode, needs kernel 4.1+);

### kube proxy `nftables` proxy mode
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -156,7 +156,7 @@ List of feature gates:
Feature | Default | Alpha | Beta | GA
:-------|:--------|:------|:-----|:----
`ControlPlaneKubeletLocalMode` | `false` | 1.31 | - | -
`EtcdLearnerMode` | `true` | 1.27 | 1.29 | -
`EtcdLearnerMode` | `true` | 1.27 | 1.29 | 1.32
`PublicKeysECDSA` | `false` | 1.19 | - | -
`WaitForAllControlPlaneComponents` | `false` | 1.30 | - | -
{{< /table >}}
Expand Down
2 changes: 1 addition & 1 deletion content/en/docs/setup/production-environment/_index.md
Original file line number Diff line number Diff line change
Expand Up @@ -232,7 +232,7 @@ As someone setting up authentication and authorization on your production Kubern

- *Set the authorization mode*: When the Kubernetes API server
([kube-apiserver](/docs/reference/command-line-tools-reference/kube-apiserver/))
starts, the supported authentication modes must be set using the *--authorization-mode*
starts, supported authorization modes must be set using an *--authorization-config* file or the *--authorization-mode*
flag. For example, that flag in the *kube-adminserver.yaml* file (in */etc/kubernetes/manifests*)
could be set to Node,RBAC. This would allow Node and RBAC authorization for authenticated requests.
- *Create user certificates and role bindings (RBAC)*: If you are using RBAC
Expand Down
2 changes: 2 additions & 0 deletions content/en/docs/tasks/administer-cluster/sysctl-cluster.md
Original file line number Diff line number Diff line change
Expand Up @@ -81,6 +81,8 @@ The following sysctls are supported in the _safe_ set:
- `net.ipv4.tcp_fin_timeout` (since Kubernetes 1.29, needs kernel 4.6+);
- `net.ipv4.tcp_keepalive_intvl` (since Kubernetes 1.29, needs kernel 4.5+);
- `net.ipv4.tcp_keepalive_probes` (since Kubernetes 1.29, needs kernel 4.5+).
- `net.ipv4.tcp_rmem` (since Kubernetes 1.32, needs kernel 4.15+).
- `net.ipv4.tcp_wmem` (since Kubernetes 1.32, needs kernel 4.15+).

{{< note >}}
There are some exceptions to the set of safe sysctls:
Expand Down
Loading