【问题标题】:Use Azure CLI to obtain Kubernetes Load Balancer's public IP使用 Azure CLI 获取 Kubernetes 负载均衡器的公网 IP
【发布时间】:2021-05-18 11:39:48
【问题描述】:

我在 Azure 上运行 Kubernetes,它使用负载均衡器。 Azure 已为此负载均衡器分配了一个公共 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:找不到资源组“[我的资源组名称]”下的资源“Microsoft.Network/publicIPAddresses/kubernetes”。更多详情请到https://aka.ms/ARMResourceNotFoundFix

是否有直接获取 AKS 负载均衡器的公共入站 IP 地址的方法?

【问题讨论】:

    标签: azure kubernetes kubernetes-ingress azure-aks azure-cli


    【解决方案1】:

    试试这个(假设你的 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)
    
    

    【讨论】:

      【解决方案2】:

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

      与 AKS 的负载均衡器关联的所有公共 IP 都是入站 IP,但出站 IP 除外。所有入站 IP 都是 AKS 中服务的公共 IP。这意味着如果您知道有多少服务具有负载均衡器类型,那么您将知道有多少公共入站 IP 与 AKS 的负载均衡器关联。

      根据这个认知,你只需要获取服务的公网IP地址,然后就可以通过Azure CLI获取这个公网IP的资源ID:

      az network public-ip list --query "[?ipAddress=='publicIPAddress'].id" -o tsv
      

      【讨论】:

      • 这会为我返回一个空的结果集。
      • @awj 你没有公网IP的服务?还是您使用服务的真实公共 IP 地址?
      猜你喜欢
      • 1970-01-01
      • 2020-02-20
      • 1970-01-01
      • 2016-05-16
      • 1970-01-01
      • 2021-01-27
      • 2020-06-02
      • 2020-01-30
      • 2018-03-18
      相关资源
      最近更新 更多