如何使用云Shell SSH进入AKS群集并测试AKS内部的连接

时间:2019-12-06 15:13:02

标签: azure azure-aks

我们公司封锁了ssh端口。如何使用云shell SSH到AKS集群,以便我们可以从那里卷曲到外部URL以测试连接? Tks。

2 个答案:

答案 0 :(得分:1)

这实际上没有多大意义,但是您只需要打开SSH端口到您的Cloudshell所在的蔚蓝区域(我想是由存储决定的)。

但是更好的方法是这样做:

kubectl exec -it -n pod_namespace podname /bin/bash (or /bin/sh)

这将在AKS上的pod上打开bash会话,您就可以测试您的curl请求。

答案 1 :(得分:1)

根据您的要求,可以将AKS群集中的Pod用作跳转框,然后在Pod中SSH AKS群集节点。

此处的步骤:

  1. 获取节点IP:
kubectl get nodes -o wide
  1. 在AKS集群中创建一个pod并使用该pod创建一个bash会话:
    kubectl run --generator=run-pod/v1 -it --rm aks-ssh --image=debian
  1. 在pod内安装ssh客户端:
    apt-get update && apt-get install openssh-client -y
  1. 将创建AKS集群时使用的ssh密钥复制到pod:
  kubectl cp ~/.ssh/id_rsa $(kubectl get pod -l run=aks-ssh -o jsonpath='{.items[0].metadata.name}'):/id_rsa

或者使用密码,如果忘记了密码,可以找到AKS节点并重设密码。

  1. 选择一个节点对其进行SSH:
ssh -i id_rsa azureuser@node_Ip

有关更多详细信息,请参见Create the SSH connection to the AKS cluster nodes