Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
I den här självstudien får du lära dig hur du använder Service Connector för att ansluta ett Azure Storage-konto till en podd i ett Azure Kubernetes Service (AKS) kluster med hjälp av arbetsbelastningsidentitet. Du utför följande uppgifter:
- Skapa ett AKS-kluster och ett Azure Storage konto.
- Skapa en anslutning mellan AKS-klustret och Azure Storage-kontot med hjälp av Service Connector.
- Klona ett exempelprogram som ansluter till Azure Storage-kontot från AKS-klustret.
- Distribuera programmet till en podd i AKS-klustret och testa anslutningen.
- Rensa resurser.
Förutsättningar
- Grundläggande förståelse för containrar, arbetsbelastningsidentitet och AKS. Mer information finns i Tutorial: Förbered ett program för Azure Kubernetes Service (AKS).
- En Azure-prenumeration där du har Azure resursskrivningsbehörigheter i en Azure region som supports Service Connector och har tillräckligt AKS-stöd och beräkningskvot för att köra självstudien. Skapa ett konto utan kostnad.
-
Microsoft.ServiceLinker,Microsoft.ContainerService,Microsoft.ContainerRegistryochMicrosoft.ManagedIdentityresursprovidrar som registrerats i Azure-prenumerationen. Du kan köraaz provider register -n Microsoft.[service]för att registrera leverantörerna. - Git för att komma åt och klona exempelrepo.
-
Docker och kubectl installerade för att hantera containeravbildningar och Kubernetes-resurser. Installera
kubectllokalt genom att köraaz aks install-cli. - Azure CLI är installerat.
Skapa Azure-resurser
Logga in på Azure genom att köra az login och följ anvisningarna.
Skapa en Azure resursgrupp som ska användas för den här handledningen och ersätt platshållaren
<region>med ett giltigt värde.locationmåste vara en Azure region där din prenumeration har tillräcklig beräkningskvot för Azure resurser och inga begränsningar för någon av tjänsterna.az group create \ --name MyResourceGroup \ --location <region>Skapa ett AKS-kluster som innehåller tjänstanslutningen, podddefinitionen och exempelprogrammet genom att köra följande kommando. Mer information finns i Quickstart: Distribuera ett Azure Kubernetes Service (AKS) kluster med Azure CLI.
az aks create \ --resource-group MyResourceGroup \ --name MyAKSCluster \ --enable-managed-identity \ --node-count 1Anslut till klustret genom att köra följande kommando.
az aks get-credentials \ --resource-group MyResourceGroup \ --name MyAKSClusterSkapa ett Azure Storage konto som ska vara den måltjänst som AKS-klustret ansluter till och exempelprogrammet interagerar med. Mer information finns i Skapa ett Azure-lagringskonto. Kör följande kommando och ersätt
<storageaccountname>med ett namn som är 3–24 gemener eller numeriska tecken och som är unikt för Azure.az storage account create \ --resource-group MyResourceGroup \ --name <storageaccountname> \ --sku Standard_LRSSkapa ett Azure containerregister som värd för programcontaineravbildningen som används av AKS-podddefinitionen. Mer information finns i Quickstart: Skapa ett Azure containerregister med hjälp av Azure-portalen. Kör följande kommando och ersätt
<registryname>med ett namn som är 5–50 gemener eller numeriska tecken och som är unikt för Azure.az acr create \ --resource-group MyResourceGroup \ --name <registryname> \ --sku StandardAktivera anonym pull så att AKS-klustret kan använda registeravbildningarna.
<registryname>Ersätt platshållaren med ditt registernamn.az acr update \ --resource-group MyResourceGroup \ --name <registryname> \ --anonymous-pull-enabledKör följande kommando för att skapa en användartilldelad hanterad identitet som tjänstanslutningen kan använda för att aktivera arbetsbelastningsidentitet för AKS-arbetsbelastningar. Mer information finns i Hantera användartilldelade hanterade identiteter med hjälp av Azure-portalen.
az identity create \ --resource-group MyResourceGroup \ --name MyIdentity
Skapa en tjänstanslutning med hjälp av Service Connector
Skapa en tjänstanslutning mellan AKS-klustret och Azure Storage-kontot med hjälp av Azure CLI eller Azure-portalen.
Kör följande Azure CLI-kommando för att skapa en tjänstanslutning till Azure lagringskontot. Ersätt <storageaccountname> med lagringskontots namn och <user-identity-resource-id> med ditt användartilldelade resurs-ID för hanterad identitet.
Du kan hämta ditt användartilldelade resurs-ID för hanterad identitet från utdata från föregående az identity create kommando eller använda formatet /subscriptions/<subscription-id>/resourceGroups/MyResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/MyIdentity.
az aks connection create storage-blob \
--resource-group MyResourceGroup \
--name MyAKSCluster \
--target-resource-group MyResourceGroup \
--account <storageaccountname> \
--workload-identity <user-identity-resource-id>
När anslutningen har skapats visar sidan Azure Portal Service Connector information om den nya anslutningen. Du kan använda den här informationen när du redigerar filen pod.yaml senare i den här självstudien.
Skapa exempelprogrammet
Klona exempellagringsplatsen och ändra sedan till den katalog som innehåller exempelappen. Kör de återstående kommandona från den här mappen.
git clone https://github.com/Azure-Samples/serviceconnector-aks-samples.git cd serviceconnector-aks-samples/azure-storage-workload-identitySkapa och skicka avbildningarna till containerregistret med hjälp av
az acr buildkommandot .<registryname>Ersätt platshållaren med ditt registernamn.az acr build --registry <registryname> --image sc-demo-storage-identity:latest ./Visa avbildningen i containerregistret med hjälp av
az acr repository listkommandot .<registryname>Ersätt platshållaren med ditt registernamn.az acr repository list --name <registryname> --output table
Kör program- och testanslutning
Ersätt följande platshållare i pod.yaml-filen i din lokala appmapp:
-
<YourContainerImage>: Ersätt med imagenamnet i containerregistret, till exempel<registryname>.azurecr.io/sc-demo-storage-identity:latest. -
<ServiceAccountCreatedByServiceConnector>: Ersätt med tjänstkontot Service Connector som skapades när anslutningen skapades. Du kan kontrollera namnet på tjänstkontot på sidan för AKS-kluster Service Connector i Azure-portalen. -
<SecretCreatedByServiceConnector>: Ersätt med den hemliga tjänstanslutningen som skapades efter att anslutningen skapades. Du kan kontrollera namnet på tjänstkontot på Service Connector-sidan för ditt AKS-kluster i Azure-portalen.
-
Distribuera podden till klustret med .
kubectl applyKommandot skapar en podd med namnetsc-demo-storage-identityi standardnamnområdet för aks-klustret.kubectl apply -f pod.yamlKontrollera att distributionen lyckas genom att visa podden med hjälp av
kubectl.kubectl get pod/sc-demo-storage-identityKontrollera att anslutningen upprättas genom att visa loggarna med hjälp av
kubectl.kubectl logs pod/sc-demo-storage-identity
Rensa resurser
Om du inte längre behöver de Azure resurser som du skapade för den här självstudien kan du ta bort dem genom att ta bort resursgruppen MyResourceGroup.
az group delete \
--resource-group MyResourceGroup