想从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. selenium常用的API(五)获取title、刷新、前进和后退

    获取网页title的属性值 #encoding=utf-8 from selenium import webdriver import unittest import time class Visit ...

  2. application内置对象

    application 实现用户间的数据共享,可存放全局变量 setAttribute() getAttribute() getServerInfo(); //获取引擎名和版本号,如:Apache T ...

  3. C# Base64字符串生成图片

    C# Base64字符串生成图片: //签字图片Base64格式去除开头多余字符data:image/png;base64, strSignImg = strSignImg.Substring(str ...

  4. Xamarin.Forms 入门

    介绍 Xamarin.Forms是一个开源UI框架,Xamarin.Forms允许开发人员从单个共享代码库构建Android,iOS和Windows应用程序. Xamarin.Forms允许开发人员使 ...

  5. PHP-FPM config 文件生产环境

    ;;;;;;;;;;;;;;;;;; ; Global Options ; ;;;;;;;;;;;;;;;;;; [global] pid = run/php-fpm.pid error_log = ...

  6. [CSP-S 2019]格雷码

    [CSP-S 2019]格雷码 题目大意: 格雷码(Gray Code)是一种特殊的 \(n\) 位二进制串排列法,它要求相邻的两个二进制串间恰好有一位不同,特别地,第一个串与最后一个串也算作相邻. ...

  7. 洛谷 P4707 重返现世

    洛谷 P4707 重返现世 k-minimax容斥 有这一个式子:\(E(\max_k(S))=\sum_{T\subseteq S}(-1)^{|T|-k}C_{|T|-1}^{k-1}\min(T ...

  8. centos7中运行ifconfig提示-bash: ifconfig: command not found

    centos7中运行ifconfig提示-bash: ifconfig: command not found 查看/sbin/下是否有ifconfig,若没有通过如下命令安装 sudo yum ins ...

  9. mysql 日期处理

    mysql> select curdate(); +------------+ | curdate() | +------------+ | -- | +------------+ row in ...

  10. 因在缓存对象中增加字段,而导致Redis中取出缓存转化成Java对象时出现反序列化失败的问题

    背景描述 因为业务需求的需要,我们需要在原来项目中的一个DTO类中新增两个字段(我们项目使用的是dubbo架构,这个DTO在A项目/服务的domain包中,会被其他的项目如B.C.D引用到).但是这个 ...