I am trying to update my Azure Kubernetes Service (AKS) cluster with the following command:
az aks upgrade \
--resource-group myResourceGroup \
--name myAKSCluster \
--kubernetes-version KUBERNETES_VERSION
This results in the following response:
(AuthorizationFailed) The client '>email<' with object id '>object id<' does not have authorization to perform action 'Microsoft.ContainerService/managedClusters/write' over scope '/subscriptions/>id</resourceGroups/>resourcegroup-name</providers/Microsoft.ContainerService/managedClusters/>cluster-name<' or the scope is invalid. If access was recently granted, please refresh your credentials. Code: AuthorizationFailed
When I go to resourcegroup/Access Control(IAM), I find these roles assigned to me when I click on "view my access"
These are:
Azure Kubernetes Service Cluster Admin Role
List cluster admin credential action.
--
Azure Kubernetes Service RBAC Cluster Admin
Lets you manage all resources in the cluster.
--
Reader
View all resources, but does not allow you to make any changes.
--
Storage Account Contributor
Lets you manage storage accounts, including accessing storage account keys which prov...
I would expect that having the role "Azure Kubernetes Service RBAC Cluster Admin" that says: "Lets you manage all resources in the cluster." would authorize me to upgrade the cluster to a new version.
I run into the same problem when trying to create a static IP-adress via the Microsoft documentation
Created Kubernetes cluster with 1.24 version when I run the same command got the same error:
az aks upgrade \
--resource-group myResourceGroup \
--name myAKSCluster \
--kubernetes-version KUBERNETES_VERSION
To resolve this issue, make sure to add Contributor
role to the user in subscription level.
Now when I run the below command got result successfully:
az aks upgrade --resource-group <RGName> --name <myAKSCluster> --kubernetes-version 1.25
agentPoolProfiles": [
{
"availabilityZones": [
"1",
"2",
"3"
],
"count": 1,
"creationData": null,
"currentOrchestratorVersion": "1.25.6",
"enableAutoScaling": true,
"enableEncryptionAtHost": null,
"enableFips": false,
"enableNodePublicIp": false,
"enableUltraSsd": null,
"gpuInstanceProfile": null,
"hostGroupId": null,
"kubeletConfig": null,
"kubeletDiskType": "OS",
"linuxOsConfig": null,
In portal: