0
点赞
收藏
分享

微信扫一扫

使用VPN访问私有AKS群集报错一例

最近遇到了一个使用VPN访问私有AKS群集报错的case,今天分享出来给大家进行参考。

场景:

这个case的场景为:

  • 私有模式部署的Azure Kubernetes群集
  • 本地网络和云端网络之间有VPN连接,网络连通性正常

问题:

在本地使用az aks get-credentials命令获取群集token后,执行群集管理动作时遇到如下问题:

E0318 11:01:11.558328    8064 memcache.go:265] "Unhandled Error" err="couldn't get current server API group list: Get \"https://sr-aks-pvt-rg-aks01-demo-jp-177add-ld6vk6wf.a653151f-0801-4c8b-b280-5e4c0670bd7b.privatelink.japaneast.azmk8s.io:443/api?timeout=32s\": dial tcp: lookup sr-aks-pvt-rg-aks01-demo-jp-177add-ld6vk6wf.a653151f-0801-4c8b-b280-5e4c0670bd7b.privatelink.japaneast.azmk8s.io: no such host"

Unable to connect to the server: dial tcp: lookup sr-aks-pvt-rg-aks01-demo-jp-177add-ld6vk6wf.a653151f-0801-4c8b-b280-5e4c0670bd7b.privatelink.japaneast.azmk8s.io: no such host

使用VPN访问私有AKS群集报错一例_私有群集

原因分析:

在专用 虚拟网络中部署 AKS 群集时,默认情况下,它没有与 Kubernetes API 服务器关联的公共 IP 地址。相反,API 服务器只能在 虚拟网络中访问。

若要想通过VPN访问部署在虚拟网络内的AKS群集,则需要使用API服务器的Public FQDN地址进行访问。默认情况下,在虚拟网络内部署AKS群集时,AKS 会在 Azure 公共 DNS 中为您的私有 API 服务器地址创建一个带有 A 记录的公共 FQDN。若要使用此FQDN地址,需要在az aks get-credentials获取Token时指定--public-fqdn参数。

解决方式:

若要访问专用 AKS 群集连接到 VPN,请执行以下步骤:

  1. 打开命令行界面或终端。
  2. 确保您已安装 Azure CLI 并将其更新到最新版本。
  3. 使用命令登录到 Azure 帐户。az login

然后,使用az aks get-credentials 命令同时指明 --public-fqdn参数:

使用VPN访问私有AKS群集报错一例_It_02

使用新获取到的配置文件,就可以轻松的通过VPN连接到AKS群集啦:

使用VPN访问私有AKS群集报错一例_私有群集_03




举报

相关推荐

0 条评论