Självstudie: Ansluta till Azure Storage-konto i Azure Kubernetes Service (AKS) med Service Connector med hjälp av arbetsbelastningsidentitet
Lär dig hur du skapar en podd i ett AKS-kluster som pratar med ett Azure Storage-konto med hjälp av arbetsbelastningsidentitet med hjälp av Service Connector. I den här självstudien slutför du följande uppgifter:
- Skapa ett AKS-kluster och ett Azure Storage-konto.
- Skapa en anslutning mellan AKS-klustret och Azure Storage-kontot med Service Connector.
- Klona ett exempelprogram som ska kommunicera med Azure Storage-kontot från ett AKS-kluster.
- Distribuera programmet till en podd i AKS-klustret och testa anslutningen.
- Rensa resurser.
Viktigt!
Service Connect i AKS är för närvarande i förhandsversion. Juridiska villkor för Azure-funktioner i betaversion, förhandsversion eller som av någon annan anledning inte har gjorts allmänt tillgängliga ännu finns i kompletterande användningsvillkor för Microsoft Azure-förhandsversioner.
Förutsättningar
- Ett Azure-konto med en aktiv prenumeration. Skapa ett konto utan kostnad.
- Installera Azure CLI och logga in på Azure CLI med kommandot az login .
- Installera Dockeroch kubectl för att hantera containeravbildningar och Kubernetes-resurser.
- En grundläggande förståelse för container och AKS. Kom igång från att förbereda ett program för AKS.
- En grundläggande förståelse för arbetsbelastningsidentitet.
Skapa Azure-resurser
Skapa en resursgrupp för den här självstudien.
az group create \ --name MyResourceGroup \ --location eastus
Skapa ett AKS-kluster med följande kommando eller referera till självstudien. Vi skapar tjänstanslutningen, podddefinitionen och distribuerar exempelprogrammet till det här klustret.
az aks create \ --resource-group MyResourceGroup \ --name MyAKSCluster \ --enable-managed-identity \ --node-count 1
Anslut till klustret med följande kommando.
az aks get-credentials \ --resource-group MyResourceGroup \ --name MyAKSCluster
Skapa ett Azure Storage-konto med följande kommando eller referera till självstudien. Det här är måltjänsten som är ansluten till AKS-klustret och exempelprogrammet interagerar med.
az storage account create \ --resource-group MyResourceGroup \ --name MyStorageAccount \ --location eastus \ --sku Standard_LRS
Skapa ett Azure-containerregister med följande kommando eller referera till självstudien. Registret är värd för containeravbildningen av exempelprogrammet, som används av AKS-podddefinitionen.
az acr create \ --resource-group MyResourceGroup \ --name MyRegistry \ --sku Standard
Och aktivera anonym pull så att AKS-klustret kan använda avbildningarna i registret.
az acr update \ --resource-group MyResourceGroup \ --name MyRegistry \ --anonymous-pull-enabled
Skapa en användartilldelad hanterad identitet med följande kommando eller referera till självstudien. Den användartilldelade hanterade identiteten används vid skapande av tjänstanslutning för att aktivera arbetsbelastningsidentitet för AKS-arbetsbelastningar.
az identity create \ --resource-group MyResourceGroup \ --name MyIdentity
Skapa tjänstanslutning med Service Connector (förhandsversion)
Skapa en tjänstanslutning mellan ett AKS-kluster och ett Azure Storage-konto med hjälp av Azure Portal eller Azure CLI.
Öppna Kubernetes-tjänsten i Azure Portal och välj Service Connector på den vänstra menyn.
Välj Skapa och fyll i inställningarna enligt nedan. Lämna de andra inställningarna med sina standardvärden.
Fliken Grundläggande:
Inställning Alternativ beskrivning Kubernetes-namnområde standard Namnområdet där du behöver anslutningen i klustret. Typ av tjänst Lagring – blob Måltjänsttypen. Anslutningens namn storage_conn Använd anslutningsnamnet som tillhandahålls av Service Connector eller välj ditt eget anslutningsnamn. Abonnemang <MySubscription>
Prenumerationen för din Azure Blob Storage-måltjänst. Lagringskonto <MyStorageAccount>
Det mållagringskonto som du vill ansluta till. Klienttyp Python Det kodspråk eller ramverk som du använder för att ansluta till måltjänsten. Fliken Autentisering:
Autentiseringsinställning Alternativ beskrivning Autentiseringstyp Arbetsbelastningsidentitet Autentiseringstyp för Service Connector. Användartilldelad hanterad identitet <MyIdentity>
En användartilldelad hanterad identitet krävs för att aktivera arbetsbelastningsidentitet. När anslutningen har skapats visar sidan Service Connector information om den nya anslutningen.
Klona exempelprogram
Klona exempellagringsplatsen:
git clone https://github.com/Azure-Samples/serviceconnector-aks-samples.git
Gå till lagringsplatsens exempelmapp för Azure Storage:
cd serviceconnector-aks-samples/azure-storage-workload-identity
Skapa och push-överföra containeravbildning
Skapa och push-överför avbildningarna till containerregistret med hjälp av Azure CLI-kommandot
az acr build
.az acr build --registry <MyRegistry> --image sc-demo-storage-identity:latest ./
Visa avbildningarna i containerregistret med hjälp av
az acr repository list
kommandot .az acr repository list --name <MyRegistry> --output table
Kör program- och testanslutning
Ersätt platshållarna i
pod.yaml
filen iazure-storage-identity
mappen.- Ersätt
<YourContainerImage>
med det avbildningsnamn som vi skapar i det senaste steget,<MyRegistry>.azurecr.io/sc-demo-storage-identity:latest
till exempel . - Ersätt
<ServiceAccountCreatedByServiceConnector>
med tjänstkontot som skapades av Service Connector när anslutningen skapades. Du kan kontrollera namnet på tjänstkontot i Azure Portal för Service Connector. - Ersätt
<SecretCreatedByServiceConnector>
med hemligheten som skapades av Service Connector när anslutningen skapades. Du kan kontrollera det hemliga namnet i Azure Portal för Service Connector.
- Ersätt
Distribuera podden till klustret med
kubectl apply
kommandot . Installerakubectl
lokalt med kommandot az aks install-cli om det inte är installerat. Kommandot skapar en podd med namnetsc-demo-storage-identity
i standardnamnområdet för aks-klustret.kubectl apply -f pod.yaml
Kontrollera att distributionen lyckas genom att visa podden med
kubectl
.kubectl get pod/sc-demo-storage-identity.
Kontrollera att anslutningen upprättas genom att visa loggarna med
kubectl
.kubectl logs pod/sc-demo-storage-identity
Rensa resurser
Om du inte behöver återanvända de resurser som du har skapat i den här självstudien tar du bort alla resurser som du har skapat genom att ta bort resursgruppen.
az group delete \
--resource-group MyResourceGroup
Nästa steg
Läs följande artiklar om du vill veta mer om begrepp för Service Connector och hur det hjälper AKS att ansluta till tjänster.