Windows下Rancher復制Pod內文件到本地


Rancher 未提供直接獲取 Pod 內文件的工具(如果有請評論告知下,蟹蟹),但提供了 Rancher 的 CLI 客戶端,通過 CLI 可以調用 k8s 的 CLI (kubectl) 命令來操作集群及復制文件。

為簡化操作,本文將 rancher.exe 和 kubectl.exe 都復制到了 系統環境變量Path下,比如在 C盤建了個usrbin目錄。

復制rancher與 k8s 的客戶端到 Path

rancher.exe可以通過官網,也可以通過Rancher UI 右下角下載;

kubectl.exe 下載地址,需有技巧地上網。

下載完成復制到 C:/usrbin 下。至於想放到其他地方也可以,把其他目錄添加到 當前用戶或全局 Path下即可。

添加環境變量

驗證CLI可用性

打開GitBash執行如下命令:

rancher --version
kubectl version

創建API & Keys

Scope千萬不要選,如果指定集群后,會無法CLI登錄。

創建CLI存儲登錄信息目錄

創建目錄 C:\Users\當前用戶名\.rancher

配置CLI存儲登錄信息環境變量

新建用戶環境變量 RANCHER_CONFIG_DIR,值為 C:\Users\當前用戶名\.rancher,即上節創建的目錄絕對路徑

使用CLI登錄

新啟一個cmd,執行命令登錄

rancher login https://<SERVER_URL> --token <BEARER_TOKEN>

示例:

$ rancher login https://xxx.xxx.com.cn --token token-xzgj2:5t4kjp2gvhgs52n68fjwfzpxk8g7rjz5s92kdm8ldhnpkrb2hq477s
The authenticity of server 'https://xxx.xxx.com.cn' can't be established.
Cert chain is : [Certificate:
    Data:
        Version: 3 (0x2)
        Serial Number: 11600916281625505644 (0xa0febbe4d3556f6c)
    Signature Algorithm: SHA256-RSA
        Issuer: C=CN,CN=localhost
        Validity
...省略自簽證書提示
Do you want to continue connecting (yes/no)? yes #自簽證書需要顯式連接確認
NUMBER    CLUSTER NAME   PROJECT ID        PROJECT NAME   PROJECT DESCRIPTION
1         cwgx           c-txpcb:p-2vpxb   fssc_std
2         cwgx           c-txpcb:p-x76h6   fssc_demo
Select a Project:1 #輸入項目編號
time="2021-09-07T11:42:37+08:00" level=info msg="Saving config to C:\\Users\\hellxz\\.rancher\\cli2.json"

通過rancher CLI使用kubectl命令

rancher限制了用戶可以訪問的命名空間,需要指明在哪個命名空間操作

命令格式:

#查看命名空間
rancher namespaces
#執行kubectl命令,需指定命名空間
rancher kubectl <具體命令> -n <命名空間>
#查看指定命名空間下Pod列表
rancher kubectl get po -n <命名空間名>

示例:

$ rancher namespaces
ID         NAME       STATE     PROJECT           DESCRIPTION
fssc-std   fssc-std   active    c-txpcb:p-2vpxb
$ rancher kubectl get po -n fssc-std
NAME                                READY   STATUS    RESTARTS   AGE
bud-nvwa-server-5d756595df-5nv8g    1/1     Running   0          3d20h
fssc-nros-7bb6776cd9-f5hln          1/1     Running   0          4d13h
fssc-nvwa-server-5d76dfc695-qvqkr   1/1     Running   0          3d20h
gateway-787c4777f9-bt72b            1/1     Running   1          32d

復制Pod名稱取出容器內文件

rancher kubectl cp <Pod名稱>:<絕對路徑> <當前相對路徑> -n <命名空間名>

比如取 bud-nvwa-server-6768b4859-kmhk6 容器內的 /app/logs 目錄到 我的桌面(注意相對路徑)

到此文件已經拷到本地了。

更多CLI命令參考

CSDN博客園同步更新


免責聲明!

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



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