使用 Azure Resource Graph 列出属于特定 AKS 群集的所有命名空间

Listing all namespaces belonging to specific AKS clusters using Azure Resource Graph

提问人:vcb0127 提问时间:8/28/2023 更新时间:8/29/2023 访问量:135

问:

我的 Azure 中有 3 个 AKS 群集,我需要使用资源图查询列出属于每个特定 AKS 群集的所有命名空间。可能吗?如果是这样,您能否支持我编写此查询,因为我无法在网络上找到能够使用资源图检索此输出的方法。

任何反馈,帮助将不胜感激。

有好的一天。

Azure 命名空间 azure-aks azure-resource-graph

评论

0赞 Peter Bons 8/28/2023
作为 kubernetes 的一部分,AKS 知道某物中的命名空间。它不是 Azure 托管资源,因此无法使用资源图对其进行查询。同样,您也无法查询 SQL 数据库中有哪些表,因为它是 sql 的一部分,而不是 azure 资源。
0赞 Venkat V 8/28/2023
它无法通过 Azure Resource Graph 实现,但你可以使用 Log Analytics 工作区获取相同的信息。
0赞 vcb0127 8/28/2023
如何使用 Log Analytics 工作区获取它?从您的角度来看,是否有任何来源或进一步的指示来处理此任务?

答:

0赞 Venkat V 8/29/2023 #1

使用 Log Analytics 工作区列出属于特定 AKS 群集的所有命名空间。

要使用 列出属于每个特定集群的所有命名空间,请按照以下步骤操作。AKSLog Analytics workspace

  1. 创建一个Log Analytics workspace

enter image description here

  1. 按照以下步骤将集群链接到 。AKSLog Analytics workspace

转到 AKS 群集>诊断设置 > 添加诊断设置>保存

enter image description here

  1. 转到 ,选择日志,然后运行以下 KQL 查询Log Analytics workspace

enter image description here

评论

0赞 vcb0127 8/30/2023
谢谢!你让我度过了美好的一天。但是,还有一个问题涉及在此查询中包含所有 AKS 群集。如果我们希望拥有属于每个 3 个 AKS 群集的所有命名空间,我们应遵循相同的步骤,例如:1) 创建诊断设置,并将它们与现有的 Log Analytics 工作区集成。2) 然后在查询的第一行中,类似 -> |其中 ClusterName in ('firstClusterName', 'secondClusterName', 'thirdClusterName')
0赞 Venkat V 8/30/2023
是的,请按照相同的步骤操作。