Hi Folks! I am getting this error when trying to c...
# kubernetes
v
Hi Folks! I am getting this error when trying to create an azure aks cluster with pulumi
Copy code
+  azure-native:containerservice:ManagedCluster devprivaks creating error: '
 'cannot check existence of resource '
 "'/subscriptions/*******/resourceGroups/******/providers/Microsoft.ContainerService/managedClusters/*****': "
 'status code 400, '
 '{"error":{"code":"InvalidApiVersionParameter","message":"The api-version '
 "'2021-03-01' is invalid. The supported versions are "
 '\'2022-09-01,2022-06-01,2022-05-01,2022-03-01-preview,2022-01-01,2021-04-01,2021-01-01,2020-10-01,2020-09-01,2020-08-01,2020-07-01,2020-06-01,2020-05-01,2020-01-01,2019-11-01,2019-10-01,2019-09-01,2019-08-01,2019-07-01,2019-06-01,2019-05-10,2019-05-01,2019-03-01,2018-11-01,2018-09-01,2018-08-01,2018-07-01,2018-06-01,2018-05-01,2018-02-01,2018-01-01,2017-12-01,2017-08-01,2017-06-01,2017-05-10,2017-05-01,2017-03-01,2016-09-01,2016-07-01,2016-06-01,2016-02-01,2015-11-01,2015-01-01,2014-04-01-preview,2014-04-01,2014-01-01,2013-03-01,2014-02-26,2014-04\'."}}\n'
I just updated to this version of kubernetes: pulumi-kubernetes==3.21.4
pulumi version v3.42.0
s
Are you able to share your code? I recently wrote some templates to assist with creating an AKS cluster so this is fresh in my memory. Happy to help if I’m able.
v
sure.
Thanks!
Copy code
private_aks = containerservice.ManagedCluster(
    f"{stack_name}kube",
    opts=ResourceOptions(depends_on=[user_assigned_identity, resource_group]),
    auto_scaler_profile=containerservice.ManagedClusterPropertiesAutoScalerProfileArgs(
        balance_similar_node_groups="true",
    ),
    addon_profiles={
        "azureKeyvaultSecretsProvider": containerservice.ManagedClusterAddonProfileArgs(
            enabled=True,
        ),
        "azurepolicy": containerservice.ManagedClusterAddonProfileArgs(
            enabled=False,
        ),
        "httpApplicationRouting": containerservice.ManagedClusterAddonProfileArgs(
            enabled=False,
        ),
    },
    agent_pool_profiles=[
        containerservice.ManagedClusterAgentPoolProfileArgs(
            availability_zones=[
                "1",
                "2",
            ],
            count=2,
            enable_auto_scaling=False,
            enable_fips=False,
            enable_node_public_ip=False,
            kubelet_disk_type="OS",
            max_pods=110,
            mode="System",
            name="initial",
            orchestrator_version="1.22.6",
            os_disk_size_gb=150,
            os_disk_type="Managed",
            os_sku="Ubuntu",
            os_type=containerservice.OSType.LINUX,
            type="VirtualMachineScaleSets",
            vm_size="Standard_DS4_v3",
            vnet_subnet_id=f"/subscriptions/{subscription_id}/resourceGroups/{stack_name}-infra-westus2/providers/Microsoft.Network/virtualNetworks/{stack_name}-vn-westus2/subnets/{stack_name}-subnet-westus2-1",
        )],
    api_server_access_profile=containerservice.ManagedClusterAPIServerAccessProfileArgs(
        enable_private_cluster=True,
        private_dns_zone="system",
    ),
    disable_local_accounts=False,
    dns_prefix=f"{stack_name}-dns",
    enable_rbac=True,
    identity=containerservice.ManagedClusterIdentityArgs(
        type="UserAssigned",
        user_assigned_identities={
            f"/subscriptions/{subscription_id}/resourceGroups/{stack_name}-kube/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{stack_name}-kube-identity": {}
        },
    ),
    kubernetes_version="1.22.6",
    location="westus2",
    network_profile=containerservice.ContainerServiceNetworkProfileArgs(
        dns_service_ip="10.0.0.10",
        docker_bridge_cidr="172.17.0.1/16",
        load_balancer_sku="Standard",
        network_plugin="azure",
        outbound_type="loadBalancer",
        service_cidr="10.0.0.0/16",
    ),
    private_link_resources=[
        containerservice.PrivateLinkResourceArgs(
            group_id="management",
            id=f"/subscriptions/{subscription_id}/resourcegroups/{stack_name}-kube/providers/Microsoft.ContainerService/managedClusters/{stack_name}kube/privateLinkResources/management",
            name="management",
            required_members=["management"],
            type="Microsoft.ContainerService/managedClusters/privateLinkResources",
        )],
    resource_group_name=resource_group,
    resource_name_=f"{stack_name}kube",
    service_principal_profile=containerservice.ManagedClusterServicePrincipalProfileArgs(
        client_id=app.application_id,
        secret=sppwd.value
    ),
    sku=containerservice.ManagedClusterSKUArgs(
        name="Basic",
        tier="Paid",
    ),
    linux_profile={
        "admin_username": "*****",
        "ssh": {
            "public_keys": [{
                "key_data": ssh_public_key.public_key
            }]
        }
    }
)
Really strange that it is complaining about api version. looks like pulumi managed cluster is written for 2021-03-01
s
Is this using the Azure Classic or the Azure Native provider? NVM, I see Azure Native in the screenshot. What version of the provider are you using? You can get this from
pulumi plugin ls
.
v
native.
Copy code
NAME                      KIND      VERSION                          SIZE    INSTALLED       LAST USED
azure                     resource  4.4.0                            229 MB  1 year ago      1 year ago
azure-native              resource  1.28.0                           43 MB   1 year ago      11 months ago
azure-native              resource  1.16.0                           42 MB   1 year ago      11 months ago
azure-native              resource  1.14.0                           41 MB   1 year ago      1 year ago
azure-native              resource  1.9.0                            41 MB   1 year ago      1 year ago
azure-native              resource  1.8.0                            41 MB   1 year ago      1 year ago
azure-native              resource  1.7.0                            41 MB   1 year ago      1 year ago
azure-native              resource  1.5.0                            
kubernetes                resource  3.21.4                           83 MB   24 minutes ago  23 minutes ago
kubernetes                resource  3.16.0                           77 MB   7 months ago    7 months ago
kubernetes                resource  3.5.0                            66 MB   1 year ago      1 year ago
kubernetes                resource  0.17.6-dev.1543269671+g87ec44e   43 MB   7 months ago    2 months ago
kubernetes-ingress-nginx  resource  0.0.6                            67 MB   3 months ago    3 months ago
kubernetes-ingress-nginx  resource  0.0.5                            67 MB   4 months ago    4 months ago
rabbitmq                  resource  3.2.0                            40 MB   2 months ago    2 months ago
rabbitmq                  resource  3.1.0-alpha.1619000879+f870269a  37 MB   1 year ago      1 year ago
rabbitmq                  resource  3.0.0                            37 MB   1 year ago      1 year ago
rabbitmq                  resource  0.0.1-alpha.1575637991+g14ce5fd  37 MB   1 year ago      11 months ago
I just updated pulumi azure native pip package as well with no luck.
it seems as if auzre's aks endpoint is not accepting api calls with this version?
Copy code
'2021-03-01'
any ideas?
Figured it out.
Copy code
resource_group_name=resource_group,
That is the object resource group.
This should be resource_group_name=resource_group.name
ugh.
lol.
Copy code
resource_group = azure.core.ResourceGroup(
    f"{stack_name}-aks",
    name=f"{stack_name}-aks",
    location=global_config.REGION)
Copy code
id=f"/subscriptions/{subscription_id}/resourcegroups/{stack_name}-kube/providers/Microsoft.ContainerService/managedClusters/{stack_name}kube/privateLinkResources/management",
            name="management",
            required_members=["management"],
            type="Microsoft.ContainerService/managedClusters/privateLinkResources",
        )],
    resource_group_name=resource_group,
so resource_group_name=resource_group needed to be resource_group_name=resource_group.name
pulumi converted the object to a string and when looking for existing aks cluster
Copy code
'/subscriptions/**************/resourceGroups/%2Fsubscriptions%2F**************%2FresourceGroups%2Fdev-kube/providers/Microsoft.ContainerService/managedClusters/devkube'
Thanks folks!
s
Glad you figured it out! (Sorry I wasn’t more helpful along the way.)