ssh - 如何通过 ssh 连接到在 OpenShift/Kubernetes 集群中运行的容器?

标签 ssh kubernetes containers openshift

我希望能够通过 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/

相关文章:

git - 更改 GitLab SSH 主机

github - 在 Google Cloud Build yaml 中克隆私有(private) GitHub 存储库

containers - 无法设置LVM时的快照选项

java - 直接在tomcat文件夹中创建图像存储(Java)

c# - 是否可以对字典字符串键进行部分字符串匹配?

ssh - 启用后,squirrelmail的自动完成插件会删除“显示偏好设置”页面

git - ssh-add 创建错误连接到代理 : Connection timed out (Windows 10)

amazon-web-services - 如何在AWS上获取kubernetes负载均衡器服务的永久IP地址?

kubernetes - 如何在 Kubernetes 上的 Keycloak Operator 部署中使用自定义主题?

kubernetes - Helm升级遇到失败似乎是因为configmap限制​​超过