2015-07-12 00:04:52 -04:00
<!-- BEGIN MUNGE: UNVERSIONED_WARNING -->
<!-- BEGIN STRIP_FOR_RELEASE -->
2015-07-16 13:02:26 -04:00
< img src = "http://kubernetes.io/img/warning.png" alt = "WARNING"
width="25" height="25">
< img src = "http://kubernetes.io/img/warning.png" alt = "WARNING"
width="25" height="25">
< img src = "http://kubernetes.io/img/warning.png" alt = "WARNING"
width="25" height="25">
< img src = "http://kubernetes.io/img/warning.png" alt = "WARNING"
width="25" height="25">
< img src = "http://kubernetes.io/img/warning.png" alt = "WARNING"
width="25" height="25">
< h2 > PLEASE NOTE: This document applies to the HEAD of the source tree< / h2 >
If you are using a released version of Kubernetes, you should
refer to the docs that go with that version.
2015-12-14 13:37:38 -05:00
<!-- TAG RELEASE_LINK, added by the munger automatically -->
2015-07-16 13:02:26 -04:00
< strong >
2015-11-03 13:17:57 -05:00
The latest release of this document can be found
[here ](http://releases.k8s.io/release-1.1/docs/user-guide/kubectl/kubectl_patch.md ).
2015-07-16 13:02:26 -04:00
Documentation for other releases can be found at
[releases.k8s.io ](http://releases.k8s.io ).
< / strong >
--
2015-07-13 18:15:35 -04:00
2015-07-12 00:04:52 -04:00
<!-- END STRIP_FOR_RELEASE -->
<!-- END MUNGE: UNVERSIONED_WARNING -->
2015-07-17 18:35:41 -04:00
2015-06-25 18:56:30 -04:00
## kubectl patch
2015-11-10 14:55:20 -05:00
Update field(s) of a resource using strategic merge patch.
2015-06-25 18:56:30 -04:00
### Synopsis
Update field(s) of a resource using strategic merge patch
JSON and YAML formats are accepted.
2015-11-16 20:13:49 -05:00
Please refer to the models in https://htmlpreview.github.io/?https://github.com/kubernetes/kubernetes/blob/HEAD/docs/api-reference/v1/definitions.html to find if a field is mutable.
2015-07-13 16:46:51 -04:00
2015-06-25 18:56:30 -04:00
```
2015-08-06 05:24:02 -04:00
kubectl patch (-f FILENAME | TYPE NAME) -p PATCH
2015-06-25 18:56:30 -04:00
```
### Examples
```
2015-08-12 12:50:09 -04:00
# Partially update a node using strategic merge patch
2015-06-25 18:56:30 -04:00
kubectl patch node k8s-node-1 -p '{"spec":{"unschedulable":true}}'
2015-07-13 16:46:51 -04:00
2015-08-06 05:24:02 -04:00
# Partially update a node identified by the type and name specified in "node.json" using strategic merge patch
kubectl patch -f node.json -p '{"spec":{"unschedulable":true}}'
2015-08-12 12:50:09 -04:00
# Update a container's image; spec.containers[*].name is required because it's a merge key
2015-07-13 16:46:51 -04:00
kubectl patch pod valid-pod -p '{"spec":{"containers":[{"name":"kubernetes-serve-hostname","image":"new image"}]}}'
2016-02-11 15:52:42 -05:00
# Update a container's image using a json patch with positional arrays
kubectl patch pod valid-pod -type='json' -p='[{"op": "replace", "path": "/spec/containers/0/image", "value":"new image"}]'
2015-06-25 18:56:30 -04:00
```
### Options
```
2015-08-06 05:24:02 -04:00
-f, --filename=[]: Filename, directory, or URL to a file identifying the resource to update
2015-07-01 18:47:43 -04:00
-o, --output="": Output mode. Use "-o name" for shorter output (resource/name).
2015-07-13 12:36:12 -04:00
-p, --patch="": The patch to be applied to the resource JSON file.
2016-01-22 13:33:23 -05:00
--record[=false]: Record current kubectl command in the resource annotation.
2016-02-11 15:52:42 -05:00
--type="strategic": The type of patch being provided; one of [json merge strategic]
2015-06-25 18:56:30 -04:00
```
### Options inherited from parent commands
```
2015-08-17 14:06:16 -04:00
--alsologtostderr[=false]: log to standard error as well as files
2015-06-25 18:56:30 -04:00
--api-version="": The API version to use when talking to the server
--certificate-authority="": Path to a cert. file for the certificate authority.
2015-11-23 20:33:35 -05:00
--client-certificate="": Path to a client certificate file for TLS.
2015-06-25 18:56:30 -04:00
--client-key="": Path to a client key file for TLS.
--cluster="": The name of the kubeconfig cluster to use
--context="": The name of the kubeconfig context to use
2015-08-05 10:23:28 -04:00
--insecure-skip-tls-verify[=false]: If true, the server's certificate will not be checked for validity. This will make your HTTPS connections insecure.
2015-06-25 18:56:30 -04:00
--kubeconfig="": Path to the kubeconfig file to use for CLI requests.
--log-backtrace-at=:0: when logging hits line file:N, emit a stack trace
2015-08-17 14:06:16 -04:00
--log-dir="": If non-empty, write log files in this directory
2015-06-25 18:56:30 -04:00
--log-flush-frequency=5s: Maximum number of seconds between log flushes
2015-08-17 14:06:16 -04:00
--logtostderr[=true]: log to standard error instead of files
2015-08-05 10:23:28 -04:00
--match-server-version[=false]: Require server version to match client version
2015-06-25 18:56:30 -04:00
--namespace="": If present, the namespace scope for this CLI request.
--password="": Password for basic authentication to the API server.
-s, --server="": The address and port of the Kubernetes API server
--stderrthreshold=2: logs at or above this threshold go to stderr
--token="": Bearer token for authentication to the API server.
--user="": The name of the kubeconfig user to use
--username="": Username for basic authentication to the API server.
--v=0: log level for V logs
--vmodule=: comma-separated list of pattern=N settings for file-filtered logging
```
### SEE ALSO
2015-07-17 18:35:41 -04:00
2015-06-25 18:56:30 -04:00
* [kubectl ](kubectl.md ) - kubectl controls the Kubernetes cluster manager
2016-02-11 15:52:42 -05:00
###### Auto generated by spf13/cobra on 12-Feb-2016
2015-07-13 20:13:09 -04:00
<!-- BEGIN MUNGE: GENERATED_ANALYTICS -->
2015-07-13 13:19:25 -04:00
[]()
2015-07-13 20:13:09 -04:00
<!-- END MUNGE: GENERATED_ANALYTICS -->