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

NAME

9       kubectl set resources - Update resource requests/limits on objects with
10       pod templates
11
12
13

SYNOPSIS

15       kubectl set resources [OPTIONS]
16
17
18

DESCRIPTION

20       Specify compute resource requirements (cpu, memory)  for  any  resource
21       that defines a pod template.  If a pod is successfully scheduled, it is
22       guaranteed the amount of resource requested, but may burst  up  to  its
23       specified limits.
24
25
26       for  each  compute  resource,  if a limit is specified and a request is
27       omitted, the request will default to the limit.
28
29
30       Possible resources include (case  insensitive):  Use  "kubectl  api-re‐
31       sources" for a complete list of supported resources..
32
33
34

OPTIONS

36       --all=false      Select all resources, including uninitialized ones, in
37       the namespace of the specified resource types
38
39
40       --allow-missing-template-keys=true      If true, ignore any  errors  in
41       templates  when a field or map key is missing in the template. Only ap‐
42       plies to golang and jsonpath output formats.
43
44
45       -c, --containers="*"      The names of containers in the  selected  pod
46       templates  to  change, all containers are selected by default - may use
47       wildcards
48
49
50       --dry-run="none"      Must be "none", "server", or "client". If  client
51       strategy, only print the object that would be sent, without sending it.
52       If server strategy, submit server-side request without  persisting  the
53       resource.
54
55
56       --field-manager="kubectl-set"       Name  of  the manager used to track
57       field ownership.
58
59
60       -f, --filename=[]      Filename, directory, or URL to files identifying
61       the resource to get from a server.
62
63
64       -k,  --kustomize=""      Process the kustomization directory. This flag
65       can't be used together with -f or -R.
66
67
68       --limits=""      The resource requirement requests for this  container.
69       For example, 'cpu=100m,memory=256Mi'.  Note that server side components
70       may assign requests depending on  the  server  configuration,  such  as
71       limit ranges.
72
73
74       --local=false       If  true, set resources will NOT contact api-server
75       but run locally.
76
77
78       -o, --output=""       Output  format.  One  of:  json|yaml|name|go-tem‐
79       plate|go-template-file|template|templatefile|jsonpath|json‐
80       path-as-json|jsonpath-file.
81
82
83       --record=false      Record current kubectl command in the resource  an‐
84       notation.  If  set to false, do not record the command. If set to true,
85       record the command. If not set, default to updating the existing  anno‐
86       tation value only if one already exists.
87
88
89       -R, --recursive=false      Process the directory used in -f, --filename
90       recursively. Useful when you want to manage related manifests organized
91       within the same directory.
92
93
94       --requests=""       The  resource  requirement  requests  for this con‐
95       tainer.  For example, 'cpu=100m,memory=256Mi'.  Note that  server  side
96       components  may  assign requests depending on the server configuration,
97       such as limit ranges.
98
99
100       -l, --selector=""      Selector (label query) to filter on, not includ‐
101       ing   uninitialized   ones,supports   '=',   '==',  and  '!='.(e.g.  -l
102       key1=value1,key2=value2)
103
104
105       --template=""      Template string or path to template file to use when
106       -o=go-template, -o=go-template-file. The template format is golang tem‐
107       plates [http://golang.org/pkg/text/template/#pkg-overview].
108
109
110

OPTIONS INHERITED FROM PARENT COMMANDS

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

EXAMPLE

390                # Set a deployments nginx container cpu limits to "200m" and memory to "512Mi"
391                kubectl set resources deployment nginx -c=nginx --limits=cpu=200m,memory=512Mi
392
393                # Set the resource request and limits for all containers in nginx
394                kubectl set resources deployment nginx --limits=cpu=200m,memory=512Mi --requests=cpu=100m,memory=256Mi
395
396                # Remove the resource requests for resources on containers in nginx
397                kubectl set resources deployment nginx --limits=cpu=0,memory=0 --requests=cpu=0,memory=0
398
399                # Print the result (in yaml format) of updating nginx container limits from a local, without hitting the server
400                kubectl set resources -f path/to/file.yaml --limits=cpu=200m,memory=512Mi --local -o yaml
401
402
403
404

SEE ALSO

406       kubectl-set(1),
407
408
409

HISTORY

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