Partager via


Tutoriel : Se connecter à un compte Stockage Azure dans Azure Kubernetes Service (AKS) avec le Connecteur de services à l’aide de l’identité de charge de travail

Découvrez comment créer un pod dans un cluster AKS, qui communique avec un compte Stockage Azure avec une identité de charge de travail à l’aide du Connecteur de services. Dans ce tutoriel, vous allez effectuer les tâches suivantes :

  • Créer un cluster AKS et un compte Stockage Azure.
  • Créer une connexion entre le cluster AKS et le compte Stockage Azure avec le Connecteur de services.
  • Cloner un exemple d’application qui communiquera avec le compte Stockage Azure à partir d’un cluster AKS.
  • Déployer l’application sur un pod dans un cluster AKS et tester la connexion.
  • Supprimer des ressources.

Important

Service Connect (Connexion de service) au sein d’AKS est actuellement en préversion. Pour connaître les conditions juridiques qui s’appliquent aux fonctionnalités Azure en version bêta, en préversion ou plus généralement non encore en disponibilité générale, consultez l’Avenant aux conditions d’utilisation des préversions de Microsoft Azure.

Prérequis

Créer des ressources Azure

  1. Créez un groupe de ressources pour ce tutoriel.

    az group create \
        --name MyResourceGroup \
        --location eastus
    
  2. Créez un cluster AKS avec la commande suivante ou en suivant les instructions de ce tutoriel. Nous créons la connexion de service et la définition de pod, et nous déployons l’exemple d’application sur ce cluster.

    az aks create \
        --resource-group MyResourceGroup \
        --name MyAKSCluster \
        --enable-managed-identity \
        --node-count 1
    
  3. Connectez-vous au cluster avec la commande suivante.

    az aks get-credentials \
        --resource-group MyResourceGroup \
        --name MyAKSCluster
    
  4. Créez un compte Stockage Azure avec la commande suivante ou en suivant les instructions de ce tutoriel. Il s’agit du service cible qui est connecté au cluster AKS et avec lequel l’exemple d’application interagit.

    az storage account create \
        --resource-group MyResourceGroup \
        --name MyStorageAccount \
        --location eastus \
        --sku Standard_LRS
    
  5. Créez un registre de conteneurs Azure avec la commande suivante ou en suivant les instructions de ce tutoriel. Le Registre héberge l’image conteneur de l’exemple d’application, qui sera consommée par la définition de pod AKS.

    az acr create \
        --resource-group MyResourceGroup \
        --name MyRegistry \
        --sku Standard
    

    Et activez l’extraction anonyme afin que le cluster AKS puisse consommer les images dans le Registre.

    az acr update \
        --resource-group MyResourceGroup \
        --name MyRegistry \
        --anonymous-pull-enabled
    
  6. Créez une identité managée affectée par l’utilisateur avec la commande suivante, ou en suivant les instructions de ce tutoriel. L’identité managée affectée par l’utilisateur est utilisée lors de la création de la connexion de service afin d’activer l’identité de charge de travail pour les charges de travail AKS.

    az identity create \
        --resource-group MyResourceGroup \
        --name MyIdentity
    

Créer une connexion de service avec Service Connector (préversion)

Créez une connexion de service entre un cluster AKS et un compte Stockage Azure à l’aide du portail Azure ou d’Azure CLI.

  1. Ouvrez votre service Kubernetes dans le portail Azure et sélectionnez Connecteur de services dans le menu de gauche.

  2. Sélectionnez Créer et renseignez les paramètres comme indiqué ci-dessous. Conservez les valeurs par défaut des autres paramètres.

    Onglet Informations de base :

    Setting Option Description
    Espace de noms Kubernetes default L’espace de noms où vous avez besoin de la connexion dans le cluster.
    Type de service Stockage – Blob Type de service cible.
    Nom de connexion storage_conn Utilisez le nom de la connexion fourni par le connecteur de services ou choisissez votre propre nom de connexion.
    Abonnement <MySubscription> Abonnement pour votre service cible Stockage Blob Azure.
    Compte de stockage <MyStorageAccount> Compte de stockage cible auquel vous souhaitez vous connecter.
    Type de client Python Langage de code ou infrastructure que vous utilisez pour vous connecter au service cible.

    Onglet Authentification :

    Paramètre d’authentification Option Description
    Type d’authentification Identité de charge de travail Type d’authentification du Connecteur de services.
    Identité managée affectée par l’utilisateur <MyIdentity> Une identité managée affectée par l’utilisateur est nécessaire pour activer l’identité de charge de travail.
  3. Une fois la connexion créée, la page Connecteur de services affiche des informations sur la nouvelle connexion. Capture d’écran du portail Azure, affichant des ressources Kubernetes créées par le Connecteur de services.

Cloner un exemple d’application

  1. Clonez l’exemple de dépôt :

    git clone https://github.com/Azure-Samples/serviceconnector-aks-samples.git
    
  2. Accédez au dossier de l’exemple du dépôt pour Stockage Azure :

    cd serviceconnector-aks-samples/azure-storage-workload-identity
    

Générer et envoyer (push) des images conteneur

  1. Générez et envoyez (push) les images vers votre registre de conteneurs à l’aide de la commande Azure CLI az acr build.

    az acr build --registry <MyRegistry> --image sc-demo-storage-identity:latest ./
    
  2. Affichez les images dans votre registre de conteneurs à l’aide de la commande az acr repository list.

    az acr repository list --name <MyRegistry> --output table
    

Exécuter l’application et tester la connexion

  1. Remplacez les espaces réservés dans le fichier pod.yaml du dossier azure-storage-identity.

    • Remplacez <YourContainerImage> par le nom de l’image que nous avons créée à la dernière étape, par exemple, <MyRegistry>.azurecr.io/sc-demo-storage-identity:latest.
    • Remplacez <ServiceAccountCreatedByServiceConnector> par le compte de service créé par le Connecteur de services après la création de la connexion. Vous pouvez vérifier le nom du compte de service dans le portail Azure du Connecteur de services.
    • Remplacez <SecretCreatedByServiceConnector> par le secret créé par le Connecteur de services après la création de la connexion. Vous pouvez vérifier le nom du secret dans le portail Azure du Connecteur de services.
  2. Déployez le pod sur votre cluster avec la commande kubectl apply. S’il n’est pas installé, installez kubectl localement à l’aide de la commande az aks install-cli. La commande crée un pod nommé sc-demo-storage-identity dans l’espace de noms par défaut de votre cluster AKS.

    kubectl apply -f pod.yaml
    
  3. Vérifiez que le déploiement réussit en consultant le pod avec kubectl.

    kubectl get pod/sc-demo-storage-identity.
    
  4. Vérifiez que la connexion est établie en affichant les journaux avec kubectl.

    kubectl logs pod/sc-demo-storage-identity
    

Nettoyer les ressources

Si vous n’avez pas besoin de réutiliser les ressources que vous avez créées dans ce tutoriel, supprimez toutes les ressources que vous avez créées en supprimant votre groupe de ressources.

az group delete \
    --resource-group MyResourceGroup

Étapes suivantes

Lisez les articles suivants pour en savoir plus sur les concepts du Connecteur de services et sur la façon dont il aide AKS à se connecter aux services.