为什么SSH不能在kubernetes吊舱/容器中工作?
我们有一个应用程序,它使用SSH将工件从一个节点复制到另一个节点。在创建Docker映像(基于Linux Centos 8)时,我已经安装了Openssh服务器和客户端,当我从Docker命令运行映像并将其执行到其中时,我成功地运行了SSH命令,并且还看到端口22已启用并正在侦听(为什么SSH不能在kubernetes吊舱/容器中工作?,ssh,kubernetes,Ssh,Kubernetes,我们有一个应用程序,它使用SSH将工件从一个节点复制到另一个节点。在创建Docker映像(基于Linux Centos 8)时,我已经安装了Openssh服务器和客户端,当我从Docker命令运行映像并将其执行到其中时,我成功地运行了SSH命令,并且还看到端口22已启用并正在侦听($lsof-I-P-n | grep LISTEN) 但是,如果我在Kubernetes集群中使用相同的映像启动一个POD/容器,我看不到端口22已启用并在容器内侦听。即使我尝试从k8s容器内部启动sshd,它也会给出
$lsof-I-P-n | grep LISTEN
)
但是,如果我在Kubernetes集群中使用相同的映像启动一个POD/容器,我看不到端口22已启用并在容器内侦听。即使我尝试从k8s容器内部启动sshd
,它也会给出以下错误:
Redirecting to /bin/systemctl start sshd.service Failed to get D-Bus connection: Operation not permitted.
有没有办法在启用SSH的情况下启动K8s容器?有三件事需要考虑:
如果有帮助,请告诉我 有三件事需要考虑:
如果有帮助,请告诉我 通常Docker容器不运行ssh守护进程。我看到的几乎每个问题都表明这有一个重大的安全问题,比如Dockerfile中有一个硬编码的明文根密码。我会重新设计您的系统,使用更易于设置的通信系统,比如POD之间的HTTP调用。通常Docker容器不运行ssh守护进程。我看到的几乎每个问题都表明这有一个重大的安全问题,比如Dockerfile中有一个硬编码的明文根密码。我会重新设计您的系统,以使用更易于设置的通信系统,比如POD之间的HTTP调用。