从外部 ssh 到 k8s 的 pod 里面

2023-12-07 13:01:57 +08:00
 HugeNature

求教大佬,从外部 ssh 到 k8s 的 pod 里面,有什么方案么?

7191 次点击
所在节点    Kubernetes
64 条回复
SoulSleep
2023-12-07 13:05:40 +08:00
首先默认的网络方案是不支持的...我们有用大二层网络架构的 k8s 可以,pod 就像一个 vm 一样....

要不你开个 node port 把 ssh 给映射出去(不安全

很多平台支持 webshell...
julyclyde
2023-12-07 13:08:30 +08:00
首先容器里就别运行完整的操作系统
它也不拥有固定的 IP 地址

ssh 进去这个,一定是你的需求有问题
hicdn
2023-12-07 13:11:05 +08:00
pod 里跑个 ttyd ,可以开认证选项,把端口映射出来,就可以在浏览器里执行命令了
kenvix
2023-12-07 13:11:07 +08:00
@julyclyde 这种需求是存在的,我们这里有一种人工智能平台就在 k8s 阵列上运行 sshd 然后用户 vscode sshd 进去写代码跑模型训练
julyclyde
2023-12-07 13:13:22 +08:00
@kenvix 设计错误
HugeNature
2023-12-07 13:14:18 +08:00
@julyclyde 我们的需求类似 kenvix ,用户需要进去 pod 做一些修改能快速地做一些验证。
buffzty
2023-12-07 13:15:17 +08:00
1. 加个 wireguard 直通集群
2. k8s port-forward
临时建议第二种 长期建议第一种 第一种只能给后端负责人
julyclyde
2023-12-07 13:15:22 +08:00
@HugeNature 你这种情况不应该用 k8s 而应该是一个长生命周期的服务器
HugeNature
2023-12-07 13:15:57 +08:00
@hicdn 这个方案的确是一个可选项,但是 web terminal 体验不是很好,不能做太重的事情。
HugeNature
2023-12-07 13:16:52 +08:00
@buffzty 1. 加个 wireguard 直通集群 这个方案可以详细解释下么?是将 wg 安装在 pod 里还是 host 上?
defunct9
2023-12-07 13:17:35 +08:00
kubectl exec -it pod -- /bin/bash
HugeNature
2023-12-07 13:18:07 +08:00
@defunct9 这个不是 ssh 哈。
happyxhw101
2023-12-07 13:18:35 +08:00
@HugeNature 可以看看 k8s dashboard 里面是怎么实现的,应该是在前端实现了 kubectl exec -it xxxx -- sh
HugeNature
2023-12-07 13:19:22 +08:00
@julyclyde 现状就是已经用了 k8s 了,没办法推倒,只能想办法解决 ssh 的问题
66z
2023-12-07 13:25:33 +08:00
好像 kubeflow 的方案是 jupter
qilme
2023-12-07 13:26:42 +08:00
平添麻烦,参考一下 okteto 的实现是每个容器加一个 ssh 服务器进去,然后做端口转发
https://www.okteto.com/docs/reference/ssh-server/
killva4624
2023-12-07 13:27:46 +08:00
kubectl exec -it pod bash

把这层封装到前端做一个 Terminal
buffzty
2023-12-07 13:28:07 +08:00
@HugeNature wireguard 安在 node 上 你客户端也要安装一个 可以自己设置代理仅集群内流量 集群 dns 也可以用 本地跟集群全互通
defunct9
2023-12-07 13:30:33 +08:00
容器里本来就没有 ssh ,非要跑一个干嘛,你的目的就是远程调试,那么启个 bash 接进来就是正解。你可以在你发起 ssh 的机器上配好 kubectl 不就行了。
ppto
2023-12-07 13:31:11 +08:00
sidecar 感觉可以。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/998329

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX