kubectl cp

概要

在容器之间双向复制文件和目录。

kubectl cp <file-spec-src> <file-spec-dest>

示例

  # !!!Important Note!!!
  # Requires that the 'tar' binary is present in your container
  # image.  If 'tar' is not present, 'kubectl cp' will fail.
  #
  # For advanced use cases, such as symlinks, wildcard expansion or
  # file mode preservation, consider using 'kubectl exec'.
  
  # Copy /tmp/foo local file to /tmp/bar in a remote pod in namespace <some-namespace>
  tar cf - /tmp/foo | kubectl exec -i -n <some-namespace> <some-pod> -- tar xf - -C /tmp/bar
  
  # Copy /tmp/foo from a remote pod to /tmp/bar locally
  kubectl exec -n <some-namespace> <some-pod> -- tar cf - /tmp/foo | tar xf - -C /tmp/bar
  
  # Copy /tmp/foo_dir local directory to /tmp/bar_dir in a remote pod in the default namespace
  kubectl cp /tmp/foo_dir <some-pod>:/tmp/bar_dir
  
  # Copy /tmp/foo local file to /tmp/bar in a remote pod in a specific container
  kubectl cp /tmp/foo <some-pod>:/tmp/bar -c <specific-container>
  
  # Copy /tmp/foo local file to /tmp/bar in a remote pod in namespace <some-namespace>
  kubectl cp /tmp/foo <some-namespace>/<some-pod>:/tmp/bar
  
  # Copy /tmp/foo from a remote pod to /tmp/bar locally
  kubectl cp <some-namespace>/<some-pod>:/tmp/foo /tmp/bar

选项

-c, --container string

容器名称。如果省略,则使用 kubectl.kubernetes.io/default-container 注解来选择要附加的容器,或者选择 Pod 中的第一个容器。

-h, --help

cp 命令帮助

--no-preserve

复制到容器中的文件/目录的所有权和权限将不会保留。

--retries int

设置从容器完成复制操作的重试次数。指定 0 以禁用,任何负值表示无限重试。默认值为 0(不重试)。

继承的父选项

--as string

用于操作的模拟用户名。用户可以是普通用户或命名空间中的服务账号。

--as-group strings

用于操作的模拟用户组,可以重复此标志以指定多个用户组。

--as-uid string

用于操作的模拟用户 UID。

--cache-dir string     默认值:"$HOME/.kube/cache"

默认缓存目录

--certificate-authority string

证书颁发机构的证书文件路径

--client-certificate string

用于 TLS 的客户端证书文件路径

--client-key string

用于 TLS 的客户端密钥文件路径

--cluster string

要使用的 kubeconfig 集群的名称

--context string

要使用的 kubeconfig 上下文的名称

--default-not-ready-toleration-seconds int     默认值:300

指示对于所有尚未设置 notReady:NoExecute 容忍度的 Pod,默认添加的容忍度的 tolerationSeconds 值。

--default-unreachable-toleration-seconds int     默认值:300

指示对于所有尚未设置 unreachable:NoExecute 容忍度的 Pod,默认添加的容忍度的 tolerationSeconds 值。

--disable-compression

如果为 true,则对所有发往服务器的请求禁用响应压缩

--insecure-skip-tls-verify

如果为 true,则不会检查服务器证书的有效性。这将使你的 HTTPS 连接不安全。

--kubeconfig string

用于 CLI 请求的 kubeconfig 文件路径。

--match-server-version

要求服务器版本与客户端版本匹配

-n, --namespace string

如果存在,此 CLI 请求的命名空间范围

--password string

用于 API 服务器基本认证的密码

--profile string     默认值:"none"

要捕获的 Profile 名称。选项之一 (none|cpu|heap|goroutine|threadcreate|block|mutex)

--profile-output string     默认值:"profile.pprof"

写入 Profile 的文件名称

--request-timeout string     默认值:"0"

对单个服务器请求放弃前的等待时长。非零值应包含对应的时间单位(例如 1s、2m、3h)。值为零表示不设置请求超时。

-s, --server string

Kubernetes API 服务器的地址和端口

--storage-driver-buffer-duration duration     默认值:1m0s

存储驱动中的写入将在此持续时间内进行缓冲,并作为单个事务提交到非内存后端。

--storage-driver-db string     默认值:"cadvisor"

数据库名称

--storage-driver-host string     默认值:"localhost:8086"

数据库主机:端口

--storage-driver-password string     默认值:"root"

数据库密码

--storage-driver-secure

使用安全连接连接数据库

--storage-driver-table string     默认值:"stats"

表名称

--storage-driver-user string     默认值:"root"

数据库用户名

--tls-server-name string

用于服务器证书验证的服务器名称。如果未提供,则使用联系服务器时使用的主机名。

--token string

用于 API 服务器认证的 Bearer Token

--user string

要使用的 kubeconfig 用户的名称

--username string

用于 API 服务器基本认证的用户名

--version version[=true]

--version, --version=raw 打印版本信息并退出;--version=vX.Y.Z... 设置报告的版本。

--warnings-as-errors

将从服务器接收到的警告视为错误,并以非零退出码退出。

参见

  • kubectl - kubectl 用于控制 Kubernetes 集群管理器

此页面是自动生成的。

如果您打算报告此页面的问题,请在问题描述中提及此页面是自动生成的。修复可能需要在 Kubernetes 项目中的其他地方进行。

上次修改时间:2024年8月19日 太平洋标准时间下午5:14:更新 v1.31 的 kubectl 参考 (59df28c340)