美文网首页kubernetes
【k8s】k8s kubctl cp 命令的使用

【k8s】k8s kubctl cp 命令的使用

作者: Bogon | 来源:发表于2023-10-21 23:21 被阅读0次

有时候需要想把服务器本地的文件复制到远程k8s中正在运行的容器里或实现逆向文件复制,可以通过kubectl的cp命令完成这个需求。

注意,此命令需要双方的系统环境里已安装tar工具,否则无法使用

# kubectl cp --help

Copy files and directories to and from containers.
Examples:
# !!!Important Note!!!
# Requires that the 'tar' binary is present in your container
# image.  If 'tar' is not present, 'kubectl cp' will fail.

# 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

Options:
-c, --container='': Container name. If omitted, the first container in the pod will be chosen

Usage:
kubectl cp <file-spec-src> <file-spec-dest> [options]

Use "kubectl options" for a list of global command-line options (applies to all commands).

从容器复制文件到本地:

kubectl  cp   <namespace>/<pod>:<root_dir>/<parent_dir>/<file_name>    ./<file_name>

注:pod冒号后直接加根目录,不能加“/”,否则报错 tar: removing leading ‘/’ from member names

本地及远程地址都只能使用相对路径, 而且本地的路径不能有层级

从本地复制到容器:

kubectl    cp   ./<file_name>      <namespace>/<pod>:/<root_dir>/<parent_dir>/<file_name>

本地及远程地址都可使用绝对路径或者相对路径
本地地址的相对目录为当前kubectl执行命令的目录,远程地址的目录为pod workdir的目录

从Pod容器中copy文件至本地

kubectl   cp  -c   cloud-loan-gate   uat/cloud-786d84c554-p7jz7:app/logs/server.log   ./server.log 

uat 为namespace
-c 指定容 因pod中有多个container,默认从第一个,有可能报错找不到文件和目录
源目录参数 后只能跟文件名,不能是以“/”开头的路 必须是 app/logs/server.log
目标参数 必须为文件不能是一个目录 ,如 /tmp/server.log

参考

Kubectl cp使用注意事项
https://developer.aliyun.com/article/788714

使用kubectl cp在pod和主机之间拷贝文件
https://blog.csdn.net/LONG_Yi_1994/article/details/123988713

k8s kubectl 在本地和容器之间复制文件
https://blog.csdn.net/zhoudingding/article/details/122403358

Kubectl cp gives "tar: removing leading '/' from member names" warning
https://github.com/kubernetes/kubernetes/issues/58692

How to copy files from kubernetes Pods to local system
https://stackoverflow.com/questions/52407277/how-to-copy-files-from-kubernetes-pods-to-local-system

命令行工具 (kubectl)
https://kubernetes.io/zh-cn/docs/reference/kubectl/

相关文章

  • Docker 体验及总结(7) - 容器集群监控(待续)

    单一容器监控 容器监控命令 weavescope图形化工具 K8S容器监控 K8S集群可使用Heapster + ...

  • kubeadmin安装k8s

    看完本篇能学到的知识点 k8s集群的安装 k8s的 kubectl 常用命令的使用 k8s发布一个简单的应用 k...

  • K8S命令的梳理

    K8S命令的梳理 kubectl是一个基础的K8S集群管理命令,可以实现对K8S资源的查询,创建,删除,更新,回退...

  • k8s说明

    k8s核心组件 k8s架构图 k8s扩展功能 开启XSHELL的多终端执行命令 kubernetes在centos...

  • Ubuntu 14.04以上版本安装Docker和k8s

    使用阿里源安装Docker 使用官方脚本自动安装 手动命令行安装 安装校验 使用ustc源安装k8s 使用如下命令...

  • K8s一些常用命令合集

    本文旨在记录K8s使用过程中常用的CLI命令集,下面就针对K8s集群中各种资源对象的不同操作对其相关命令简单做以下...

  • Kubernetes部署(v1.5.3)

    由于K8S更新较快, 不建议使用该版本部署, 大家可以使用1.6.1或更高版本 最近k8s很火, k8s即kube...

  • K8S原理(重要)

    1、用K8S部署Nginx 2、K8S 核心架构原理 3、常用命令 4、k8s中各端口说明 5、用yaml创建de...

  • 04-Metrics-Server 插件和top命令

    前言:使用top命令查看需k8s使用资源信息,需要安装Metrics-Server 插件。注意:这个kube-st...

  • k8s之kubectl命令自动补全

    k8s 命令自动补全 或者 在mac上

网友评论

    本文标题:【k8s】k8s kubctl cp 命令的使用

    本文链接:https://www.haomeiwen.com/subject/ourridtx.html