4

我按照此处的说明创建了一个 ACS Kubernetes 集群:https ://docs.microsoft.com/en-us/azure/container-service/container-service-kubernetes-walkthrough 。

我看到主节点有一个公共 IP,我可以使用 ssh 进入主节点azureuser。但是常规节点没有公共 IP,我看不到如何从主节点 ssh 进入常规节点。

如何通过 SSH 连接到常规节点?

4

3 回答 3

7

您可以将其中一个 k8s 主机用作“堡垒主机”,避免复制密钥。例如:

# In ~/.ssh/config

Host agent1_private_ip agent2_private_ip ....
  IdentityFile ~/.ssh/<your_k8s_cluster_key>
  ProxyCommand ssh user@master_public_ip -W %h:%p

现在只是ssh user@agent1_private_ip

在此处查看更多信息:http: //blog.scottlowe.org/2015/11/21/using-ssh-bastion-host/


PS:这是检索您的代理私有 ips 的快速方法,/etc/hosts格式为:

kubectl get nodes -o json | jq -r '.items[].status.addresses[].address' | paste - -
于 2017-07-10T13:59:01.967 回答
4

您可以将私钥复制到您的主 VM。然后你可以使用ssh -i <path>/id_rsa user@<agent private IP>k8s 代理虚拟机。

注意:代理的用户名和私钥与主虚拟机相同。

于 2017-06-19T03:18:58.223 回答
0

微软在https://docs.microsoft.com/en-us/azure/aks/ssh发布了官方文档。这个想法是将 SSH 连接到交互式 POD 会话中,并将其用作代理节点的跳转主机。

于 2018-10-30T14:17:55.753 回答