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

NAME

9       kubectl  autoscale  -  Auto-scale a Deployment, ReplicaSet, or Replica‐
10       tionController
11
12
13

SYNOPSIS

15       kubectl autoscale [OPTIONS]
16
17
18

DESCRIPTION

20       Creates an autoscaler that automatically chooses and sets the number of
21       pods that run in a kubernetes cluster.
22
23
24       Looks  up  a  Deployment,  ReplicaSet,  StatefulSet, or ReplicationCon‐
25       troller by name and creates an autoscaler that uses the given  resource
26       as  a  reference.  An autoscaler can automatically increase or decrease
27       number of pods deployed within the system as needed.
28
29
30

OPTIONS

32       --allow-missing-template-keys=true      If true, ignore any  errors  in
33       templates  when a field or map key is missing in the template. Only ap‐
34       plies to golang and jsonpath output formats.
35
36
37       --cpu-percent=-1      The target average CPU  utilization  (represented
38       as a percent of requested CPU) over all the pods. If it's not specified
39       or negative, a default autoscaling policy will be used.
40
41
42       --dry-run="none"      Must be "none", "server", or "client". If  client
43       strategy, only print the object that would be sent, without sending it.
44       If server strategy, submit server-side request without  persisting  the
45       resource.
46
47
48       --field-manager="kubectl-autoscale"       Name  of  the manager used to
49       track field ownership.
50
51
52       -f, --filename=[]      Filename, directory, or URL to files identifying
53       the resource to autoscale.
54
55
56       --generator="horizontalpodautoscaler/v1"       The name of the API gen‐
57       erator to use. Currently there is only 1 generator.
58
59
60       -k, --kustomize=""      Process the kustomization directory. This  flag
61       can't be used together with -f or -R.
62
63
64       --max=-1      The upper limit for the number of pods that can be set by
65       the autoscaler. Required.
66
67
68       --min=-1      The lower limit for the number of pods that can be set by
69       the  autoscaler. If it's not specified or negative, the server will ap‐
70       ply a default value.
71
72
73       --name=""      The name for the newly created object. If not specified,
74       the name of the input resource will be used.
75
76
77       -o,  --output=""       Output  format.  One  of: json|yaml|name|go-tem‐
78       plate|go-template-file|template|templatefile|jsonpath|json‐
79       path-as-json|jsonpath-file.
80
81
82       --record=false       Record current kubectl command in the resource an‐
83       notation. If set to false, do not record the command. If set  to  true,
84       record  the command. If not set, default to updating the existing anno‐
85       tation value only if one already exists.
86
87
88       -R, --recursive=false      Process the directory used in -f, --filename
89       recursively. Useful when you want to manage related manifests organized
90       within the same directory.
91
92
93       --save-config=false      If true, the configuration of  current  object
94       will  be saved in its annotation. Otherwise, the annotation will be un‐
95       changed. This flag is useful when you want to perform kubectl apply  on
96       this object in the future.
97
98
99       --template=""      Template string or path to template file to use when
100       -o=go-template, -o=go-template-file. The template format is golang tem‐
101       plates [http://golang.org/pkg/text/template/#pkg-overview].
102
103
104

OPTIONS INHERITED FROM PARENT COMMANDS

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

EXAMPLE

384                # Auto scale a deployment "foo", with the number of pods between 2 and 10, no target CPU utilization specified so a default autoscaling policy will be used:
385                kubectl autoscale deployment foo --min=2 --max=10
386
387                # Auto scale a replication controller "foo", with the number of pods between 1 and 5, target CPU utilization at 80%:
388                kubectl autoscale rc foo --max=5 --cpu-percent=80
389
390
391
392

SEE ALSO

394       kubectl(1),
395
396
397

HISTORY

399       January  2015,  Originally compiled by Eric Paris (eparis at redhat dot
400       com) based on the kubernetes source material, but hopefully  they  have
401       been automatically generated since!
402
403
404
405Manuals                              User            KUBERNETES(1)(kubernetes)
Impressum