liveBook · Manning

Progress deadline seconds

As explained in Kubernetes in Action, Second Edition

The progressDeadlineSeconds field specifies the maximum time a Deployment may fail to make progress before its rollout is reported as stalled.

progressDeadlineSeconds sets how long a Deployment may make no rollout progress before Kubernetes reports the rollout as stalled. The default deadline is 10 minutes. section 15.2.5

Set the deadline in the Deployment specification when a rollout needs longer than the default. Its value must account for minReadySeconds; otherwise, a pod that becomes ready too slowly can trigger a false stalled status. section 15.2.5

Recognizing an exceeded deadline

After a faulty update, kubectl describe deploy reports Progressing as False with reason ProgressDeadlineExceeded. kubectl rollout status then reports that the Deployment exceeded its progress deadline. Kubernetes reports the problem but does not automatically stop or repair the rollout. section 15.2.5

How Kubernetes in Action, Second Edition covers it

How deep it goes
Explains the default, configuration point, status condition, command output, and lack of automatic recovery.
Examples
Uses a faulty application update, kubectl describe output, and kubectl rollout status output showing ProgressDeadlineExceeded.
What it assumes
Assumes familiarity with Deployment specifications, rollout status, and minReadySeconds.
What you can do after
Diagnose stalled Deployment rollouts with kubectl and adjust the deadline for longer readiness requirements.
How it connects
Connects Deployment rollouts with minReadySeconds, readiness probes, Progressing conditions, and kubectl rollout status.

Related concepts

This explainer was generated by Manning's knowledge graph from the text of Kubernetes in Action, Second Edition. The section links point to the parts of the book it draws on.