Kubernates之從pod中拷貝文件到宿主機


想從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

  

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM