@@ -2025,7 +2025,7 @@ type Probe struct {
2025
2025
// +optional
2026
2026
PeriodSeconds int32 `json:"periodSeconds,omitempty" protobuf:"varint,4,opt,name=periodSeconds"`
2027
2027
// Minimum consecutive successes for the probe to be considered successful after having failed.
2028
- // Defaults to 1. Must be 1 for liveness. Minimum value is 1.
2028
+ // Defaults to 1. Must be 1 for liveness and startup . Minimum value is 1.
2029
2029
// +optional
2030
2030
SuccessThreshold int32 `json:"successThreshold,omitempty" protobuf:"varint,5,opt,name=successThreshold"`
2031
2031
// Minimum consecutive failures for the probe to be considered failed after having succeeded.
@@ -2196,6 +2196,16 @@ type Container struct {
2196
2196
// More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
2197
2197
// +optional
2198
2198
ReadinessProbe * Probe `json:"readinessProbe,omitempty" protobuf:"bytes,11,opt,name=readinessProbe"`
2199
+ // StartupProbe indicates that the Pod has successfully initialized.
2200
+ // If specified, no other probes are executed until this completes successfully.
2201
+ // If this probe fails, the Pod will be restarted, just as if the livenessProbe failed.
2202
+ // This can be used to provide different probe parameters at the beginning of a Pod's lifecycle,
2203
+ // when it might take a long time to load data or warm a cache, than during steady-state operation.
2204
+ // This cannot be updated.
2205
+ // This is an alpha feature enabled by the StartupProbe feature flag.
2206
+ // More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
2207
+ // +optional
2208
+ StartupProbe * Probe `json:"startupProbe,omitempty" protobuf:"bytes,22,opt,name=startupProbe"`
2199
2209
// Actions that the management system should take in response to container lifecycle events.
2200
2210
// Cannot be updated.
2201
2211
// +optional
@@ -2282,7 +2292,7 @@ type Lifecycle struct {
2282
2292
// +optional
2283
2293
PostStart * Handler `json:"postStart,omitempty" protobuf:"bytes,1,opt,name=postStart"`
2284
2294
// PreStop is called immediately before a container is terminated due to an
2285
- // API request or management event such as liveness probe failure,
2295
+ // API request or management event such as liveness/startup probe failure,
2286
2296
// preemption, resource contention, etc. The handler is not called if the
2287
2297
// container crashes or exits. The reason for termination is passed to the
2288
2298
// handler. The Pod's termination grace period countdown begins before the
@@ -2390,6 +2400,12 @@ type ContainerStatus struct {
2390
2400
// Container's ID in the format 'docker://<container_id>'.
2391
2401
// +optional
2392
2402
ContainerID string `json:"containerID,omitempty" protobuf:"bytes,8,opt,name=containerID"`
2403
+ // Specifies whether the container has passed its startup probe.
2404
+ // Initialized as false, becomes true after startupProbe is considered successful.
2405
+ // Resets to false when the container is restarted, or if kubelet loses state temporarily.
2406
+ // Is always true when no startupProbe is defined.
2407
+ // +optional
2408
+ Started * bool `json:"started,omitempty" protobuf:"varint,9,opt,name=started"`
2393
2409
}
2394
2410
2395
2411
// PodPhase is a label for the condition of a pod at the current time.
@@ -2825,7 +2841,7 @@ type PodSpec struct {
2825
2841
// init container fails, the pod is considered to have failed and is handled according
2826
2842
// to its restartPolicy. The name for an init container or normal container must be
2827
2843
// unique among all containers.
2828
- // Init containers may not have Lifecycle actions, Readiness probes, or Liveness probes.
2844
+ // Init containers may not have Lifecycle actions, Readiness probes, Liveness probes, or Startup probes.
2829
2845
// The resourceRequirements of an init container are taken into account during scheduling
2830
2846
// by finding the highest request/limit for each resource type, and then using the max of
2831
2847
// of that value or the sum of the normal containers. Limits are applied to init containers
@@ -3293,6 +3309,9 @@ type EphemeralContainerCommon struct {
3293
3309
// Probes are not allowed for ephemeral containers.
3294
3310
// +optional
3295
3311
ReadinessProbe * Probe `json:"readinessProbe,omitempty" protobuf:"bytes,11,opt,name=readinessProbe"`
3312
+ // Probes are not allowed for ephemeral containers.
3313
+ // +optional
3314
+ StartupProbe * Probe `json:"startupProbe,omitempty" protobuf:"bytes,22,opt,name=startupProbe"`
3296
3315
// Lifecycle is not allowed for ephemeral containers.
3297
3316
// +optional
3298
3317
Lifecycle * Lifecycle `json:"lifecycle,omitempty" protobuf:"bytes,12,opt,name=lifecycle"`
0 commit comments