1KUBERNETES(1)(kubernetes)                            KUBERNETES(1)(kubernetes)
2
3
4
5Eric Paris Jan 2015
6
7

NAME

9       kubectl edit - Edit a resource on the server
10
11
12

SYNOPSIS

14       kubectl edit [OPTIONS]
15
16
17

DESCRIPTION

19       Edit a resource from the default editor.
20
21
22       The  edit  command allows you to directly edit any API resource you can
23       retrieve via the command line tools. It will open the editor defined by
24       your KUBE_EDITOR, or EDITOR environment variables, or fall back to 'vi'
25       for Linux or 'notepad' for Windows. You can edit multiple objects,  al‐
26       though changes are applied one at a time. The command accepts filenames
27       as well as command line arguments, although the files you point to must
28       be previously saved versions of resources.
29
30
31       Editing  is  done  with  the API version used to fetch the resource. To
32       edit using a specific API version, fully-qualify the resource, version,
33       and group.
34
35
36       The default format is YAML. To edit in JSON, specify "-o json".
37
38
39       The  flag --windows-line-endings can be used to force Windows line end‐
40       ings, otherwise the default for your operating system will be used.
41
42
43       In the event an error occurs while updating, a temporary file  will  be
44       created  on  disk that contains your unapplied changes. The most common
45       error when updating a resource is another editor changing the  resource
46       on the server. When this occurs, you will have to apply your changes to
47       the newer version of the resource, or update your temporary saved  copy
48       to include the latest resource version.
49
50
51

OPTIONS

53       --allow-missing-template-keys=true       If  true, ignore any errors in
54       templates when a field or map key is missing in the template. Only  ap‐
55       plies to golang and jsonpath output formats.
56
57
58       --field-manager="kubectl-edit"       Name  of the manager used to track
59       field ownership.
60
61
62       -f, --filename=[]      Filename, directory, or URL to files to  use  to
63       edit the resource
64
65
66       -k,  --kustomize=""      Process the kustomization directory. This flag
67       can't be used together with -f or -R.
68
69
70       -o, --output=""       Output  format.  One  of:  json|yaml|name|go-tem‐
71       plate|go-template-file|template|templatefile|jsonpath|json‐
72       path-as-json|jsonpath-file.
73
74
75       --output-patch=false      Output the patch if the resource is edited.
76
77
78       --record=false      Record current kubectl command in the resource  an‐
79       notation.  If  set to false, do not record the command. If set to true,
80       record the command. If not set, default to updating the existing  anno‐
81       tation value only if one already exists.
82
83
84       -R, --recursive=false      Process the directory used in -f, --filename
85       recursively. Useful when you want to manage related manifests organized
86       within the same directory.
87
88
89       --save-config=false       If  true, the configuration of current object
90       will be saved in its annotation. Otherwise, the annotation will be  un‐
91       changed.  This flag is useful when you want to perform kubectl apply on
92       this object in the future.
93
94
95       --template=""      Template string or path to template file to use when
96       -o=go-template, -o=go-template-file. The template format is golang tem‐
97       plates [http://golang.org/pkg/text/template/#pkg-overview].
98
99
100       --validate=true      If true, use a schema to validate the input before
101       sending it
102
103
104       --windows-line-endings=false      Defaults to the line ending native to
105       your platform.
106
107
108

OPTIONS INHERITED FROM PARENT COMMANDS

110       --add-dir-header=false      If true, adds the  file  directory  to  the
111       header of the log messages
112
113
114       --alsologtostderr=false      log to standard error as well as files
115
116
117       --application-metrics-count-limit=100       Max  number  of application
118       metrics to store (per container)
119
120
121       --as=""      Username to impersonate for the operation
122
123
124       --as-group=[]      Group to impersonate for the  operation,  this  flag
125       can be repeated to specify multiple groups.
126
127
128       --azure-container-registry-config=""       Path  to the file containing
129       Azure container registry configuration information.
130
131
132       --boot-id-file="/proc/sys/kernel/random/boot_id"        Comma-separated
133       list of files to check for boot-id. Use the first one that exists.
134
135
136       --cache-dir="/builddir/.kube/cache"      Default cache directory
137
138
139       --certificate-authority=""      Path to a cert file for the certificate
140       authority
141
142
143       --client-certificate=""      Path to a client certificate file for TLS
144
145
146       --client-key=""      Path to a client key file for TLS
147
148
149       --cloud-provider-gce-l7lb-src-cidrs=130.211.0.0/22,35.191.0.0/16
150            CIDRs  opened  in  GCE  firewall  for  L7 LB traffic proxy  health
151       checks
152
153
154       --cloud-provider-gce-lb-src-cidrs=130.211.0.0/22,209.85.152.0/22,209.85.204.0/22,35.191.0.0/16
155            CIDRs  opened  in  GCE  firewall  for  L4 LB traffic proxy  health
156       checks
157
158
159       --cluster=""      The name of the kubeconfig cluster to use
160
161
162       --container-hints="/etc/cadvisor/container_hints.json"      location of
163       the container hints file
164
165
166       --containerd="/run/containerd/containerd.sock"      containerd endpoint
167
168
169       --containerd-namespace="k8s.io"      containerd namespace
170
171
172       --context=""      The name of the kubeconfig context to use
173
174
175       --default-not-ready-toleration-seconds=300       Indicates  the tolera‐
176       tionSeconds of the toleration for notReady:NoExecute that is  added  by
177       default to every pod that does not already have such a toleration.
178
179
180       --default-unreachable-toleration-seconds=300      Indicates the tolera‐
181       tionSeconds of the toleration for unreachable:NoExecute that  is  added
182       by default to every pod that does not already have such a toleration.
183
184
185       --disable-root-cgroup-stats=false       Disable  collecting root Cgroup
186       stats
187
188
189       --docker="unix:///var/run/docker.sock"      docker endpoint
190
191
192       --docker-env-metadata-whitelist=""      a comma-separated list of envi‐
193       ronment  variable  keys  matched with specified prefix that needs to be
194       collected for docker containers
195
196
197       --docker-only=false      Only report docker containers in  addition  to
198       root stats
199
200
201       --docker-root="/var/lib/docker"       DEPRECATED:  docker  root is read
202       from docker info (this is a fallback, default: /var/lib/docker)
203
204
205       --docker-tls=false      use TLS to connect to docker
206
207
208       --docker-tls-ca="ca.pem"      path to trusted CA
209
210
211       --docker-tls-cert="cert.pem"      path to client certificate
212
213
214       --docker-tls-key="key.pem"      path to private key
215
216
217       --enable-load-reader=false      Whether to enable cpu load reader
218
219
220       --event-storage-age-limit="default=0"      Max length of time for which
221       to store events (per type). Value is a comma separated list of key val‐
222       ues, where the keys are event types (e.g.: creation, oom) or  "default"
223       and  the  value  is a duration. Default is applied to all non-specified
224       event types
225
226
227       --event-storage-event-limit="default=0"      Max number  of  events  to
228       store  (per type). Value is a comma separated list of key values, where
229       the keys are event types (e.g.: creation, oom)  or  "default"  and  the
230       value  is  an  integer.  Default  is applied to all non-specified event
231       types
232
233
234       --global-housekeeping-interval=1m0s      Interval between global house‐
235       keepings
236
237
238       --housekeeping-interval=10s       Interval between container housekeep‐
239       ings
240
241
242       --insecure-skip-tls-verify=false      If true, the server's certificate
243       will not be checked for validity. This will make your HTTPS connections
244       insecure
245
246
247       --kubeconfig=""      Path to the kubeconfig file to  use  for  CLI  re‐
248       quests.
249
250
251       --log-backtrace-at=:0       when logging hits line file:N, emit a stack
252       trace
253
254
255       --log-cadvisor-usage=false      Whether to log the usage of the  cAdvi‐
256       sor container
257
258
259       --log-dir=""      If non-empty, write log files in this directory
260
261
262       --log-file=""      If non-empty, use this log file
263
264
265       --log-file-max-size=1800       Defines  the maximum size a log file can
266       grow to. Unit is megabytes. If the value is 0, the maximum file size is
267       unlimited.
268
269
270       --log-flush-frequency=5s       Maximum  number  of  seconds between log
271       flushes
272
273
274       --logtostderr=true      log to standard error instead of files
275
276
277       --machine-id-file="/etc/machine-id,/var/lib/dbus/machine-id"
278            Comma-separated  list  of  files  to check for machine-id. Use the
279       first one that exists.
280
281
282       --match-server-version=false       Require  server  version  to   match
283       client version
284
285
286       -n,  --namespace=""       If  present, the namespace scope for this CLI
287       request
288
289
290       --one-output=false      If true, only write logs to their native sever‐
291       ity level (vs also writing to each lower severity level
292
293
294       --password=""      Password for basic authentication to the API server
295
296
297       --profile="none"         Name   of   profile   to   capture.   One   of
298       (none|cpu|heap|goroutine|threadcreate|block|mutex)
299
300
301       --profile-output="profile.pprof"      Name of the  file  to  write  the
302       profile to
303
304
305       --referenced-reset-interval=0       Reset interval for referenced bytes
306       (container_referenced_bytes metric), number of measurement cycles after
307       which  referenced  bytes  are cleared, if set to 0 referenced bytes are
308       never cleared (default: 0)
309
310
311       --request-timeout="0"      The length of time to wait before giving  up
312       on  a  single  server  request. Non-zero values should contain a corre‐
313       sponding time unit (e.g. 1s, 2m, 3h). A value of zero means don't time‐
314       out requests.
315
316
317       -s, --server=""      The address and port of the Kubernetes API server
318
319
320       --skip-headers=false       If  true,  avoid  header prefixes in the log
321       messages
322
323
324       --skip-log-headers=false      If true, avoid headers when  opening  log
325       files
326
327
328       --stderrthreshold=2      logs at or above this threshold go to stderr
329
330
331       --storage-driver-buffer-duration=1m0s      Writes in the storage driver
332       will be buffered for this duration, and committed  to  the  non  memory
333       backends as a single transaction
334
335
336       --storage-driver-db="cadvisor"      database name
337
338
339       --storage-driver-host="localhost:8086"      database host:port
340
341
342       --storage-driver-password="root"      database password
343
344
345       --storage-driver-secure=false      use secure connection with database
346
347
348       --storage-driver-table="stats"      table name
349
350
351       --storage-driver-user="root"      database username
352
353
354       --tls-server-name=""       Server  name  to  use for server certificate
355       validation. If it is not provided, the hostname  used  to  contact  the
356       server is used
357
358
359       --token=""      Bearer token for authentication to the API server
360
361
362       --update-machine-info-interval=5m0s       Interval between machine info
363       updates.
364
365
366       --user=""      The name of the kubeconfig user to use
367
368
369       --username=""      Username for basic authentication to the API server
370
371
372       -v, --v=0      number for the log level verbosity
373
374
375       --version=false      Print version information and quit
376
377
378       --vmodule=       comma-separated  list  of   pattern=N   settings   for
379       file-filtered logging
380
381
382       --warnings-as-errors=false      Treat warnings received from the server
383       as errors and exit with a non-zero exit code
384
385
386

EXAMPLE

388                # Edit the service named 'docker-registry':
389                kubectl edit svc/docker-registry
390
391                # Use an alternative editor
392                KUBE_EDITOR="nano" kubectl edit svc/docker-registry
393
394                # Edit the job 'myjob' in JSON using the v1 API format:
395                kubectl edit job.v1.batch/myjob -o json
396
397                # Edit the deployment 'mydeployment' in YAML and save the modified config in its annotation:
398                kubectl edit deployment/mydeployment -o yaml --save-config
399
400
401
402

SEE ALSO

404       kubectl(1),
405
406
407

HISTORY

409       January 2015, Originally compiled by Eric Paris (eparis at  redhat  dot
410       com)  based  on the kubernetes source material, but hopefully they have
411       been automatically generated since!
412
413
414
415Manuals                              User            KUBERNETES(1)(kubernetes)
Impressum