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

NAME

9       kubectl cp - Copy files and directories to and from containers.
10
11
12

SYNOPSIS

14       kubectl cp [OPTIONS]
15
16
17

DESCRIPTION

19       Copy files and directories to and from containers.
20
21
22

OPTIONS

24       -c, --container=""      Container name. If omitted, the first container
25       in the pod will be chosen
26
27
28       --no-preserve=false      The copied file/directory's ownership and per‐
29       missions will not be preserved in the container
30
31
32

OPTIONS INHERITED FROM PARENT COMMANDS

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

EXAMPLE

312                # !!!Important Note!!!
313                # Requires that the 'tar' binary is present in your container
314                # image.  If 'tar' is not present, 'kubectl cp' will fail.
315                #
316                # For advanced use cases, such as symlinks, wildcard expansion or
317                # file mode preservation consider using 'kubectl exec'.
318
319                # Copy /tmp/foo local file to /tmp/bar in a remote pod in namespace <some-namespace>
320                tar cf - /tmp/foo | kubectl exec -i -n <some-namespace> <some-pod> -- tar xf - -C /tmp/bar
321
322                # Copy /tmp/foo from a remote pod to /tmp/bar locally
323                kubectl exec -n <some-namespace> <some-pod> -- tar cf - /tmp/foo | tar xf - -C /tmp/bar
324
325                # Copy /tmp/foo_dir local directory to /tmp/bar_dir in a remote pod in the default namespace
326                kubectl cp /tmp/foo_dir <some-pod>:/tmp/bar_dir
327
328                # Copy /tmp/foo local file to /tmp/bar in a remote pod in a specific container
329                kubectl cp /tmp/foo <some-pod>:/tmp/bar -c <specific-container>
330
331                # Copy /tmp/foo local file to /tmp/bar in a remote pod in namespace <some-namespace>
332                kubectl cp /tmp/foo <some-namespace>/<some-pod>:/tmp/bar
333
334                # Copy /tmp/foo from a remote pod to /tmp/bar locally
335                kubectl cp <some-namespace>/<some-pod>:/tmp/foo /tmp/bar
336
337
338
339

SEE ALSO

341       kubectl(1),
342
343
344

HISTORY

346       January  2015,  Originally compiled by Eric Paris (eparis at redhat dot
347       com) based on the kubernetes source material, but hopefully  they  have
348       been automatically generated since!
349
350
351
352Manuals                              User            KUBERNETES(1)(kubernetes)
Impressum