Tutorial: Conectar-se à conta de armazenamento do Azure no Serviço Kubernetes do Azure (AKS) com o Service Connector usando a identidade da carga de trabalho
Saiba como criar um pod em um cluster AKS, que conversa com uma conta de armazenamento do Azure usando a identidade da carga de trabalho com a ajuda do Service Connector. Neste tutorial, vai concluir as seguintes tarefas:
- Crie um cluster AKS e uma conta de armazenamento do Azure.
- Crie uma conexão entre o cluster AKS e a conta de armazenamento do Azure com o Service Connector.
- Clone um aplicativo de exemplo que conversará com a conta de armazenamento do Azure a partir de um cluster AKS.
- Implante o aplicativo em um pod no cluster AKS e teste a conexão.
- Limpe os recursos.
Importante
O Service Connect no AKS está atualmente em pré-visualização. Veja Termos de Utilização Complementares da Pré-visualizações do Microsoft Azure para obter os termos legais que se aplicam às funcionalidades do Azure que estão na versão beta, na pré-visualização ou que ainda não foram lançadas para disponibilidade geral.
Pré-requisitos
- Uma conta do Azure com uma subscrição ativa. Crie uma conta gratuitamente.
- Instale a CLI do Azure e entre na CLI do Azure usando o comando az login .
- Instale o Dockere o kubectl, para gerenciar a imagem do contêiner e os recursos do Kubernetes.
- Uma compreensão básica de contêiner e AKS. Comece a preparar uma candidatura para o AKS.
- Uma compreensão básica da identidade da carga de trabalho.
Criar recursos do Azure
Crie um grupo de recursos para este tutorial.
az group create \ --name MyResourceGroup \ --location eastus
Crie um cluster AKS com o seguinte comando ou referindo-se ao tutorial. Criamos a conexão de serviço, a definição do pod e implantamos o aplicativo de exemplo nesse cluster.
az aks create \ --resource-group MyResourceGroup \ --name MyAKSCluster \ --enable-managed-identity \ --node-count 1
Conecte-se ao cluster com o seguinte comando.
az aks get-credentials \ --resource-group MyResourceGroup \ --name MyAKSCluster
Crie uma conta de armazenamento do Azure com o seguinte comando ou referindo-se ao tutorial. Este é o serviço de destino que está conectado ao cluster AKS e o aplicativo de exemplo interage com.
az storage account create \ --resource-group MyResourceGroup \ --name MyStorageAccount \ --location eastus \ --sku Standard_LRS
Crie um registro de contêiner do Azure com o seguinte comando ou referindo-se ao tutorial. O registro hospeda a imagem de contêiner do aplicativo de exemplo, que será consumida pela definição de pod AKS.
az acr create \ --resource-group MyResourceGroup \ --name MyRegistry \ --sku Standard
E habilite o pull anônimo para que o cluster AKS possa consumir as imagens no registro.
az acr update \ --resource-group MyResourceGroup \ --name MyRegistry \ --anonymous-pull-enabled
Crie uma identidade gerenciada atribuída pelo usuário com o comando a seguir ou fazendo referência ao tutorial. A identidade gerenciada atribuída pelo usuário é usada na criação de conexões de serviço para habilitar a identidade de carga de trabalho para cargas de trabalho AKS.
az identity create \ --resource-group MyResourceGroup \ --name MyIdentity
Criar conexão de serviço com o Service Connector (visualização)
Crie uma conexão de serviço entre um cluster AKS e uma conta de armazenamento do Azure usando o portal do Azure ou a CLI do Azure.
Abra o serviço Kubernetes no portal do Azure e selecione Service Connector no menu à esquerda.
Selecione Criar e preencha as configurações conforme mostrado abaixo. Deixe as outras configurações com seus valores padrão.
Guia Noções básicas:
Definição Escolha Description Espaço de nomes do Kubernetes default O namespace onde você precisa da conexão no cluster. Tipo de serviço Armazenamento - Blob O tipo de serviço de destino. Nome da ligação storage_conn Use o nome da conexão fornecido pelo Service Connector ou escolha seu próprio nome de conexão. Subscrição <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 estrutura que você usa para se conectar ao serviço de destino. Guia Autenticação:
Configuração de autenticação Escolha Description Tipo de autenticação Identidade da carga de trabalho Tipo de autenticação do Service Connector. Identidade gerenciada atribuída ao usuário <MyIdentity>
Uma identidade gerenciada atribuída ao usuário é necessária para habilitar a identidade da carga de trabalho. Depois que a conexão tiver sido criada, a página Service Connector exibirá informações sobre a nova conexão.
Aplicação de exemplo de clonagem
Clone o repositório de exemplo:
git clone https://github.com/Azure-Samples/serviceconnector-aks-samples.git
Vá para a pasta de exemplo do repositório para armazenamento do Azure:
cd serviceconnector-aks-samples/azure-storage-workload-identity
Criar e enviar imagem de contêiner
Crie e envie as imagens para o registro do contêiner usando o comando da CLI
az acr build
do Azure.az acr build --registry <MyRegistry> --image sc-demo-storage-identity:latest ./
Exiba as imagens em seu registro de contêiner usando o
az acr repository list
comando.az acr repository list --name <MyRegistry> --output table
Executar aplicativo e testar conexão
Substitua os espaços reservados no
pod.yaml
arquivo naazure-storage-identity
pasta.- Substitua
<YourContainerImage>
pelo nome da imagem que construímos na última etapa, por exemplo,<MyRegistry>.azurecr.io/sc-demo-storage-identity:latest
. - Substitua
<ServiceAccountCreatedByServiceConnector>
pela conta de serviço criada pelo Service Connector após a criação da conexão. Você pode verificar o nome da conta de serviço no portal do Azure do Service Connector. - Substitua
<SecretCreatedByServiceConnector>
pelo segredo criado pelo Service Connector após a criação da conexão. Você pode verificar o nome secreto no portal do Azure do Service Connector.
- Substitua
Implante o pod no cluster com
kubectl apply
comando. Instalekubectl
localmente usando o comando az aks install-cli se não estiver instalado. O comando cria um pod nomeadosc-demo-storage-identity
no namespace padrão do seu cluster AKS.kubectl apply -f pod.yaml
Verifique se a implantação foi bem-sucedida visualizando o pod com
kubectl
.kubectl get pod/sc-demo-storage-identity.
Verifique se a conexão é estabelecida visualizando os logs com
kubectl
.kubectl logs pod/sc-demo-storage-identity
Clean up resources (Limpar recursos)
Se você não precisar reutilizar os recursos criados neste tutorial, exclua todos os recursos criados excluindo seu grupo de recursos.
az group delete \
--resource-group MyResourceGroup
Próximos passos
Leia os artigos a seguir para saber mais sobre os conceitos do Service Connector e como ele ajuda o AKS a se conectar aos serviços.