【问题标题】:Get all available Kubernetes versions in a given Azure region using .NET SDK使用 .NET SDK 获取给定 Azure 区域中的所有可用 Kubernetes 版本
【发布时间】:2020-10-23 01:55:49
【问题描述】:

我正在寻找一种使用 .NET SDK 在给定 Azure 区域中获取可用 Kubernetes 版本的编程方式。类似于以下 Azure CLI 命令的内容:

az aks get-versions --location eastus --output table

我目前正在使用Microsoft.Azure.Management.ContainerService.Fluent.ContainerServiceManagementClient 类来创建集群并获取现有集群的详细信息。但这似乎并没有公开任何在一个区域中获取可用 Kubernetes 版本的方法。

【问题讨论】:

    标签: azure kubernetes .net-core azure-aks


    【解决方案1】:

    您可以使用REST API

    public static async Task<string> GetAksVersions(string token, string subscriptionId, string location)
        {
            var aksVersionsUri = $"https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.ContainerService/locations/{location}/orchestrators?api-version=2017-09-30&resource-type=managedClusters";
            var json = await ExecuteGetOnAzureApi(aksVersionsUri, token);
            return json;
        }
    

    【讨论】:

    • 感谢您的建议,@sajeetharan。我最终为此使用了Microsoft.Azure.Management.Fluent 包。
    【解决方案2】:

    我最终使用了Microsoft.Azure.Management.Fluent 包及其IAzure 接口。代码如下所示:

    var azure = Azure
        .Configure()
        .Authenticate(azureCredentials)
        .WithSubscription(subscriptionId);
    
    var kubernetesVersions = await azure
        .KubernetesClusters
        .ListKubernetesVersionsAsync(region, cancellationToken);
    

    这个调用的特点是它返回的结果比az aks get-versions 多得多。所以我必须找到我正在寻找的特定 Kubernetes 版本 (1.16.x) 的最新补丁版本。但这无论如何都是必要的。

    【讨论】:

      猜你喜欢
      • 2018-10-14
      • 1970-01-01
      • 2020-04-20
      • 1970-01-01
      • 1970-01-01
      • 2022-01-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多