Search

Chapter 8. Deployment [apps/v1]

download PDF
Description
Deployment enables declarative updates for Pods and ReplicaSets.
Type
object

8.1. Specification

PropertyTypeDescription

apiVersion

string

APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources

kind

string

Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds

metadata

ObjectMeta

Standard object’s metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata

spec

object

DeploymentSpec is the specification of the desired behavior of the Deployment.

status

object

DeploymentStatus is the most recently observed status of the Deployment.

8.1.1. .spec

Description
DeploymentSpec is the specification of the desired behavior of the Deployment.
Type
object
Required
  • selector
  • template
PropertyTypeDescription

minReadySeconds

integer

Minimum number of seconds for which a newly created pod should be ready without any of its container crashing, for it to be considered available. Defaults to 0 (pod will be considered available as soon as it is ready)

paused

boolean

Indicates that the deployment is paused.

progressDeadlineSeconds

integer

The maximum time in seconds for a deployment to make progress before it is considered to be failed. The deployment controller will continue to process failed deployments and a condition with a ProgressDeadlineExceeded reason will be surfaced in the deployment status. Note that progress will not be estimated during the time a deployment is paused. Defaults to 600s.

replicas

integer

Number of desired pods. This is a pointer to distinguish between explicit zero and not specified. Defaults to 1.

revisionHistoryLimit

integer

The number of old ReplicaSets to retain to allow rollback. This is a pointer to distinguish between explicit zero and not specified. Defaults to 10.

selector

LabelSelector

Label selector for pods. Existing ReplicaSets whose pods are selected by this will be the ones affected by this deployment. It must match the pod template’s labels.

strategy

object

DeploymentStrategy describes how to replace existing pods with new ones.

template

PodTemplateSpec

Template describes the pods that will be created. The only allowed template.spec.restartPolicy value is "Always".

8.1.2. .spec.strategy

Description
DeploymentStrategy describes how to replace existing pods with new ones.
Type
object
PropertyTypeDescription

rollingUpdate

object

Spec to control the desired behavior of rolling update.

type

string

Type of deployment. Can be "Recreate" or "RollingUpdate". Default is RollingUpdate.

Possible enum values: - "Recreate" Kill all existing pods before creating new ones. - "RollingUpdate" Replace the old ReplicaSets by new one using rolling update i.e gradually scale down the old ReplicaSets and scale up the new one.

8.1.3. .spec.strategy.rollingUpdate

Description
Spec to control the desired behavior of rolling update.
Type
object
PropertyTypeDescription

maxSurge

IntOrString

The maximum number of pods that can be scheduled above the desired number of pods. Value can be an absolute number (ex: 5) or a percentage of desired pods (ex: 10%). This can not be 0 if MaxUnavailable is 0. Absolute number is calculated from percentage by rounding up. Defaults to 25%. Example: when this is set to 30%, the new ReplicaSet can be scaled up immediately when the rolling update starts, such that the total number of old and new pods do not exceed 130% of desired pods. Once old pods have been killed, new ReplicaSet can be scaled up further, ensuring that total number of pods running at any time during the update is at most 130% of desired pods.

maxUnavailable

IntOrString

The maximum number of pods that can be unavailable during the update. Value can be an absolute number (ex: 5) or a percentage of desired pods (ex: 10%). Absolute number is calculated from percentage by rounding down. This can not be 0 if MaxSurge is 0. Defaults to 25%. Example: when this is set to 30%, the old ReplicaSet can be scaled down to 70% of desired pods immediately when the rolling update starts. Once new pods are ready, old ReplicaSet can be scaled down further, followed by scaling up the new ReplicaSet, ensuring that the total number of pods available at all times during the update is at least 70% of desired pods.

8.1.4. .status

Description
DeploymentStatus is the most recently observed status of the Deployment.
Type
object
PropertyTypeDescription

availableReplicas

integer

Total number of available pods (ready for at least minReadySeconds) targeted by this deployment.

collisionCount

integer

Count of hash collisions for the Deployment. The Deployment controller uses this field as a collision avoidance mechanism when it needs to create the name for the newest ReplicaSet.

conditions

array

Represents the latest available observations of a deployment’s current state.

conditions[]

object

DeploymentCondition describes the state of a deployment at a certain point.

observedGeneration

integer

The generation observed by the deployment controller.

readyReplicas

integer

readyReplicas is the number of pods targeted by this Deployment with a Ready Condition.

replicas

integer

Total number of non-terminated pods targeted by this deployment (their labels match the selector).

unavailableReplicas

integer

Total number of unavailable pods targeted by this deployment. This is the total number of pods that are still required for the deployment to have 100% available capacity. They may either be pods that are running but not yet available or pods that still have not been created.

updatedReplicas

integer

Total number of non-terminated pods targeted by this deployment that have the desired template spec.

8.1.5. .status.conditions

Description
Represents the latest available observations of a deployment’s current state.
Type
array

8.1.6. .status.conditions[]

Description
DeploymentCondition describes the state of a deployment at a certain point.
Type
object
Required
  • type
  • status
PropertyTypeDescription

lastTransitionTime

Time

Last time the condition transitioned from one status to another.

lastUpdateTime

Time

The last time this condition was updated.

message

string

A human readable message indicating details about the transition.

reason

string

The reason for the condition’s last transition.

status

string

Status of the condition, one of True, False, Unknown.

type

string

Type of deployment condition.

8.2. API endpoints

The following API endpoints are available:

  • /apis/apps/v1/deployments

    • GET: list or watch objects of kind Deployment
  • /apis/apps/v1/watch/deployments

    • GET: watch individual changes to a list of Deployment. deprecated: use the 'watch' parameter with a list operation instead.
  • /apis/apps/v1/namespaces/{namespace}/deployments

    • DELETE: delete collection of Deployment
    • GET: list or watch objects of kind Deployment
    • POST: create a Deployment
  • /apis/apps/v1/watch/namespaces/{namespace}/deployments

    • GET: watch individual changes to a list of Deployment. deprecated: use the 'watch' parameter with a list operation instead.
  • /apis/apps/v1/namespaces/{namespace}/deployments/{name}

    • DELETE: delete a Deployment
    • GET: read the specified Deployment
    • PATCH: partially update the specified Deployment
    • PUT: replace the specified Deployment
  • /apis/apps/v1/watch/namespaces/{namespace}/deployments/{name}

    • GET: watch changes to an object of kind Deployment. deprecated: use the 'watch' parameter with a list operation instead, filtered to a single item with the 'fieldSelector' parameter.
  • /apis/apps/v1/namespaces/{namespace}/deployments/{name}/status

    • GET: read status of the specified Deployment
    • PATCH: partially update status of the specified Deployment
    • PUT: replace status of the specified Deployment

8.2.1. /apis/apps/v1/deployments

HTTP method
GET
Description
list or watch objects of kind Deployment
Table 8.1. HTTP responses
HTTP codeReponse body

200 - OK

DeploymentList schema

401 - Unauthorized

Empty

8.2.2. /apis/apps/v1/watch/deployments

HTTP method
GET
Description
watch individual changes to a list of Deployment. deprecated: use the 'watch' parameter with a list operation instead.
Table 8.2. HTTP responses
HTTP codeReponse body

200 - OK

WatchEvent schema

401 - Unauthorized

Empty

8.2.3. /apis/apps/v1/namespaces/{namespace}/deployments

HTTP method
DELETE
Description
delete collection of Deployment
Table 8.3. Query parameters
ParameterTypeDescription

dryRun

string

When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed

Table 8.4. HTTP responses
HTTP codeReponse body

200 - OK

Status schema

401 - Unauthorized

Empty

HTTP method
GET
Description
list or watch objects of kind Deployment
Table 8.5. HTTP responses
HTTP codeReponse body

200 - OK

DeploymentList schema

401 - Unauthorized

Empty

HTTP method
POST
Description
create a Deployment
Table 8.6. Query parameters
ParameterTypeDescription

dryRun

string

When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed

fieldValidation

string

fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.

Table 8.7. Body parameters
ParameterTypeDescription

body

Deployment schema

 
Table 8.8. HTTP responses
HTTP codeReponse body

200 - OK

Deployment schema

201 - Created

Deployment schema

202 - Accepted

Deployment schema

401 - Unauthorized

Empty

8.2.4. /apis/apps/v1/watch/namespaces/{namespace}/deployments

HTTP method
GET
Description
watch individual changes to a list of Deployment. deprecated: use the 'watch' parameter with a list operation instead.
Table 8.9. HTTP responses
HTTP codeReponse body

200 - OK

WatchEvent schema

401 - Unauthorized

Empty

8.2.5. /apis/apps/v1/namespaces/{namespace}/deployments/{name}

Table 8.10. Global path parameters
ParameterTypeDescription

name

string

name of the Deployment

HTTP method
DELETE
Description
delete a Deployment
Table 8.11. Query parameters
ParameterTypeDescription

dryRun

string

When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed

Table 8.12. HTTP responses
HTTP codeReponse body

200 - OK

Status schema

202 - Accepted

Status schema

401 - Unauthorized

Empty

HTTP method
GET
Description
read the specified Deployment
Table 8.13. HTTP responses
HTTP codeReponse body

200 - OK

Deployment schema

401 - Unauthorized

Empty

HTTP method
PATCH
Description
partially update the specified Deployment
Table 8.14. Query parameters
ParameterTypeDescription

dryRun

string

When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed

fieldValidation

string

fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.

Table 8.15. HTTP responses
HTTP codeReponse body

200 - OK

Deployment schema

201 - Created

Deployment schema

401 - Unauthorized

Empty

HTTP method
PUT
Description
replace the specified Deployment
Table 8.16. Query parameters
ParameterTypeDescription

dryRun

string

When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed

fieldValidation

string

fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.

Table 8.17. Body parameters
ParameterTypeDescription

body

Deployment schema

 
Table 8.18. HTTP responses
HTTP codeReponse body

200 - OK

Deployment schema

201 - Created

Deployment schema

401 - Unauthorized

Empty

8.2.6. /apis/apps/v1/watch/namespaces/{namespace}/deployments/{name}

Table 8.19. Global path parameters
ParameterTypeDescription

name

string

name of the Deployment

HTTP method
GET
Description
watch changes to an object of kind Deployment. deprecated: use the 'watch' parameter with a list operation instead, filtered to a single item with the 'fieldSelector' parameter.
Table 8.20. HTTP responses
HTTP codeReponse body

200 - OK

WatchEvent schema

401 - Unauthorized

Empty

8.2.7. /apis/apps/v1/namespaces/{namespace}/deployments/{name}/status

Table 8.21. Global path parameters
ParameterTypeDescription

name

string

name of the Deployment

HTTP method
GET
Description
read status of the specified Deployment
Table 8.22. HTTP responses
HTTP codeReponse body

200 - OK

Deployment schema

401 - Unauthorized

Empty

HTTP method
PATCH
Description
partially update status of the specified Deployment
Table 8.23. Query parameters
ParameterTypeDescription

dryRun

string

When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed

fieldValidation

string

fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.

Table 8.24. HTTP responses
HTTP codeReponse body

200 - OK

Deployment schema

201 - Created

Deployment schema

401 - Unauthorized

Empty

HTTP method
PUT
Description
replace status of the specified Deployment
Table 8.25. Query parameters
ParameterTypeDescription

dryRun

string

When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed

fieldValidation

string

fieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.

Table 8.26. Body parameters
ParameterTypeDescription

body

Deployment schema

 
Table 8.27. HTTP responses
HTTP codeReponse body

200 - OK

Deployment schema

201 - Created

Deployment schema

401 - Unauthorized

Empty

Red Hat logoGithubRedditYoutubeTwitter

Learn

Try, buy, & sell

Communities

About Red Hat Documentation

We help Red Hat users innovate and achieve their goals with our products and services with content they can trust.

Making open source more inclusive

Red Hat is committed to replacing problematic language in our code, documentation, and web properties. For more details, see the Red Hat Blog.

About Red Hat

We deliver hardened solutions that make it easier for enterprises to work across platforms and environments, from the core datacenter to the network edge.

© 2024 Red Hat, Inc.