首页 > 解决方案 > 是否可以对 Pod 中的 VM 执行 ssh?

问题描述

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

ssh: connect to host port 22: Connection timed out

我已经在我的 pod 中安装了 OpenSSH-client/server。我确保 VM 具有公共 IP 地址,并且 pod 也可以访问 VM 的私钥。我尝试通过 ssh 连接到笔记本电脑上的 Azure 主 VM,它运行良好。有任何想法吗?

标签: kubernetes

解决方案


请按照以下步骤操作

  1. 在 azure 集群中部署一个包含 ssh 二进制文件的测试 pod。
  2. 更新集群节点上的 ssh 证书(如果您已经拥有证书,请忽略)
  3. 使用 kubectl cp 命令将 ssh 证书复制到测试 pod
  4. 进入测试 pod 和 ssh 到任何集群节点
  5. 您应该能够在集群节点上运行命令

推荐阅读