Add documentation for probe-level grace period overrides
This commit is contained in:
parent
d0544c2f64
commit
3105d524e3
|
@ -146,6 +146,7 @@ different Kubernetes components.
|
|||
| `PodAffinityNamespaceSelector` | `false` | Alpha | 1.21 | |
|
||||
| `PodOverhead` | `false` | Alpha | 1.16 | 1.17 |
|
||||
| `PodOverhead` | `true` | Beta | 1.18 | |
|
||||
| `ProbeTerminationGracePeriod` | `false` | Alpha | 1.21 | |
|
||||
| `ProcMountType` | `false` | Alpha | 1.12 | |
|
||||
| `QOSReserved` | `false` | Alpha | 1.11 | |
|
||||
| `RemainingItemCount` | `false` | Alpha | 1.15 | |
|
||||
|
@ -697,6 +698,9 @@ Each feature gate is designed for enabling/disabling a specific feature:
|
|||
- `PodShareProcessNamespace`: Enable the setting of `shareProcessNamespace` in a Pod for sharing
|
||||
a single process namespace between containers running in a pod. More details can be found in
|
||||
[Share Process Namespace between Containers in a Pod](/docs/tasks/configure-pod-container/share-process-namespace/).
|
||||
- `ProbeTerminationGracePeriod`: Enable [setting probe-level
|
||||
`terminationGracePeriodSeconds`](/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/#probe-level-terminationGracePeriodSeconds)
|
||||
on pods. See the [enhancement proposal](https://github.com/kubernetes/enhancements/tree/master/keps/sig-node/2238-liveness-probe-grace-period) for more details.
|
||||
- `ProcMountType`: Enables control over the type proc mounts for containers
|
||||
by setting the `procMount` field of a SecurityContext.
|
||||
- `QOSReserved`: Allows resource reservations at the QoS level preventing pods
|
||||
|
|
|
@ -427,7 +427,48 @@ For a TCP probe, the kubelet makes the probe connection at the node, not in the
|
|||
means that you can not use a service name in the `host` parameter since the kubelet is unable
|
||||
to resolve it.
|
||||
|
||||
### Probe-level `terminationGracePeriodSeconds`
|
||||
|
||||
{{< feature-state for_k8s_version="v1.21" state="alpha" >}}
|
||||
|
||||
Prior to release 1.21, the pod-level `terminationGracePeriodSeconds` was used
|
||||
for terminating a container that failed its liveness or startup probe. This
|
||||
coupling was unintended and may have resulted in failed containers taking an
|
||||
unusually long time to restart when a pod-level `terminationGracePeriodSeconds`
|
||||
was set.
|
||||
|
||||
In 1.21, when the feature flag `ProbeTerminationGracePeriod` is enabled, users
|
||||
can specify a probe-level `terminationGracePeriodSeconds` as part of the probe
|
||||
specification. When the feature flag is enabled, and both a pod- and
|
||||
probe-level `terminationGracePeriodSeconds` are set, the kubelet will use the
|
||||
probe-level value.
|
||||
|
||||
For example,
|
||||
|
||||
```yaml
|
||||
spec:
|
||||
terminationGracePeriodSeconds: 3600 # pod-level
|
||||
containers:
|
||||
- name: test
|
||||
image: ...
|
||||
|
||||
ports:
|
||||
- name: liveness-port
|
||||
containerPort: 8080
|
||||
hostPort: 8080
|
||||
|
||||
livenessProbe:
|
||||
httpGet:
|
||||
path: /healthz
|
||||
port: liveness-port
|
||||
failureThreshold: 1
|
||||
periodSeconds: 60
|
||||
# Override pod-level terminationGracePeriodSeconds #
|
||||
terminationGracePeriodSeconds: 60
|
||||
```
|
||||
|
||||
Probe-level `terminationGracePeriodSeconds` cannot be set for readiness probes.
|
||||
It will be rejected by the API server.
|
||||
|
||||
## {{% heading "whatsnext" %}}
|
||||
|
||||
|
|
Loading…
Reference in New Issue