azure - 从脚本获取 AKS 节点资源组中的 Azure 资源

标签 azure azure-resource-manager azure-aks azure-powershell azure-cli

部署 AKS 群集时,您将获得 AKS 群集资源本身以及由单独资源组中的 AKS 控制的一堆单独资源。 我需要获取创建的 VNET AKS 的名称,以便将其与应用程序网关的网络对等。 但是,用于获取有关此资源组中的资源的任何信息的所有 Azure PowerShell 或 Azure CLI 命令都会产生空结果。 我什至无法获取此资源组中的资源列表。

我尝试了以下命令

az resource list
Get-AzResource
az network vnet list

但是它们都没有产生任何输出。

这也是this tutorial的原因虚拟网络的对等互连失败。

知道为什么会发生这种情况以及如何获取此 VNET 的名称吗?

更新:虽然我可以在部署后立即在门户中看到该资源组,但通过脚本可用大约一个小时。是否有任何技巧可以在部署后立即访问这些资源,以便我可以根据这些资源的可用性自动执行后续步骤?

最佳答案

nodeResourceGroup=$(az aks show -g AKS_RG -n AKS_NAME -o tsv --query nodeResourceGroup)
az network vnet list -g $nodeResourceGroup -o tsv --query "[0].name"

您还可以预先自行创建 VNET 和子网,然后将 AKS 放置在该网络中。

在我看来,这是更好的解决方案,而不是让 Azure 管理所有这些资源,并且这样做的好处是您可以更灵活地进行对等互连等。

我还建议使用 Terraform 或 Bicep 等 IaC 工具来实现此目的。

关于azure - 从脚本获取 AKS 节点资源组中的 Azure 资源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71674322/

相关文章:

kubernetes - Terraform Kubernetes Provider - 无法加载 Kubernetes 客户端配置

azure - 如何使用 helm 图表中的文件将 azure key Vault secret 传递到 kubernetes pod

azure - 如何在现有 AKS 群集上启用 Calico 网络策略

python - Ansible - ip_configurations 必须由列表组成,而不是 'list'

javascript - 是否可以创建 Microsoft Azure 函数来监听为特定主题创建的订阅?

Azure 资源组访问

java - Azure根据请求id获取操作状态java sdk

Azure ARM 为我们提供了任何检查更改的方法

python - Azure 发音评估 SDK 与 api 调用相比返回错误结果

c# - 如何设置 DependencyTelemetry 的 Application Insights AuthenticatedUserId?