利用ssh在本地使用Rancher中已存在的节点
测试的操作系统:Windows 11
相关文章:利用kubectl在本地使用Rancher中已存在的节点
利用kubectl在本地连接pod上的container不适用于在vsc或pycharm中远程编辑调试代码,想要方便地远程调试代码还是需要利用ssh
1. 在pod的容器中配置ssh
一般来说,公司搭建的时候会默认按配置好ssh。如果需要你自己安装配置ssh的话,请自行查阅相关资料,这里不再赘述。
在rancher管理页面新建workload时,将ssh服务的端口映射出来,这里我们假设映射出的端口号为32585
需要注意的是,这里映射出的端口是在node上运行的pod里的container中的ssh服务的端口
进入容器,配置本机的密钥,然后手动启动或重启ssh服务
vim /root/.ssh/authorized_keys
# 添加你PC的公钥,保存退出后启动或重启ssh服务
service ssh start
# * Starting OpenBSD Secure Shell server sshd [ OK ]
2. 在本机上测试ssh
不在公司内网环境的,注意开企业VPN
本机输入如下命令,即可进入container
# 注意,ssh连接的是node的ip,不是pod的ip!!!
# 注意,ssh连接的是node的ip,不是pod的ip!!!
# 注意,ssh连接的是node的ip,不是pod的ip!!!
ssh root@[node ip] -p [pod映射出的port]
# ssh root@[node ip] -p 32585
如果需要映射container内的端口,例如在本机上访问container里的tensorboard页面,可以直接在连接时转发内部端口到本机的端口
ssh root@[node ip] -p [port] -L [收听接口:]收听端口:目标主机:目标端口
# ssh root@[node ip] -p 32585 -L 6006:127.0.0.1:6006
【待补充】
Reference:
[1] 彻底搞懂SSH端口转发命令