Share via


Tutorial: Conectar-se à conta de armazenamento do Azure no AKS (Serviço de Kubernetes do Azure) com o Conector de Serviço usando a identidade da carga de trabalho

Saiba como criar um pod em um cluster AKS, que se comunica com uma conta de armazenamento do Azure usando a identidade da carga de trabalho com a ajuda do Conector de Serviço. Neste tutorial, você completa as seguintes tarefas:

  • Crie um cluster do AKS e uma conta de armazenamento do Azure.
  • Crie uma conexão entre o cluster do AKS e a conta de armazenamento do Azure com o Conector de Serviço.
  • Clone um aplicativo de exemplo que se comunicará com a conta de armazenamento do Azure a partir de um cluster do AKS.
  • Implante o aplicativo em um pod no cluster do AKS e teste a conexão.
  • Limpe os recursos.

Importante

O Service Connect no AKS está atualmente em versão prévia. Veja os Termos de Uso Complementares para Versões Prévias do Microsoft Azure para obter termos legais que se aplicam aos recursos do Azure que estão em versão beta, versão prévia ou que, de outra forma, ainda não foram lançados em disponibilidade geral.

Pré-requisitos

Criar recursos do Azure

  1. Crie um grupo de recursos para este tutorial.

    az group create \
        --name MyResourceGroup \
        --location eastus
    
  2. Crie um cluster do AKS com o seguinte comando ou consulte o tutorial. Criamos a conexão de serviço, a definição de pod e implantamos o aplicativo de exemplo nesse cluster.

    az aks create \
        --resource-group MyResourceGroup \
        --name MyAKSCluster \
        --enable-managed-identity \
        --node-count 1
    
  3. Conecte-se ao cluster com o seguinte comando.

    az aks get-credentials \
        --resource-group MyResourceGroup \
        --name MyAKSCluster
    
  4. Crie uma conta de armazenamento do Azure com o seguinte comando ou consulte o tutorial. Esse é o serviço de destino que está conectado ao cluster do AKS e com o qual o aplicativo de exemplo interage.

    az storage account create \
        --resource-group MyResourceGroup \
        --name MyStorageAccount \
        --location eastus \
        --sku Standard_LRS
    
  5. Crie um registro de contêiner do Azure com o seguinte comando ou consulte o tutorial. O registro hospeda a imagem de contêiner do aplicativo de exemplo, que será consumida pela definição de pod do AKS.

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

    E habilite o pull anônimo para que o cluster do AKS possa consumir as imagens no registro.

    az acr update \
        --resource-group MyResourceGroup \
        --name MyRegistry \
        --anonymous-pull-enabled
    
  6. Crie uma identidade gerenciada atribuída pelo usuário com o seguinte comando ou consulte o tutorial. A identidade gerenciada atribuída pelo usuário é usada na criação da conexão de serviço para habilitar a identidade da carga de trabalho para cargas de trabalho do AKS.

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

Criar conexão de serviço com Service Connector (versão prévia)

Crie uma conexão de serviço entre um cluster do AKS e uma conta de armazenamento do Azure usando o portal do Azure ou a CLI do Azure.

  1. Abra o Serviço do Kubernetes no portal do Microsoft Azure e selecione Conector de Serviço no menu à esquerda.

  2. Selecione Criar e preencha as configurações conforme mostrado abaixo. Deixe as outras configurações com seus valores padrão.

    Guia Básico:

    Configuração Opção Descrição
    Namespace do Kubernetes padrão O namespace em que você precisa da conexão no cluster.
    Tipo de serviço Armazenamento – Blob O tipo de serviço de destino.
    Nome da conexão storage_conn Use o nome da conexão fornecido pelo Conector de Serviço ou escolha um nome de conexão próprio.
    Assinatura <MySubscription> A assinatura do serviço de destino do Armazenamento de Blobs do Azure.
    Conta de armazenamento <MyStorageAccount> A conta de armazenamento de destino à qual você deseja se conectar.
    Tipo de cliente Python A linguagem de código ou a estrutura que você usa para se conectar ao serviço de destino.

    Guia Autenticação:

    Configuração de Autenticação Opção Descrição
    Tipo de autenticação Identidade da Carga de Trabalho Tipo de autenticação do Conector de Serviço.
    Identidade gerenciada atribuída ao usuário <MyIdentity> Em seguida, selecione uma identidade gerenciada atribuída pelo usuário para habilitar a identidade da carga de trabalho.
  3. Depois que a conexão for criada, a página Conector de Serviço exibirá informações sobre a nova conexão. Captura de tela do portal do Azure exibindo recursos do Kubernetes criados pelo Conector de Serviço.

Clonar aplicativo de exemplo

  1. Clone o repositório de exemplo:

    git clone https://github.com/Azure-Samples/serviceconnector-aks-samples.git
    
  2. Vá para a pasta de exemplo do repositório para armazenamento do Azure:

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

Compilar e efetuar push da imagem do contêiner

  1. Compile e efetue push das imagens para o registro de contêiner usando o comando az acr build da CLI do Azure.

    az acr build --registry <MyRegistry> --image sc-demo-storage-identity:latest ./
    
  2. Exiba as imagens no registro do contêiner usando o comando az acr repository list.

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

Executar o aplicativo e testar a conexão

  1. Substitua os espaços reservados no arquivo pod.yaml da pasta azure-storage-identity.

    • Substitua <YourContainerImage> pelo nome da imagem que criamos na última etapa, por exemplo, <MyRegistry>.azurecr.io/sc-demo-storage-identity:latest.
    • Substitua <ServiceAccountCreatedByServiceConnector> pela conta de serviço criada pelo Conector de Serviço após a criação da conexão. Você pode verificar o nome da conta de serviço no portal do Azure do Conector de Serviço.
    • Substitua <SecretCreatedByServiceConnector> pelo segredo criado pelo Conector de Serviço após a criação da conexão. Você pode verificar o nome do segredo no portal do Azure do Conector de Serviço.
  2. Implante o pod em seu cluster com o comando kubectl apply. Instale kubectl localmente usando o comando az aks install-cli se ele não estiver instalado. O comando cria um pod chamado sc-demo-storage-identity no namespace padrão de seu cluster do AKS.

    kubectl apply -f pod.yaml
    
  3. Verifique se a implantação foi bem-sucedida exibindo o pod com kubectl.

    kubectl get pod/sc-demo-storage-identity.
    
  4. Verifique se a conexão foi estabelecida exibindo os logs com kubectl.

    kubectl logs pod/sc-demo-storage-identity
    

Limpar os recursos

Se você não precisar reutilizar os recursos que criou neste tutorial, exclua todos os recursos que criou excluindo seu grupo de recursos.

az group delete \
    --resource-group MyResourceGroup

Próximas etapas

Leia os artigos a seguir para saber mais sobre os conceitos do Conector de Serviço e como ele ajuda o AKS a se conectar aos serviços.