利用kubectl在本地使用Rancher中已存在的节点
测试的操作系统:Windows 10 / 11,Mac / Linux步骤类似
有远程调试需求的可以参考 利用ssh在本地使用Rancher中已存在的节点
1. 安装和配置kubectl
可参考教程https://kubernetes.io/zh/docs/tasks/tools/install-kubectl-windows/,我是直接下载了kubectl的exe文件,然后自己配置环境变量的。
测试一下,看是否配置正确。
# 当使用 cmd.exe 时,输入: cd %USERPROFILE%
# 使用PowerShell,则为输入以下命令
cd ~
创建文件夹 .kube 并进入该文件夹
mkdir .kube
cd .kube
从公司的Rancher中下载cluster的kubectlconfig文件,并复制到.kube文件夹中的config中。
输入以下命令查看是否配置成功
kubectl cluster-info dump
如果可以看到公司内部的一些信息,则表明配置成功。
2. 链接Rancher
连接到自己的pod,输入以下命令
# kubectl exec -it -n [Namespace] [Pod] [command]
kubectl exec -it -n robomaster uav-xxx-alog-tf2-74ff bash
映射端口
如果使用了tensorboard、jupyter等工具,需要利用本地端口查看内容,则需要将容器内端口映射到本地端口。输入如下命令:
# kubectl port-forward -n [Namespace] [Pod] [local port : port in pod]
kubectl port-forward -n robomaster uav-xxx-alog-tf2-74ff 6006:6006
一般本地端口用一样的比较方便,除非已经被占用。
文件拷贝到本地
拷贝Pod中的文件到本地,输入如下命令:
# kubectl cp -n [Namespace] [Pod : pod path] [local path]
kubectl cp -n robomaster uav-xxx-alog-tf2-74ff:/cephfs/XXX/red-model.th red-model.th
文件就复制到了powershell的当前路径。