Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Neste tutorial, você usará este exemplo para se conectar ao Azure Cache para Redis ou a uma instância do Azure Managed Redis.
Pré-requisitos
- Uma assinatura do Azure. Caso não tenha uma assinatura do Azure, crie uma conta gratuita.
- Um cluster Serviço de Kubernetes do Azure - Para obter mais informações sobre como criar um cluster, consulte Início Rápido: implantar um cluster Serviço de Kubernetes do Azure (AKS) usando o portal do Azure.
- Uma identidade gerenciada atribuída pelo usuário que você deseja usar para se conectar à instância do Cache do Azure para Redis.
Importante
Este tutorial pressupõe que você esteja familiarizado com conceitos básicos do Kubernetes, como contêineres, pods e serviço.
Configurar uma instância do Cache Redis do Azure
Crie uma nova instância do Cache do Azure para Redis usando o portal do Azure ou sua ferramenta de CLI preferida. Use o guia de início rápido para começar. Alternativamente, você também pode criar uma instância do Redis Gerenciado do Azure.
Para este tutorial, use um cache C1 Standard.
Conclua as etapas para criar o cache.
Depois que a instância do cache Redis for criada, navegue até a guia Autenticação. Selecione a identidade gerenciada atribuída ao usuário que você deseja usar para se conectar à instância do cache Redis e, em seguida, selecione Salvar.
Como alternativa, você pode navegar até a Configuração de Acesso a Dados no menu Recurso para criar um novo usuário do Redis com sua identidade gerenciada atribuída pelo usuário para se conectar ao cache.
Anote o nome de usuário do seu usuário do Redis no portal. Use esse nome de usuário com a carga de trabalho do AKS.
Executar o exemplo localmente
Para executar este exemplo localmente, configure sua entidade de segurança de usuário como um Usuário Redis em sua instância do Redis. O exemplo de código usa sua entidade de usuário por meio de DefaultAzureCredential para se conectar à instância do Redis.
Configurar o cluster do AKS
Siga estas etapas para configurar uma identidade de carga de trabalho para o cluster do AKS.
Em seguida, conclua as seguintes etapas:
- Habilitar o emissor do OIDC e a identidade da carga de trabalho
- Ignore a etapa para criar a identidade gerenciada atribuída pelo usuário se você já tiver criado sua identidade gerenciada. Se você criar uma nova identidade gerenciada, certifique-se de criar um novo Usuário Redis para sua identidade gerenciada e atribuir permissões de acesso a dados apropriadas.
- Criar uma conta do Serviço do Kubernetes anotada com a ID do cliente da identidade gerenciada atribuída pelo usuário
- Crie uma credencial de identidade federada para o cluster do AKS.
Configurar sua carga de trabalho que se conecta ao Cache do Azure para Redis
Em seguida, configure a carga de trabalho do AKS para se conectar ao Cache do Azure para Redis depois de configurar o cluster do AKS.
Baixe o código do aplicativo de exemplo.
Crie e envie por push a imagem do Docker para o Registro de Contêiner do Azure usando o comando az acr build.
az acr build --image sample/connect-from-aks-sample:1.0 --registry yourcontainerregistry --file Dockerfile .Anexe o registro de contêiner ao cluster do AKS usando o seguinte comando:
az aks update --name clustername --resource-group mygroup --attach-acr youracrname
Implantar sua carga de trabalho
Nesta seção, primeiro você instala a CLI do Kubernetes e, em seguida, conecta-se a um cluster do AKS.
Instalar a CLI Kubernetes
Use a CLI do Kubernetes, kubectl, para se conectar ao cluster Kubernetes do computador local. Se você estiver executando localmente, poderá usar o comando a seguir para instalar o kubectl.
az aks install-cli
Se você usar Azure Cloud Shell, o kubectl já estará instalado e você poderá ignorar esta etapa.
Conectar-se ao cluster do AKS
Use o portal para copiar o grupo de recursos e o nome do cluster para o cluster do AKS. Para configurar o kubectl para conectar-se ao seu cluster do AKS, use o seguinte comando com seu grupo de recursos e nome do cluster:
az aks get-credentials --resource-group myResourceGroup --name myClusterNameVerifique se você consegue se conectar ao cluster executando o seguinte comando:
kubectl get nodesVocê deverá ver uma saída semelhante mostrando a lista de nós de cluster.
NAME STATUS ROLES AGE VERSION aks-agentpool-21274953-vmss000001 Ready agent 1d v1.29.7 aks-agentpool-21274953-vmss000003 Ready agent 1d v1.29.7 aks-agentpool-21274953-vmss000006 Ready agent 1d v1.29.7
Executar sua carga de trabalho
O código a seguir descreve o arquivo de especificação do pod que você usa para executar nossa carga de trabalho. Observe que o pod tem o rótulo azure.workloadidentity/use: "true" e é anotado com serviceAccountName, conforme exigido pela identidade da carga de trabalho do AKS. Quando usar a autenticação de chave de acesso, substitua o valor das variáveis de ambiente AUTHENTICATION_TYPE, REDIS_HOSTNAME e REDIS_ACCESSKEY e REDIS_PORT. Para a instância do Redis Gerenciado do Azure, defina o valor de REDIS_PORT como 10000.
apiVersion: v1 kind: Pod metadata: name: entrademo-pod labels: azure.workload.identity/use: "true" # Required. Only pods with this label can use workload identity. spec: serviceAccountName: workload-identity-sa containers: - name: entrademo-container image: youracr.azurecr.io/connect-from-aks-sample:1.0 imagePullPolicy: Always command: ["dotnet", "ConnectFromAKS.dll"] resources: limits: memory: "256Mi" cpu: "500m" requests: memory: "128Mi" cpu: "250m" env: - name: AUTHENTICATION_TYPE value: "MANAGED_IDENTITY" # change to ACCESS_KEY to authenticate using access key - name: REDIS_HOSTNAME value: "your redis hostname" - name: REDIS_ACCESSKEY value: "your access key" - name: REDIS_PORT value: "6380" # change to 10000 for Azure Managed Redis restartPolicy: NeverSalve esse arquivo como podspec.yaml e aplique-o ao cluster do AKS executando o comando a seguir:
kubectl apply -f podspec.yamlVocê obtém uma resposta indicando que o pod foi criado:
pod/entrademo-pod createdPara testar o aplicativo, execute o seguinte comando para marcar se o pod estiver em execução:
kubectl get podsVocê verá seu pod em execução com êxito, como:
NAME READY STATUS RESTARTS AGE entrademo-pod 0/1 Completed 0 42sComo este tutorial é um aplicativo de console, você precisa verificar os logs do pod para verificar se ele foi executado conforme o esperado usando esse comando.
kubectl logs entrademo-appVocê verá os logs a seguir que indicam que o pod foi conectado com êxito à instância do Redis usando a identidade gerenciada atribuída pelo usuário
Connecting with managed identity.. Retrieved value from Redis: Hello, Redis! Success! Previous value: Hello, Redis!
Limpar seu cluster
Para limpar o cluster, execute este comando:
kubectl delete pod entrademo-pod
Limpar os recursos
Se você quiser continuar a usar os recursos criados neste artigo, mantenha o grupo de recursos.
Caso contrário, se tiver terminado de usar os recursos, é possível excluir o grupo de recursos do Azure criado para evitar encargos.
Importante
A exclusão de um grupo de recursos é irreversível. Ao excluir o grupo de recursos, todos os recursos nele são excluídos permanentemente. Certifique-se de que não exclua acidentalmente o grupo de recursos ou os recursos incorretos. Se você criou os recursos dentro de um grupo de recursos existente que contém recursos que você deseja manter, é possível excluir cada recurso individualmente em vez de excluir o grupo de recursos.
Para excluir um grupo de recursos
Entre no portal do Azure e selecione Grupos de recursos.
Selecione o grupo de recursos que você quer excluir.
Se houver muitos grupos de recursos, use a caixa Filtrar por qualquer campo... digite o nome do grupo de recursos que você criou para este artigo. Selecione o grupo de recursos na lista de resultados.
Selecione Excluir grupo de recursos.
Você receberá uma solicitação para confirmar a exclusão do grupo de recursos. Digite o nome do grupo de recursos para confirmar e selecione Excluir.
Após alguns instantes, o grupo de recursos, e todos os recursos nele são excluídos.
Conteúdo relacionado
- Início Rápido: Implantar um cluster do Serviço de Kubernetes do Azure (AKS) usando o portal do Azure
- Início Rápido: implantar e configurar a identidade da carga de trabalho (versão prévia) em um cluster Serviço de Kubernetes do Azure (AKS)
- Autenticação do Microsoft Entra ID do Cache do Azure para Redis