我希望能够通过 ssh 进入 OpenShift pod 中的容器。
我知道,我可以简单地使用 oc rsh
来做到这一点。但这是基于这样的假设,即我在要通过 ssh 进入容器的节点上安装了 openshift cli。
但我真正想要实现的是,从没有安装 openshift cli 的节点通过 ssh 进入容器。该节点与 OpenShift 位于同一网络中。该节点确实可以访问容器上托管的 Web 应用程序(仅作为示例)。但是我想要 ssh 访问权限而不是 Web 访问权限。
有什么办法可以实现吗?
最佳答案
与在真实或虚拟硬件上运行整个操作系统的服务器不同,容器只不过是封装了一些内核特性的单个 Linux 进程:CGroups , Namespacing , 和 SELinux .如果您愿意的话,这是一个“奇特”的过程。
在容器中打开 shell session 与打开到服务器的 ssh 连接并不完全相同。在容器中打开 shell 需要启动 shell 进程并将其分配给与容器进程位于同一主机上的相同 cgroup 和命名空间,然后向您呈现该 session ,这不是 ssh 的设计目的。
使用 oc exec , kubectl exec , podman exec , 或 docker exec用于在正在运行的容器内打开 shell session 的 cli 命令是应该用于连接正在运行的容器的方法。
关于ssh - 如何通过 ssh 连接到在 OpenShift/Kubernetes 集群中运行的容器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56545155/