Compartir a través de


Tutorial: conexión a la cuenta de almacenamiento de Azure en Azure Kubernetes Service (AKS) con Service Connector mediante la identidad de carga de trabajo

Aprenda a crear un pod en un clúster de AKS, que se comunica con una cuenta de almacenamiento de Azure mediante la identidad de carga de trabajo con la ayuda de Service Connector. En este tutorial, va a completar las siguientes tareas:

  • Cree un clúster de AKS y una cuenta de almacenamiento de Azure.
  • Cree una conexión entre el clúster de AKS y la cuenta de almacenamiento de Azure con Service Connector.
  • Clone una aplicación de ejemplo que hablará con la cuenta de almacenamiento de Azure desde un clúster de AKS.
  • Implemente la aplicación en un pod en el clúster de AKS y pruebe la conexión.
  • Limpieza de recursos.

Importante

Service Connect en AKS se encuentra actualmente en versión preliminar. Consulte Términos de uso complementarios para las versiones preliminares de Microsoft Azure para conocer los términos legales que se aplican a las características de Azure que se encuentran en la versión beta, en versión preliminar o que todavía no se han publicado para que estén disponibles con carácter general.

Requisitos previos

Creación de recursos de Azure

  1. Cree un grupo de recursos para este tutorial.

    az group create \
        --name MyResourceGroup \
        --location eastus
    
  2. Cree un clúster de AKS con el comando siguiente o haga referencia al tutorial. Creamos la conexión de servicio y la definición de pod e implementamos la aplicación de ejemplo en este clúster.

    az aks create \
        --resource-group MyResourceGroup \
        --name MyAKSCluster \
        --enable-managed-identity \
        --node-count 1
    
  3. Conéctese al clúster con el comando siguiente.

    az aks get-credentials \
        --resource-group MyResourceGroup \
        --name MyAKSCluster
    
  4. Cree una cuenta de almacenamiento de Azure con el comando siguiente o consulte el tutorial. Es el servicio de destino que está conectado al clúster de AKS y con el que interactúa la aplicación de ejemplo.

    az storage account create \
        --resource-group MyResourceGroup \
        --name MyStorageAccount \
        --location eastus \
        --sku Standard_LRS
    
  5. Cree un registro de contenedor de Azure con el comando siguiente o consulte el tutorial. El registro hospeda la imagen de contenedor de la aplicación de ejemplo, que consumirá la definición del pod de AKS.

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

    Y habilite la extracción anónima para que el clúster de AKS pueda consumir las imágenes en el registro.

    az acr update \
        --resource-group MyResourceGroup \
        --name MyRegistry \
        --anonymous-pull-enabled
    
  6. Cree una identidad administrada asignada por el usuario con el comando siguiente o consulte el tutorial. La identidad administrada asignada por el usuario se usa en la creación de conexiones de servicio para habilitar la identidad de carga de trabajo para las cargas de trabajo de AKS.

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

Creación de una conexión de servicio con Service Connector (versión preliminar)

Cree una conexión de servicio entre un clúster de AKS y una cuenta de almacenamiento de Azure mediante Azure Portal o la CLI de Azure.

  1. Abra el servicio Kubernetes en Azure Portal y seleccioneConector de servicio en el menú de la izquierda.

  2. Seleccione Crear y rellene la configuración como se muestra a continuación. Deje las otras opciones de configuración con sus valores predeterminados.

    Pestaña Aspectos básicos:

    Configuración Opción Descripción
    Espacio de nombres de Kubernetes default Espacio de nombres donde necesita la conexión en el clúster.
    Tipo de servicio. Storage - Blob El tipo de servicio de destino.
    Nombre de la conexión storage_conn Use el nombre de conexión proporcionado por Service Connector o elija su propio nombre de conexión.
    Suscripción <MySubscription> La suscripción del servicio de destino de Azure Blob Storage.
    Cuenta de almacenamiento <MyStorageAccount> La cuenta de almacenamiento de destino a la que desea conectarse.
    Tipo de cliente Python Marco o lenguaje de código que se usa para conectarse al servicio de destino.

    Pestaña Autenticación:

    Configuración de autenticación Opción Descripción
    Tipo de autenticación Identidad de carga de trabajo Tipo de autenticación de Service Connector.
    Identidad administrada asignada por el usuario <MyIdentity> Se necesita una identidad administrada asignada por el usuario para habilitar la identidad de carga de trabajo.
  3. Una vez creada la conexión, la página Service Connector muestra información sobre la nueva conexión. Captura de pantalla de Azure Portal para ver los recursos de Kubernetes creados por Service Connector.

Clonación de una aplicación de ejemplo

  1. Clone el repositorio de ejemplo:

    git clone https://github.com/Azure-Samples/serviceconnector-aks-samples.git
    
  2. Vaya a la carpeta de ejemplo del repositorio del almacenamiento de Azure:

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

Compilación e inserción de la imagen de contenedor

  1. Compile e inserte las imágenes en el registro de contenedor mediante el comando az acr build de la CLI de Azure.

    az acr build --registry <MyRegistry> --image sc-demo-storage-identity:latest ./
    
  2. Vea las imágenes del registro de contenedor mediante el comando az acr repository list.

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

Ejecución de la aplicación y prueba de la conexión

  1. Reemplace los marcadores de posición del archivo pod.yaml de la carpeta azure-storage-identity.

    • Reemplace <YourContainerImage> por el nombre de la imagen que compilamos en el último paso (por ejemplo, <MyRegistry>.azurecr.io/sc-demo-storage-identity:latest).
    • Reemplace <ServiceAccountCreatedByServiceConnector> por la cuenta de servicio creada por Service Connector después de la creación de la conexión. Puede comprobar el nombre de la cuenta de servicio en Azure Portal de Service Connector.
    • Reemplace <SecretCreatedByServiceConnector> por el secreto creado por Service Connector después de la creación de la conexión. Puede comprobar el nombre del secreto en Azure Portal de Service Connector.
  2. Implemente el pod en el clúster con el comando kubectl apply. Instale kubectl localmente mediante el comando az aks install-cli si no está instalado. El comando crea un pod denominado sc-demo-storage-identity en el espacio de nombres predeterminado del clúster de AKS.

    kubectl apply -f pod.yaml
    
  3. Visualice el pod con kubectl para comprobar que la implementación se realiza correctamente.

    kubectl get pod/sc-demo-storage-identity.
    
  4. Compruebe que la conexión se establezca mediante la visualización de los registros con kubectl.

    kubectl logs pod/sc-demo-storage-identity
    

Limpieza de recursos

Si no necesita volver a usar los recursos que ha creado en este tutorial, elimínelos todos mediante la eliminación del grupo de recursos.

az group delete \
    --resource-group MyResourceGroup

Pasos siguientes

Lea los artículos siguientes para obtener más información sobre los conceptos de Service Connector y cómo ayuda a AKS a conectarse a los servicios.