Replacing a Specified Deployment
Function
This API is used to replace a Deployment.
The following fields can be updated:
- metadata.selfLink
- metadata.resourceVersion
- metadata.labels
- metadata.clusterName
- metadata.generateName
- metadata.annotations
- spec.replicas
- template.containers
- spec.restartPolicy
- spec.activeDeadlineSeconds
URI
PUT /apis/apps/v1/namespaces/{namespace}/deployments/{name} (for clusters of v1.9 and later)
PUT /apis/extensions/v1beta1/namespaces/{namespace}/deployments/{name} (for clusters of v1.15 and earlier)
Table 1 describes the parameters of this API.
Request
Request parameters:
For the description about request parameters, see Table 2.
Example request:
{
"kind": "Deployment",
"apiVersion": "apps/v1beta1",
"metadata": {
"name": "deploy-example",
"namespace": "default",
"selfLink": "/apis/apps/v1beta1/namespaces/default/deployments/deploy-example",
"uid": "27072a31-dfb3-11e7-9c19-fa163e2d897b",
"resourceVersion": "418453",
"generation": 1,
"creationTimestamp": "2017-12-13T03:10:20Z",
"labels": {
"app": "test"
},
"annotations": {
"deployment.kubernetes.io/revision": "1"
},
"enable": true
},
"spec": {
"replicas": 1,
"selector": {
"matchLabels": {
"app": "test"
}
},
"template": {
"metadata": {
"creationTimestamp": null,
"labels": {
"app": "test"
},
"enable": true
},
"spec": {
"containers": [
{
"name": "deploycon-12130306",
"image": "nginx",
"resources": {},
"terminationMessagePath": "/dev/termination-log",
"terminationMessagePolicy": "File",
"imagePullPolicy": "IfNotPresent"
}
],
"restartPolicy": "Always",
"terminationGracePeriodSeconds": 30,
"dnsPolicy": "ClusterFirst",
"securityContext": {},
"schedulerName": "default-scheduler"
}
},
"strategy": {
"type": "RollingUpdate",
"rollingUpdate": {
"maxUnavailable": "25%",
"maxSurge": "25%"
}
},
"revisionHistoryLimit": 2,
"progressDeadlineSeconds": 600
},
"status": {
"observedGeneration": 1,
"conditions": [
{
"type": "Available",
"status": "True",
"lastUpdateTime": "2017-12-13T03:10:20Z",
"lastTransitionTime": "2017-12-13T03:10:20Z",
"reason": "MinimumReplicasAvailable",
"message": "Deployment has minimum availability."
},
{
"type": "Progressing",
"status": "True",
"lastUpdateTime": "2017-12-13T03:10:20Z",
"lastTransitionTime": "2017-12-13T03:10:20Z",
"reason": "NewReplicaSetAvailable",
"message": "ReplicaSet \"deploy-12130306-3417241766\" has successfully progressed."
}
]
}
}
Response
Response parameters:
For the description about response parameters, see Table 2.
Example response:
{
"apiVersion": "apps/v1beta1",
"kind": "Deployment",
"metadata": {
"annotations": {
"deployment.kubernetes.io/revision": "1"
},
"creationTimestamp": "2017-11-09T01:35:00Z",
"enable": true,
"generation": 1,
"labels": {
"app": "test"
},
"name": "deployment-example",
"namespace": "default",
"resourceVersion": "12857132",
"selfLink": "/apis/apps/v1beta1/namespaces/default/deployments/deployment-example",
"uid": "33a5e8fd-c4ee-11e7-aad0-286ed488d4c6"
},
"spec": {
"replicas": 3,
"selector": {
"matchLabels": {
"app": "test"
}
},
"strategy": {
"rollingUpdate": {
"maxSurge": 1,
"maxUnavailable": 1
},
"type": "RollingUpdate"
},
"template": {
"metadata": {
"creationTimestamp": null,
"enable": true,
"labels": {
"app": "test"
}
},
"spec": {
"containers": [
{
"image": "nginx:1.13.6",
"imagePullPolicy": "Always",
"name": "nginx",
"resources": {},
"terminationMessagePath": "/dev/termination-log"
}
],
"dnsPolicy": "ClusterFirst",
"restartPolicy": "Always",
"securityContext": {},
"terminationGracePeriodSeconds": 30
}
}
},
"status": {
"conditions": [
{
"lastTransitionTime": "2017-11-10T17:02:50Z",
"lastUpdateTime": "2017-11-10T01:35:01Z",
"message": "Deployment does not have minimum availability.",
"reason": "MinimumReplicasUnavailable",
"status": "False",
"type": "Available"
}
],
"observedGeneration": 1,
"replicas": 3,
"unavailableReplicas": 3,
"updatedReplicas": 3
}
}
Status Code
Table 2 describes the status code of this API.
|
Status Code |
Description |
|---|---|
|
200 |
This operation succeeds, and a Deployment resource object is returned. |
For the description about status codes, see Status Code.
Last Article: Reading the Scaling Operation of a Specified Deployment
Next Article: Replacing the Status of a Specified Deployment
Did this article solve your problem?
Thank you for your score!Your feedback would help us improve the website.