想从k8s的pod中拷贝文件到宿主机,kubectl 的cp命令,但是网上搜索了下,感觉有点乱,自己记录下。

hadoop这个namespace下,有个hadoop-hadoop-yarn-rm-0的pod,它的work_dir是/usr/local/hadoop,在这个目录下有个application_1564318400358_0562_1文件,现在的目的是将此文件拷贝到宿主机上,命令如下List-1所示。由于我们的work_dir是/usr/local/hadoop,所以不需要写完全路径/usr/local/hadoop/application_1564318400358_0562_1,写完全路径反而会报错

List-1

kubectl cp -n hadoop hadoop-hadoop-yarn-rm-0:application_1564318400358_0562_1 ./

如下List-2中报错

List-2

[~]$ kubectl cp -n hadoop hadoop-hadoop-yarn-rm-0:/usr/local/hadoop/application_1564318400358_0562_1 ./
tar: Removing leading `/' from member names
[~]$ kubectl cp -n hadoop hadoop-hadoop-yarn-rm-0:usr/local/hadoop/application_1564318400358_0562_1 ./
error: usr/local/hadoop/application_1564318400358_0562_1 no such file or directory 实例操作:
[root@pressure-pretest-master03 ~]# kubectl cp -n xitu-pressure h5-web-pressure-8498f76b59-mnm66:/var/log/nginx/access.log ./
tar: removing leading '/' from member names
[root@pressure-pretest-master03 ~]# ls access.log [root@pressure-pretest-master03 ~]# tar -czvf access.log.tar.gz access.log
access.log
[root@pressure-pretest-master03 ~]# ls access.log
access.log.tar.gz

  

部分 kubectl 的版本原因使用上述 kubctl cp 会报错

emambp:tian ema$ kubectl cp learn-deployments/lrn145033-learn-tom7956c-g9k8q:bb-email-log.txt  /Users/ema/work/bb_cicd/starter/kubernetes/tian/
Defaulting container name to learn.
error: open /Users/ema/work/bb_cicd/starter/kubernetes/tian: is a directory

目标参数必须为文件 不能是一个目录

解决,

emambp:tian ema$ kubectl cp learn-deployments/lrn145033-learn-tom7956c-g9k8q:bb-email-log.txt  /Users/ema/work/bb_cicd/starter/kubernetes/tian/bb-email-log.txt

总结:

源参数 不能是以“/” 开头的,所以可以把需要copy的文件先拷贝到pod的工作目录下

目标参数必须为文件  不能是目录

实例操作:

 kubectl version
Client Version: version.Info{Major:"1", Minor:"15", GitVersion:"v1.15.3", GitCommit:"2d3c76f9091b6bec110a5e63777c332469e0cba2", GitTreeState:"clean", BuildDate:"2019-08-19T11:13:54Z", GoVersion:"go1.12.9", Compiler:"gc", Platform:"linux/amd64"}
Server Version: version.Info{Major:"1", Minor:"12+", GitVersion:"v1.12.6-aliyun.1", GitCommit:"8cb561c", GitTreeState:"", BuildDate:"2019-05-23T11:28:17Z", GoVersion:"go1.10.8", Compiler:"gc", Platform:"linux/amd64"} kubectl cp -n weifeng-test mall-finance-job-provider-69ff7fb8cf-k8p4g:aaa.bin ./aaa.bin ll
total 186624
-rw-r--r-- 1 root root 191066106 Oct 23 16:56 aaa.bin

  

Kubernates之从pod中拷贝文件到宿主机的更多相关文章

  1. kubectl cp 从k8s pod 中 拷贝 文件到本地

    请查看官方的说明 kubectl cp --help 官方说使用cp , pod里需要有tar命令 从k8s pod 中 拷贝 文件到本地 这是我使用的命令 kubectl exec redis-6c ...

  2. Ubuntu中拷贝文件的操作

    cp(copy)命令 该命令的功能是将给出的文件或目录拷贝到另一文件或目录中. 语法: cp [选项] 源文件或目录 目标文件或目录 说明:该命令把指定的源文件复制到目标文件或把多个源文件复制到目标目 ...

  3. windows程序中拷贝文件的选择

    最近需要在Windows下拷贝大量小文件(数量在十万级别以上).写了些拷贝文件的小程序,竟然发现不同的选择,拷贝的速度有天壤之别! 现有这样的测试数据:1500+小文件,总大小10M左右.现用不同方法 ...

  4. 如何从GAC中拷贝文件出来 C:\Windows\assembly

    方法一:命令行拷贝. 开始--运行--cmd--"cd C:\WINDOWS\assembly".一般自己开发的dll都在GAC_MSIL这个文件夹下面,按照我如下的截图就可以拷贝 ...

  5. windows emacs 中拷贝文件

    cp d:/workspace/LoginWeb/target/LoginWeb.war D:/Program\ Files/apache-tomcat-7.0.78/webapps/LoginWeb ...

  6. Windows Phone 7 中拷贝文件到独立存储

    private void CopyToIsolatedStorage(){    using (IsolatedStorageFile storage = IsolatedStorageFile.Ge ...

  7. python 从filelist.txt中拷贝文件到另一文件夹中

    #! python #coding:utf-8 ##!/usr/bin/python # Filename : fileCp.py import sys import os import shutil ...

  8. 如何从windows中拷贝文件到linux (ubuntu)??

    安装ssh,然后用客户端似的界面远程手动拖动即可.

  9. docker复制文件到宿主机

    从主机复制到容器 sudo docker cp host_path containerID:container_path 从容器复制到主机 sudo docker cp containerID:con ...

随机推荐

  1. Android init介绍(下)

    上一篇请参考<Android init介绍(上)> 5. AIL 在init启动过程中,系统服务等均是通过解析rc文件来启动,而rc文件则是由Android初始化语言(Android In ...

  2. 格式化字符串——初级% 和format

    print '{a},{b}'.format(a='hello',b='word') st='a %s %s x y z' st1=('b','c') print st%st1 print '%s % ...

  3. Unity点击播放卡死问题的解决

    Unity项目使用了github for unity 插件,用来管理项目,结果安装完后Unity卡死在播放的界面,任务管理器中显示无响应. 经过排查后发现是 git for windows这个程序引起 ...

  4. wordpress更新出现Briefly unavailable for scheduled maintenance. Check back in a minute.

    今天ytkah在更新wordpress插件时出现了Briefly unavailable for scheduled maintenance. Check back in a minute.查找了相关 ...

  5. janusgraph-控制台操作命令

    当顶点数量过多时(我的230w)删除太慢 就用下面的命令, 删除整个图库 graph.close() JanusGraphFactory.drop(graph) 查询所有的顶点属性 用traversa ...

  6. HBase学习笔记之HBase的安装和配置

    HBase学习笔记之HBase的安装和配置 我是为了调研和验证hbase的bulkload功能,才安装hbase,学习hbase的.为了快速的验证bulkload功能,我安装了一个节点的hadoop集 ...

  7. How to Close Frozen Applications in macOS

    How to Close Frozen Applications in macOS By Zeeshan Akram  - February 18, 2019 0 436     Oftenly, y ...

  8. learning java NIO 之 CharBuffer

    import java.nio.CharBuffer; public class BufferTest { public static void main(String[] args) { CharB ...

  9. pgloader 学习(七) 从归档文件加载数据

    我们可以直接从zip,tar,gzip 文件获取内容 command file 参考格式 LOAD ARCHIVE FROM /Users/dim/Downloads/GeoLiteCity-late ...

  10. 18-ESP8266 SDK开发基础入门篇--TCP 服务器 RTOS版,串口透传,TCP客户端控制LED

    https://www.cnblogs.com/yangfengwu/p/11112015.html 先规定一下协议 aa 55 02 01 F1 4C 控制LED点亮  F1 4C为CRC高位和低位 ...