Hello,
Il y a quelques mois j’avais pu écrire un article le sujet des managed identity pour un cluster AKS. Je vous invite à consulter cette article si vous souhaitez avoir plus de détails AKS Cluster Managed Identity
Depuis le début du mois de Mars, cette fonctionnalité est désormais disponible en General Availability, c’est à dire que vous pouvez utiliser cette fonctionnalité avec vos clusters de productions.
Dans cet article, je vous propose de déployer un cluster AKS avec cette fonctionnalités.
# Create an Azure resource group az group create --name aksdemomsi --location canadacentral # Create an AKS cluster with managed-identity az aks create -g aksdemomsi -n aksmsi --enable-managed-identity
Si nous connectons sur un des nodes de notre cluster, nous pouvons constater que le service principal qui était « hard-coded » dans le fichier /etc/kubernetes/azure.json n’est plus présent.
root@aks-nodepool1-83146928-vmss000001:/host/etc/kubernetes# cat azure.json { "cloud":"AzurePublicCloud", "tenantId": "00000000-0000-0000-0000-000000000000", "subscriptionId": "00000000-0000-0000-0000-000000000000", "aadClientId": "msi", "aadClientSecret": "msi", "resourceGroup": "MC_aksdemomsi_aksmsi_canadacentral", "location": "canadacentral", "vmType": "vmss", "subnetName": "aks-subnet", "securityGroupName": "aks-agentpool-83146928-nsg", "vnetName": "aks-vnet-83146928", "vnetResourceGroup": "", "routeTableName": "aks-agentpool-83146928-routetable", "primaryAvailabilitySetName": "", "primaryScaleSetName": "aks-nodepool1-83146928-vmss", "cloudProviderBackoffMode": "v2", "cloudProviderBackoff": true, "cloudProviderBackoffRetries": 6, "cloudProviderBackoffDuration": 5, "cloudProviderRatelimit": true, "cloudProviderRateLimitQPS": 10, "cloudProviderRateLimitBucket": 100, "cloudProviderRatelimitQPSWrite": 10, "cloudProviderRatelimitBucketWrite": 100, "useManagedIdentityExtension": true, "userAssignedIdentityID": "9a9eb45f-5464-433d-ba76-ba5f9922fe2d", "useInstanceMetadata": true, "loadBalancerSku": "Standard", "disableOutboundSNAT": false, "excludeMasterFromStandardLB": true, "providerVaultName": "", "maximumLoadBalancerRuleCount": 250, "providerKeyName": "k8s", "providerKeyVersion": "" }
On peut également constater la présence d’un nouvel objet Managed Identity dans notre ressource group:
Maxime.