[英]Azure-sdk-for-python AKS- How to get available latest version for Kubernetes on AKS
I'm trying to get available versions of Kubernetes on AKS via python.sdk and upgrade the AKS with the latest version afterwards.我正在尝试通过 python.sdk 在 AKS 上获取可用版本的 Kubernetes,然后使用最新版本升级 AKS。
Here is what I've tried considering this doc https://docs.microsoft.com/en-us/rest/api/aks/managed-clusters/get-upgrade-profile这是我在考虑此文档时尝试过的https://docs.microsoft.com/en-us/rest/api/aks/managed-clusters/get-upgrade-profile
for resource in list(resource_list):
if resource.type== "Microsoft.ContainerService/managedClusters":
print("ResourceName:", resource.name, "ResourceType:", resource.type)
containerservice_client = ContainerServiceClient(credential, sub.subscription_id)
get_aks = containerservice_client.managed_clusters.get(group.name, resource.name)
aks_get_upgrade = containerservice_client.managed_clusters.get_upgrade_profile(group.name, resource.name)
print("AKSGetUpdate", aks_get_upgrade)
However it doesn't return kubernetesVersion.但是它不会返回 kubernetesVersion。
I would appreciate if someone can help with this.如果有人可以提供帮助,我将不胜感激。
You can try using the below code , which I used to test in my environment:您可以尝试使用以下代码,我曾在我的环境中对其进行测试:
from azure.identity import AzureCliCredential
from azure.mgmt.resource import ResourceManagementClient
from azure.mgmt.containerservice import ContainerServiceClient
from azure.mgmt.containerservice.models import ManagedClusterPoolUpgradeProfileUpgradesItem
credential = AzureCliCredential()
subscription_id = "SUBID"
resource_group= 'RG'
resouce_client=ResourceManagementClient(credential,subscription_id)
container_client=ContainerServiceClient(credential,subscription_id)
resouce_list=resouce_client.resources.list_by_resource_group(resource_group)
for resource in list (resouce_list) :
if resource.type == 'Microsoft.ContainerService/managedClusters':
print("ResourceName:", resource.name, "ResourceType:", resource.type)
get_aks = container_client.managed_clusters.get(resource_group, resource.name)
aks_get_details = container_client.managed_clusters.get_upgrade_profile(resource_group, resource.name)
aks_get_upgrade = aks_get_details.control_plane_profile
upgrades = aks_get_upgrade.upgrades
print("AKS_current_controlPlane", aks_get_upgrade.kubernetes_version)
for i in upgrades:
print("AKSGetUpdate_upgrade_controlPlane", i.kubernetes_version,i.is_preview)
Output:输出:
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.