如何使用az cli命令访问Private AKS集群?



我目前在使用以下命令登录到私有AKS集群时遇到一些问题:

az account set --subscription [subscription_id]
az aks get-credentials --resource-group [resource-group] --name [AKS_cluster_name]

我输入这两个命令之后问我通过网络进行身份验证的代码是由阿兹CLI,在那之后,我有以下问题终端:

To sign in, use a web browser to open the page https://microsoft.com/devicelogin and enter the code RTEEREDTE to authenticate.
Unable to connect to the server: dial tcp: lookup aksdusw2aks01-0581cf8f.hcp.westus2.azmk8s.io: i/o timeout

潜在的问题是什么?如何成功登录私有AKS集群?

指出:

我有一些其他集群,我可以通过终端登录它们,而不会出现任何类型或类型的错误。

您不能使用kubectl访问私有AKS集群的API Server,这是通过使其私有(没有公共访问)来设计的。您需要使用az aks命令调用来通过Azure API调用命令:

az aks command invoke -n <CLUSTER_NAME> -g <CLUSTER_RG> -c "kubectl get pods -A"

超时通常意味着某个地方正在丢弃数据包并且没有响应。这可能是为AKS集群配置的Azure云中的安全策略和/或流量规则。你可以仔细检查这是相干的,你说你集群访问。

为了与私有集群交互,您需要从能够访问AKS集群所在的VNET的端点运行命令行。所以你需要一个虚拟机在那个VNET中,或者一个对等的VNET, VPN等等。

私有集群的目的是防止外部资源的访问,只允许连接的网络。正如Wlez所提到的,您也可以使用命令调用,但这可能适合偶尔使用,而不是响应式的频繁访问。

最新更新