zoukankan      html  css  js  c++  java
  • 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
    

      

  • 相关阅读:
    tensorflow在文本处理中的使用——Doc2Vec情感分析
    tf.squeeze()
    tf.concat()
    tf.slice()
    WebService到底是什么?
    Webservice工作原理及实例
    Iterator,foreach遍历小计
    谈谈今年很火的区块链 CDN
    Java 反射简介(转载)
    Ajax二级联动简单实例
  • 原文地址:https://www.cnblogs.com/weifeng1463/p/11360774.html
Copyright © 2011-2022 走看看