Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Neste tutorial, você usa este exemplo para se conectar a uma instância do Cache do Azure para Redis ou do Azure Managed Redis.
Pré-requisitos
- Uma assinatura do Azure. Se não tiver uma subscrição do Azure, crie uma conta gratuita.
- Um cluster de serviço do Kubernetes do Azure - Para obter mais informações sobre como criar um cluster, consulte Guia de início rápido: implantar um cluster do Serviço Kubernetes do Azure (AKS) usando o portal do Azure.
- Uma identidade gerenciada atribuída ao usuário que você deseja usar para se conectar à sua 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 Azure Cache Redis
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. Como alternativa, você também pode criar uma instância do Azure Managed Redis.
Para este tutorial, use um cache C1 padrão.
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 à sua instância de cache Redis e selecione Salvar.
Como alternativa, você pode navegar até Configuração de Acesso a Dados no menu Recurso para criar um novo usuário Redis com sua identidade gerenciada atribuída ao usuário para se conectar ao cache.
Anote o nome de usuário do seu usuário Redis no portal. Você usa esse nome de usuário com a carga de trabalho do AKS.
Executar amostra localmente
Para executar este exemplo localmente, configure sua entidade de usuário como um Usuário Redis em sua instância Redis. O exemplo de código usa seu usuário principal por meio de DefaultAzureCredential para se conectar à instância Redis.
Configure seu cluster AKS
Siga estas etapas para configurar uma identidade de carga de trabalho para seu cluster AKS.
Em seguida, conclua as seguintes etapas:
- Habilitar o emissor OIDC e a identidade da carga de trabalho
- Ignore a etapa para criar a identidade gerenciada atribuída ao 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.
- Crie uma conta do Serviço Kubernetes anotada com o ID do cliente da identidade gerenciada atribuída ao usuário
- Crie uma credencial de identidade federada para o seu cluster AKS.
Configurar a sua carga de trabalho que se conecta ao Azure Cache para Redis
Em seguida, configure a carga de trabalho do AKS para se conectar ao Cache Redis do Azure depois de configurar o cluster AKS.
Baixe o código para o aplicativo de exemplo.
Crie e envie por push a imagem do docker para seu 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 seu registro de contêiner ao cluster AKS usando o seguinte comando:
az aks update --name clustername --resource-group mygroup --attach-acr youracrname
Implante sua carga de trabalho
Nesta seção, você primeiro instala a CLI do Kubernetes e, em seguida, conecta-se a um cluster AKS.
Instalar a CLI do Kubernetes
Use a CLI do Kubernetes, kubectl, para se conectar ao cluster do Kubernetes a partir do seu computador local. Se você estiver executando localmente, então você pode usar o seguinte comando para instalar o kubectl.
az aks install-cli
Se você usa o Azure Cloud Shell, o kubectl já está instalado e você pode ignorar esta etapa.
Conecte-se ao cluster AKS
Use o portal para copiar o grupo de recursos e o nome do cluster para o cluster AKS. Para configurar o kubectl para se conectar ao cluster AKS, use o seguinte comando com o grupo de recursos e o 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ê verá uma saída semelhante mostrando a lista dos nós do 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
Execute 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 AKS. Ao usar a autenticação de chave de acesso, substitua o valor de AUTHENTICATION_TYPE, REDIS_HOSTNAME, REDIS_ACCESSKEY e REDIS_PORT variáveis de ambiente. Para a instância do Azure Managed Redis, 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 este arquivo como podspec.yaml e aplique-o ao seu cluster AKS executando o comando folloWing:
kubectl apply -f podspec.yamlVocê recebe uma resposta indicando que seu pod foi criado:
pod/entrademo-pod createdPara testar o aplicativo, execute o seguinte comando para verificar se o pod está em execução:
kubectl get podsVocê vê seu pod funcionando com sucesso 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 este comando.
kubectl logs entrademo-appVocê vê os seguintes logs que indicam que seu pod se conectou com êxito à sua 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!
Limpe o cluster
Para limpar o cluster, execute os seguintes comandos:
kubectl delete pod entrademo-pod
Limpeza de recursos
Se quiser continuar a usar os recursos criados neste artigo, mantenha o grupo de recursos.
Caso contrário, se tiver terminado os recursos, pode eliminar o grupo de recursos do Azure que criou para evitar cobranças.
Importante
A eliminação de um grupo de recursos é irreversível. Quando elimina um grupo de recursos, todos os recursos nele contidos são eliminados permanentemente. Certifique-se de que não elimina acidentalmente grupos de recursos ou recursos errados. Se você criou os recursos dentro de um grupo de recursos existente que contém recursos que deseja manter, poderá excluir cada recurso individualmente em vez de excluir o grupo de recursos.
Para eliminar um grupo de recursos
Inicie sessão no Portal do Azure e selecione Grupos de recursos.
Selecione o grupo de recursos que pretende eliminar.
Se houver muitos grupos de recursos, use a caixa Filtrar para qualquer campo... , digite o nome do grupo de recursos criado para este artigo. Selecione o grupo de recursos na lista de resultados.
Selecione Eliminar grupo de recursos.
É-lhe pedido que confirme a eliminação do grupo de recursos. Escreva o nome do grupo de recursos para confirmar e, em seguida, selecione Eliminar.
Após alguns instantes, o grupo de recursos e todos os respetivos recursos são eliminados.
Conteúdo relacionado
- Guia de início rápido: implantar um cluster do Serviço Kubernetes do Azure (AKS) usando o portal do Azure
- Guia de início rápido: implantar e configurar a identidade da carga de trabalho em um cluster do Serviço Kubernetes do Azure (AKS)
- Cache do Azure para Redis Autenticação de ID do Microsoft Entra