一尘不染

如何SSH到kubernetes集群中的docker容器?

docker

我对Google
Cloud平台和Docker相当陌生,并设置了一个节点集群,制作了一个Dockerfile,该文件可复制存储库并在公共端口上运行Clojure
REPL。我可以从IDE连接到它,然后播放我的代码,太棒了!

但是该REPL应该应该通过SSH进行隧道传输,但这是我的问题开始的地方。 我找不到合适的SSH位置来 更改Docker在其上运行REPL的存储库:

  • 公开的IP仅公开了REPL服务(正确的kubernetes术语?),并且不允许我进行SSH输入。
  • 无论做集群主端点,它给了我,即使我跟随一个公共密钥错误Adding or removing SSH keys for all of the instances in your project部分在这里

我想通过SSH编辑源文件,但是我需要访问docker代码库。我不知道该如何进行。

我知道这并不是部署应用程序的典型方法,因此我什至不确定是否有可能使多个节点与修改后的docker代码库一起工作(这些节点是否以某种方式共享JVM?)。

具体来说,我的问题是如何通过SSH进入docker容器来访问代码库?


阅读 588

收藏
2020-06-17

共1个答案

一尘不染

我找不到合适的SSH位置来更改Docker在其上运行REPL的存储库

创建集群时,您需要在Google云项目中配置许多节点VM。如果您查看https://console.cloud.google.com/compute/instances,您应该会看到它们,并且每个都有一个外部IP地址,您可以将其用作SSH地址。然后创建到节点VM的ssh隧道,该节点将本地端口转发到Pod
IP地址。

请注意,如果您正在运行Clojure应用程序的多个副本,则必须分别连接到每个副本以更新该应用程序。

2020-06-17