Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
In deze zelfstudie gebruikt u dit voorbeeld om verbinding te maken met een Exemplaar van Azure Cache voor Redis of Azure Managed Redis.
Vereiste voorwaarden
- Een Azure-abonnement. Als u nog geen Azure-abonnement hebt, maakt u een gratis account.
- Een Azure Kubernetes Service-cluster: zie quickstart: Een AKS-cluster (Azure Kubernetes Service) implementeren met behulp van Azure Portal voor meer informatie over het maken van een cluster.
- Een beheerde identiteit die door de gebruiker is toegewezen en die u wilt gebruiken om verbinding te maken met uw Azure Cache voor Redis-exemplaar.
Belangrijk
In deze zelfstudie wordt ervan uitgegaan dat u bekend bent met basisconcepten van Kubernetes, zoals containers, pods en service.
Een Azure Cache Redis-instantie instellen
Maak een nieuw Azure Cache voor Redis exemplaar met behulp van Azure Portal of het CLI-hulpprogramma van uw voorkeur. Gebruik de snelstartgids om aan de slag te gaan. Eventueel kunt u ook een Azure Managed Redis-exemplaar maken.
Gebruik voor deze zelfstudie een Standard C1-cache.
Voer de stappen uit om de cache te maken.
Zodra uw Redis-cache-exemplaar is gemaakt, gaat u naar het tabblad Verificatie . Selecteer de door de gebruiker toegewezen beheerde identiteit die u wilt gebruiken om verbinding te maken met uw Redis-cache-exemplaar en selecteer Vervolgens Opslaan.
U kunt ook navigeren naar De configuratie van Data Access in het menu Resource om een nieuwe Redis-gebruiker te maken met uw door de gebruiker toegewezen beheerde identiteit om verbinding te maken met uw cache.
Noteer de gebruikersnaam voor uw Redis-gebruiker vanuit de portal. U gebruikt deze gebruikersnaam met de AKS-workload.
Voorbeeld lokaal uitvoeren
Als u dit voorbeeld lokaal wilt uitvoeren, configureert u uw gebruikersprincipaal als een Redis-gebruiker op uw Redis-exemplaar. In het voorbeeld van de code wordt uw gebruikersprincipaal gebruikt via DefaultAzureCredential om verbinding te maken met een Redis-exemplaar.
Uw AKS-cluster configureren
Volg deze stappen om een workloadidentiteit voor uw AKS-cluster te configureren.
Voer vervolgens de volgende stappen uit:
- OIDC-verlener en workloadidentiteit inschakelen
- Sla de stap over om een door de gebruiker toegewezen beheerde identiteit te maken als u al uw beheerde identiteit hebt gemaakt. Als u een nieuwe beheerde identiteit maakt, moet u ervoor zorgen dat u een nieuwe Redis-gebruiker voor uw beheerde identiteit maakt en de juiste machtigingen voor gegevenstoegang toewijst.
- Een Kubernetes Service-account maken met de client-id van uw door de gebruiker toegewezen beheerde identiteit
- Maak een federatieve identiteitsreferentie voor uw AKS-cluster.
Uw workload configureren die verbinding maakt met Azure Cache voor Redis
Stel vervolgens de AKS-workload in om verbinding te maken met Azure Cache voor Redis nadat u het AKS-cluster hebt geconfigureerd.
Download de code voor de voorbeeld-app.
Maak en push docker-images naar uw Azure Container Registry met behulp van de opdracht az acr build.
az acr build --image sample/connect-from-aks-sample:1.0 --registry yourcontainerregistry --file Dockerfile .Koppel uw containerregister aan uw AKS-cluster met behulp van de volgende opdracht:
az aks update --name clustername --resource-group mygroup --attach-acr youracrname
Uw werkbelasting uitrollen
In deze sectie installeert u eerst de Kubernetes CLI en maakt u vervolgens verbinding met een AKS-cluster.
De Kubernetes-CLI installeren
Gebruik de Kubernetes CLI, kubectl, om vanaf uw lokale computer verbinding te maken met het Kubernetes-cluster. Als u lokaal werkt, kunt u de volgende opdracht gebruiken om kubectl te installeren.
az aks install-cli
Als u Azure Cloud Shell gebruikt, is kubectl al geïnstalleerd en kunt u deze stap overslaan.
Verbinding maken met uw AKS-cluster
Gebruik de portal om de resourcegroep en clusternaam voor uw AKS-cluster te kopiëren. Als u kubectl wilt configureren om verbinding te maken met uw AKS-cluster, gebruikt u de volgende opdracht met uw resourcegroep en clusternaam:
az aks get-credentials --resource-group myResourceGroup --name myClusterNameControleer of u verbinding kunt maken met uw cluster door de volgende opdracht uit te voeren:
kubectl get nodesU zou vergelijkbare uitvoer moeten zien met de lijst van uw clusterknooppunten.
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
Uw workload uitvoeren
In de volgende code wordt het bestand met podspecificaties beschreven dat u gebruikt om onze workload uit te voeren. Houd er rekening mee dat de pod het label azure.workloadidentity/use heeft: 'true' en is geannoteerd met serviceAccountName , zoals vereist door de AKS-workloadidentiteit. Wanneer u toegangssleutelverificatie gebruikt, vervangt u de waarde van AUTHENTICATION_TYPE, REDIS_HOSTNAME, REDIS_ACCESSKEY en REDIS_PORT omgevingsvariabelen. Stel voor azure Managed Redis-exemplaar de waarde van REDIS_PORT in op 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: NeverSla dit bestand op als podspec.yaml en pas het vervolgens toe op uw AKS-cluster door de opdracht folloWing uit te voeren:
kubectl apply -f podspec.yamlU ontvangt een bericht dat aangeeft dat je pod is aangemaakt.
pod/entrademo-pod createdOm de toepassing te testen, voert u de volgende opdracht uit om te controleren of de pod actief is.
kubectl get podsU ziet dat uw pod succesvol wordt uitgevoerd als:
NAME READY STATUS RESTARTS AGE entrademo-pod 0/1 Completed 0 42sOmdat deze zelfstudie een console-app is, moet je de logboeken van de pod controleren om te verifiëren of deze is uitgevoerd zoals verwacht met behulp van de volgende opdracht.
kubectl logs entrademo-appU ziet de volgende logs die aangeven dat uw pod succesvol verbinding heeft gemaakt met de Redis-instantie met behulp van een door de gebruiker toegewezen beheerde identiteit.
Connecting with managed identity.. Retrieved value from Redis: Hello, Redis! Success! Previous value: Hello, Redis!
Uw cluster opschonen
Voer de volgende opdrachten uit om uw cluster op te schonen:
kubectl delete pod entrademo-pod
De hulpbronnen opschonen
Als u de resources wilt blijven gebruiken die u in dit artikel hebt gemaakt, moet u de resourcegroep behouden.
Als u klaar bent met de resources, kunt u de Azure-resourcegroep verwijderen die u hebt gemaakt om kosten te voorkomen.
Belangrijk
Het verwijderen van een resourcegroep kan niet ongedaan worden gemaakt. Wanneer u een resourcegroep verwijdert, worden alle resources in de groep definitief verwijderd. Zorg ervoor dat u niet per ongeluk de verkeerde bron of bronngroep verwijdert. Als u de resources in een bestaande resourcegroep hebt gemaakt die resources bevat die u wilt behouden, kunt u elke resource afzonderlijk verwijderen in plaats van de resourcegroep te verwijderen.
Een resourcegroep verwijderen
Meld u aan bij Azure Portal en selecteer vervolgens Resourcegroepen.
Selecteer de resourcegroep die u wilt verwijderen.
Als er veel resourcegroepen zijn, gebruikt u het vak Filter voor een veld... en typt u de naam van de resourcegroep die u voor dit artikel hebt gemaakt. Selecteer de bronnen groep in de lijst met resultaten.
Selecteer Resourcegroep verwijderen.
U wordt gevraagd om het verwijderen van de resourcegroep te bevestigen. Typ ter bevestiging de naam van de resourcegroep. Selecteer vervolgens Verwijderen.
Na enkele ogenblikken worden de resourcegroep en alle bijbehorende resources verwijderd.