Condividi tramite


Esercitazione: Connettersi all'account di archiviazione di Azure nel Servizio Azure Kubernetes (AKS) con Connettore di servizi usando l'identità del carico di lavoro

Informazioni su come creare un pod in un cluster del servizio Azure Kubernetes, che comunica con un account di archiviazione di Azure usando l'identità del carico di lavoro con l'aiuto di Connettore di servizi. In questa esercitazione si completano le attività seguenti:

  • Creare un cluster del servizio Azure Kubernetes e un account di archiviazione di Azure.
  • Creare una connessione tra il cluster del servizio Azure Kubernetes e l'account di archiviazione di Azure con Connettore di servizi.
  • Clonare un'applicazione di esempio che comunicherà all'account di archiviazione di Azure da un cluster del servizio Azure Kubernetes.
  • Distribuire l'applicazione in un pod nel cluster del servizio Azure Kubernetes e testare la connessione.
  • Pulire le risorse.

Importante

Il servizio Connect all'interno del servizio Azure Kubernetes è attualmente in anteprima. Vedere le condizioni per l'utilizzo supplementari per le anteprime di Microsoft Azure per termini legali aggiuntivi che si applicano a funzionalità di Azure in versione beta, in anteprima o in altro modo non ancora disponibili a livello generale.

Prerequisiti

Creare risorse Azure

  1. Creare un gruppo di risorse per questa esercitazione.

    az group create \
        --name MyResourceGroup \
        --location eastus
    
  2. Creare un cluster del servizio Azure Kubernetes con il comando seguente o fare riferimento all'esercitazione. Viene creata la connessione al servizio e la definizione del pod e viene distribuita l'applicazione di esempio in questo cluster.

    az aks create \
        --resource-group MyResourceGroup \
        --name MyAKSCluster \
        --enable-managed-identity \
        --node-count 1
    
  3. Connettersi al cluster con il comando seguente.

    az aks get-credentials \
        --resource-group MyResourceGroup \
        --name MyAKSCluster
    
  4. Creare un account di archiviazione di Azure con il comando seguente o fare riferimento all'esercitazione. Si tratta del servizio di destinazione connesso al cluster del servizio Azure Kubernetes e con cui interagisce l'applicazione di esempio.

    az storage account create \
        --resource-group MyResourceGroup \
        --name MyStorageAccount \
        --location eastus \
        --sku Standard_LRS
    
  5. Creare un Registro Azure Container con il comando seguente o fare riferimento all'esercitazione. Il Registro di sistema ospita l'immagine del contenitore dell'applicazione di esempio che sarà usata dalla definizione del pod del servizio Azure Kubernetes.

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

    Abilitare il pull anonimo in modo che il cluster del servizio Azure Kubernetes possa usare le immagini nel Registro di sistema.

    az acr update \
        --resource-group MyResourceGroup \
        --name MyRegistry \
        --anonymous-pull-enabled
    
  6. Creare un'identità gestita assegnata dall'utente con il seguente comando o facendo riferimento a questa esercitazione. L'identità gestita assegnata dall'utente viene usata nella creazione della connessione al servizio per abilitare l'identità del carico di lavoro per i carichi di lavoro del servizio Azure Kubernetes.

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

Creare una connessione al servizio con Connettore di servizi (anteprima)

Creare una connessione al servizio tra un cluster del servizio Azure Kubernetes e un account di archiviazione di Azure usando il portale di Azure o l'interfaccia della riga di comando di Azure.

  1. Aprire il Servizio Kubernetes nel portale di Azure e selezionare Connettore di servizi nel menu a sinistra.

  2. Selezionare Crea e compilare le impostazioni come illustrato di seguito. Per le altre impostazioni lasciare i valori predefiniti.

    Scheda Generale:

    Impostazione Scelta Descrizione
    Spazio dei nomi Kubernetes default Spazio dei nomi in cui è necessaria la connessione nel cluster.
    Tipo di servizio Archiviazione - BLOB Tipo di servizio di destinazione.
    Nome connessione storage_conn Usare il nome della connessione fornito dal connettore di servizi o selezionare il proprio nome di connessione.
    Abbonamento <MySubscription> Sottoscrizione per il servizio di destinazione di Archiviazione BLOB di Azure.
    Account di archiviazione <MyStorageAccount> Account di archiviazione di destinazione a cui si desidera connettersi.
    Tipo client Python Linguaggio di codice o framework usato per connettersi al servizio di destinazione.

    Scheda Authentication (Autenticazione):

    impostazione di autenticazione Scelta Descrizione
    Tipo di autenticazione Identità del carico di lavoro Tipo di autenticazione di connettore di servizi.
    Identità gestita assegnata dall'utente <MyIdentity> Per abilitare l'identità del carico di lavoro è necessaria un'identità gestita assegnata dall'utente.
  3. Dopo aver creato la connessione, nella pagina Connettore di servizi vengono visualizzate informazioni sulla nuova connessione. Screenshot del portale di Azure, visualizzazione delle risorse Kubernetes create da Connettore di servizi.

Clonare l'applicazione di esempio

  1. Clonare il repository di esempio:

    git clone https://github.com/Azure-Samples/serviceconnector-aks-samples.git
    
  2. Passare alla cartella di esempio del repository per Archiviazione di Azure:

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

Compilare ed eseguire il push dell'immagine del contenitore

  1. Compilare ed eseguire il push delle immagini nel Registro usando il comando az acr build dell'interfaccia della riga di comando di Azure.

    az acr build --registry <MyRegistry> --image sc-demo-storage-identity:latest ./
    
  2. Visualizzare le immagini nel registro contenitori usando il comando az acr repository list.

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

Eseguire l'applicazione e testare la connessione

  1. Sostituire i segnaposto nel file pod.yaml nella cartella azure-storage-identity.

    • Sostituire <YourContainerImage> con il nome dell'immagine compilato nell'ultimo passaggio, ad esempio <MyRegistry>.azurecr.io/sc-demo-storage-identity:latest.
    • Sostituire <ServiceAccountCreatedByServiceConnector> con l'account del servizio creato da connettore di servizi dopo la creazione della connessione. È possibile controllare il nome dell'account del servizio nel portale di Azure di Connettore di servizi.
    • Sostituire <SecretCreatedByServiceConnector> con il segreto creato da connettore di servizi dopo la creazione della connessione. È possibile controllare il nome del segreto nel portale di Azure del Connettore di servizi.
  2. Distribuire il pod nel cluster usando il comando kubectl apply. Per installare kubectl in locale, usare il comando az aks install-cli se non è installato. Il comando crea un pod denominato sc-demo-storage-identity nello spazio dei nomi predefinito del cluster del servizio Azure Kubernetes.

    kubectl apply -f pod.yaml
    
  3. Controllare che la distribuzione abbia avuto esito positivo visualizzando il pod con kubectl.

    kubectl get pod/sc-demo-storage-identity.
    
  4. Verificare che la connessione venga stabilita visualizzando i log con kubectl.

    kubectl logs pod/sc-demo-storage-identity
    

Pulire le risorse

Se non è necessario riutilizzare le risorse create in questa esercitazione, eliminare tutte le risorse create eliminando il gruppo di risorse.

az group delete \
    --resource-group MyResourceGroup

Passaggi successivi

Leggere gli articoli seguenti per altre informazioni sui concetti di connettore di servizi e su come consente al servizio Azure Kubernetes di connettersi ai servizi.