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

NAME

9       kubectl set image - Update image of a pod template
10
11
12

SYNOPSIS

14       kubectl set image [OPTIONS]
15
16
17

DESCRIPTION

19       Update existing container image(s) of resources.
20
21
22       Possible resources include (case insensitive):
23
24
25       pod  (po),  replicationcontroller  (rc), deployment (deploy), daemonset
26       (ds), replicaset (rs)
27
28
29

OPTIONS

31       --all=false      Select all resources, including uninitialized ones, in
32       the namespace of the specified resource types
33
34
35       --allow-missing-template-keys=true       If  true, ignore any errors in
36       templates when a field or map key is missing in the template. Only  ap‐
37       plies to golang and jsonpath output formats.
38
39
40       --dry-run="none"       Must be "none", "server", or "client". If client
41       strategy, only print the object that would be sent, without sending it.
42       If  server  strategy, submit server-side request without persisting the
43       resource.
44
45
46       --field-manager="kubectl-set"      Name of the manager  used  to  track
47       field ownership.
48
49
50       -f, --filename=[]      Filename, directory, or URL to files identifying
51       the resource to get from a server.
52
53
54       -k, --kustomize=""      Process the kustomization directory. This  flag
55       can't be used together with -f or -R.
56
57
58       --local=false       If  true, set image will NOT contact api-server but
59       run locally.
60
61
62       -o, --output=""       Output  format.  One  of:  json|yaml|name|go-tem‐
63       plate|go-template-file|template|templatefile|jsonpath|json‐
64       path-as-json|jsonpath-file.
65
66
67       --record=false      Record current kubectl command in the resource  an‐
68       notation.  If  set to false, do not record the command. If set to true,
69       record the command. If not set, default to updating the existing  anno‐
70       tation value only if one already exists.
71
72
73       -R, --recursive=false      Process the directory used in -f, --filename
74       recursively. Useful when you want to manage related manifests organized
75       within the same directory.
76
77
78       -l, --selector=""      Selector (label query) to filter on, not includ‐
79       ing  uninitialized  ones,  supports  '=',  '==',  and   '!='.(e.g.   -l
80       key1=value1,key2=value2)
81
82
83       --show-managed-fields=false       If  true, keep the managedFields when
84       printing objects in JSON or YAML format.
85
86
87       --template=""      Template string or path to template file to use when
88       -o=go-template, -o=go-template-file. The template format is golang tem‐
89       plates [http://golang.org/pkg/text/template/#pkg-overview].
90
91
92

OPTIONS INHERITED FROM PARENT COMMANDS

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

EXAMPLE

372                # Set a deployment's nginx container image to 'nginx:1.9.1', and its busybox container image to 'busybox'.
373                kubectl set image deployment/nginx busybox=busybox nginx=nginx:1.9.1
374
375                # Update all deployments' and rc's nginx container's image to 'nginx:1.9.1'
376                kubectl set image deployments,rc nginx=nginx:1.9.1 --all
377
378                # Update image of all containers of daemonset abc to 'nginx:1.9.1'
379                kubectl set image daemonset abc *=nginx:1.9.1
380
381                # Print result (in yaml format) of updating nginx container image from local file, without hitting the server
382                kubectl set image -f path/to/file.yaml nginx=nginx:1.9.1 --local -o yaml
383
384
385
386

SEE ALSO

388       kubectl-set(1),
389
390
391

HISTORY

393       January 2015, Originally compiled by Eric Paris (eparis at  redhat  dot
394       com)  based  on the kubernetes source material, but hopefully they have
395       been automatically generated since!
396
397
398
399Manuals                              User            KUBERNETES(1)(kubernetes)
Impressum