想从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. 算法图解(python3版本)--读后感

    本想写详细点,但入门书籍没啥干货,一天就看完了,简单介绍下: 大纲--两方面 一.介绍算法是什么:算法的作用,判断算法效率高低的指标 ①通过编程解决问题的思路,或者说程序本身就是算法,算法作用是为了提 ...

  2. Centos7-基本设置

    设置hostname hostnamectl set-hostname ABC 查看网络连接 netstat/ss -lntcp 查找软件 rpm -ql python find /tmp/ -nam ...

  3. Proxmox初步了解

    Proxmox不分主从,所有节点同步信息 创建集群 pvecm(可通过web界面创建.添加至集群) pvecm create cluster01 pvecm status 添加节点 pvecm add ...

  4. 大数据开发之keras代码框架应用

    总体来讲keras这个深度学习框架真的很“简易”,它体现在可参考的文档写的比较详细,不像caffe,装完以后都得靠技术博客,keras有它自己的官方文档(不过是英文的),这给初学者提供了很大的学习空间 ...

  5. webview-h5页面刷新

    问题:webview 缓存了index.html页面:浏览器缓存了子页面.解决方案:网页链接后添加时间戳. 第一:避免webView缓存]在service.vue中,给url后边添加时间戳 第二:避免 ...

  6. SignalR入门一、通过 SignalR 2 进行实时聊天

    一:什么是signalR Asp.net SignalR是微软为实现实时通信的一个类库.一般情况下,signalR会使用JavaScript的长轮询(long polling)的方式来实现客户端和服务 ...

  7. SringBoot启动报日志配置错误-logback检测异常

    最近在启动项目的时候,报错,报错的原因是springBoot日志配置文件不对. 由于自己是刚接触springboot,是同事帮忙解决的,自己非常感谢! 先总结如下: 1.首先,找到logback-sp ...

  8. Jmeter扩展自定义函数

    步骤1.导入lib\ext下ApacheJMeter_core.jar和ApacheJMeter_functions.jar 步骤2.新建function的类的package声明必须已".f ...

  9. LeetCode 818. Race Car

    原题链接在这里:https://leetcode.com/problems/race-car/ 题目: Your car starts at position 0 and speed +1 on an ...

  10. ipcs

    用于报告Linux中进程间通信设施的状态,显示的信息包括消息列表.共享内存和信号量的信息