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

NAME

9       kubectl logs - Print the logs for a container in a pod
10
11
12

SYNOPSIS

14       kubectl logs [OPTIONS]
15
16
17

DESCRIPTION

19       Print  the  logs for a container in a pod or specified resource. If the
20       pod has only one container, the container name is optional.
21
22
23

OPTIONS

25       --all-containers=false      Get all containers' logs in the pod(s).
26
27
28       -c, --container=""      Print the logs of this container
29
30
31       -f, --follow=false      Specify if the logs should be streamed.
32
33
34       --ignore-errors=false      If watching / following pod logs, allow  for
35       any errors that occur to be non-fatal
36
37
38       --insecure-skip-tls-verify-backend=false       Skip verifying the iden‐
39       tity of the kubelet that logs are requested from.  In  theory,  an  at‐
40       tacker  could  provide  invalid log content back. You might want to use
41       this if your kubelet serving certificates have expired.
42
43
44       --limit-bytes=0      Maximum bytes of logs to return.  Defaults  to  no
45       limit.
46
47
48       --max-log-requests=5       Specify maximum number of concurrent logs to
49       follow when using by a selector. Defaults to 5.
50
51
52       --pod-running-timeout=20s      The length of time (like 5s, 2m, or  3h,
53       higher than zero) to wait until at least one pod is running
54
55
56       --prefix=false       Prefix each log line with the log source (pod name
57       and container name)
58
59
60       -p, --previous=false      If true, print the logs for the previous  in‐
61       stance of the container in a pod if it exists.
62
63
64       -l, --selector=""      Selector (label query) to filter on.
65
66
67       --since=0s       Only  return  logs newer than a relative duration like
68       5s, 2m, or 3h. Defaults to all logs. Only one of since-time / since may
69       be used.
70
71
72       --since-time=""       Only return logs after a specific date (RFC3339).
73       Defaults to all logs. Only one of since-time / since may be used.
74
75
76       --tail=-1      Lines of recent log file to display. Defaults to -1 with
77       no  selector, showing all log lines otherwise 10, if a selector is pro‐
78       vided.
79
80
81       --timestamps=false      Include timestamps on each line in the log out‐
82       put
83
84
85

OPTIONS INHERITED FROM PARENT COMMANDS

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

EXAMPLE

365                # Return snapshot logs from pod nginx with only one container
366                kubectl logs nginx
367
368                # Return snapshot logs from pod nginx with multi containers
369                kubectl logs nginx --all-containers=true
370
371                # Return snapshot logs from all containers in pods defined by label app=nginx
372                kubectl logs -lapp=nginx --all-containers=true
373
374                # Return snapshot of previous terminated ruby container logs from pod web-1
375                kubectl logs -p -c ruby web-1
376
377                # Begin streaming the logs of the ruby container in pod web-1
378                kubectl logs -f -c ruby web-1
379
380                # Begin streaming the logs from all containers in pods defined by label app=nginx
381                kubectl logs -f -lapp=nginx --all-containers=true
382
383                # Display only the most recent 20 lines of output in pod nginx
384                kubectl logs --tail=20 nginx
385
386                # Show all logs from pod nginx written in the last hour
387                kubectl logs --since=1h nginx
388
389                # Show logs from a kubelet with an expired serving certificate
390                kubectl logs --insecure-skip-tls-verify-backend nginx
391
392                # Return snapshot logs from first container of a job named hello
393                kubectl logs job/hello
394
395                # Return snapshot logs from container nginx-1 of a deployment named nginx
396                kubectl logs deployment/nginx -c nginx-1
397
398
399
400

SEE ALSO

402       kubectl(1),
403
404
405

HISTORY

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