我在Azure上的VNET中部署了一个专用AKS集群。一旦我部署了它,默认情况下就会创建一个私有端点和一个私有DNS区域,从而使集群可以从VM访问,VM是同一VNET的一部分。(我有一个VM部署在与AKS集群相同的VNET中,"kubectl“命令在其中工作。)
我的要求是,我想执行"kubectl“命令从我的本地机器(连接到我的家庭网络),也连接到VPN连接到VNET。
我的机器可以与VNET中的资源对话,但似乎无法解析私有集群的FQDN。
我在某个地方读到,在同一个VNET中设置DNS转发器可以帮助解析从本地机器生成的DNS查询,然后可以由Azure DNS解析。这就是解决这个问题的方法吗?还是有更好的方法来解决这个问题?
如果有人能给我一个行动计划来解决这个问题,那将是很有帮助的。
发布于 2021-05-03 08:22:28
从本地计算机执行"kubectl“命令到私有AKS集群的更好方法是使用AKS运行指挥部(预览)。此特性允许您通过AKS API远程调用AKS集群中的命令。该特性提供了一个API,例如,它允许您从远程膝上型计算机为专用集群执行即时命令。在使用它之前,您需要在订阅上启用RunCommandPreview
特性标志,并在本地安装aks-preview
扩展。但是, AAD不能在具有AAD和启用私有链接的的集群上工作,这有一个限制。
在这种情况下,如果您想从您的内部网络解析私有集群的FQDN,您可以选择在本地使用主机文件(用于测试)或使用您的DNS转发器来覆盖私有链路资源(如这 )的DNS解析。
DNS转发器将负责通过服务器级转发器向Azure提供的DNS 168.63.129.16
.You提供DNS角色的IaaS Windows或配置为DNS转发器的Linux。此模板展示了如何创建一个DNS服务器,将查询转发到Azure的Linux内部DNS服务器。请参阅Windows上的DNS转发器这。
如果在您的内部网络中有一个内部DNS服务器.本地DNS解决方案需要通过公共DNS区域(例如{region}.azmk8s.io
)的条件转发器将DNS流量转发到Azure DNS。条件转发器引用部署在Azure中的DNS转发器。有关DNS配置部分的详细信息,您可以阅读这个博客。
https://stackoverflow.com/questions/67338151
复制相似问题