Kubernetes 是否可以对pod中的VM执行ssh?

Kubernetes 是否可以对pod中的VM执行ssh?,kubernetes,Kubernetes,我在GKE上的Kubernetes集群中有一个pod,它在Azure上远程创建一个Kubernetes集群,我想从pod通过ssh连接到Azure集群的主VM,这样我就可以远程运行一些命令。但是,每当我在pod内运行ssh/scp时,都会遇到超时问题: ssh:连接到主机端口22:连接超时 我已经在pod中安装了OpenSSH客户端/服务器。我确保VM有一个公共IP地址,pod也可以访问VM的私钥。我在我的笔记本电脑上尝试了ssh进入Azure主虚拟机,效果很好。有什么想法吗?如果您在GKE中运

我在GKE上的Kubernetes集群中有一个pod,它在Azure上远程创建一个Kubernetes集群,我想从pod通过ssh连接到Azure集群的主VM,这样我就可以远程运行一些命令。但是,每当我在pod内运行ssh/scp时,都会遇到超时问题:

ssh:连接到主机端口22:连接超时


我已经在pod中安装了OpenSSH客户端/服务器。我确保VM有一个公共IP地址,pod也可以访问VM的私钥。我在我的笔记本电脑上尝试了ssh进入Azure主虚拟机,效果很好。有什么想法吗?

如果您在GKE中运行私有集群,请检查:

它说:

私有节点没有出站Internet访问,因为它们没有外部IP地址。Private Google Access通过Google的专用网络提供对Google云平台API和服务的有限出站访问,从而提供私有节点及其工作负载。例如,私有Google访问使私有节点可以从Google容器注册表中提取容器图像,并将日志发送到Stackdriver

检查另一个问题=>

按照以下步骤操作

  • 在azure集群中部署一个具有ssh二进制文件的测试pod
  • 更新群集节点上的ssh证书(如果已经有证书,则忽略)
  • 使用kubectl cp命令将ssh证书复制到测试盒中
  • 进入测试吊舱并通过ssh连接到任何集群节点
  • 您应该能够在群集节点上运行命令

  • 这个解释有点笨拙。请提供您连接的确切位置和连接到的确切位置。通过SSH从pod连接到VM,但得到了
    SSH:connect to host port 22:连接超时
    而不是“连接到VM”---到哪个虚拟机?Azure端是否有限制ssh从何处进入的防火墙规则?这不是kubernetes的问题。检查您是否能够从pod ping主服务器。如果是,请检查kubernetes节点的端口22是否被列入白名单。如果步骤2-5连接超时,步骤2-5有什么意义?