gpt4 book ai didi

azure - 使用 Azure CLI 获取 Kubernetes 负载均衡器的公共(public) IP

转载 作者:行者123 更新时间:2023-12-03 02:28:14 26 4
gpt4 key购买 nike

我在 Azure 上运行 Kubernetes,它使用负载均衡器。 Azure 已为此负载均衡器分配了一个公共(public) IP 地址,为了通过 Azure CLI 设置应用程序网关,我希望使用 Azure CLI 获取 k8s 负载均衡器的 IP 地址。

我可以使用...获取负载均衡器资源

az resource list --resource-group $k8sResourceGroup --query "[?type=='Microsoft.Network/loadBalancers']"

我从该响应中获取 id 并将其传递给...

az network lb show --id $loadBalancer.id --output json | convertfrom-json).frontendIpConfigurations

frontendIpConfigurations 数组包含两个对象:入站 IP 地址(资源)和出站 IP 地址(资源)。我像这样过滤入站 IP 资源...

az network lb show --id $loadBalancer.id --output json | convertfrom-json).frontendIpConfigurations | where-object { $null -ne $_.loadBalancingRules }).loadBalancingRules[0].id

然后,我得到了一些看起来很像 IP 地址资源 ID 的内容 - 它与我在 Azure 门户中看到的内容相匹配。但如果我随后请求资源本身,使用...

az network public-ip show --ids $loadBalancingRuleId --query "{fqdn: dnsSettings.fqdn, address: ipAddress}"

...我明白了...

ResourceNotFoundError: The Resource 'Microsoft.Network/publicIPAddresses/kubernetes' under resource group '[my resource group name]' was not found. For more details please go to https://aka.ms/ARMResourceNotFoundFix

是否有获取 AKS 负载均衡器的公共(public)入站 IP 地址的简单方法?

最佳答案

试试这个(假设你的LB只有一个入站IP地址。否则$pipId是一个数组)

$pipId = $(az network lb show --id $loadBalancer.id --query "frontendIpConfigurations | [?loadBalancingRules != null].publicIpAddress.id" -o tsv)

$ip = (az network public-ip show --ids $pipId --query "ipAddress" -o tsv)

关于azure - 使用 Azure CLI 获取 Kubernetes 负载均衡器的公共(public) IP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66210506/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com