Zelfstudie: Verbinding maken met een Azure-opslagaccount in Azure Kubernetes Service (AKS) met serviceconnector met behulp van workloadidentiteit
Meer informatie over het maken van een pod in een AKS-cluster, dat met behulp van serviceconnector praat met een Azure-opslagaccount met behulp van workloadidentiteit. In deze zelfstudie voert u de volgende taken uit:
- Maak een AKS-cluster en een Azure-opslagaccount.
- Maak een verbinding tussen het AKS-cluster en het Azure-opslagaccount met serviceconnector.
- Kloon een voorbeeldtoepassing die vanuit een AKS-cluster met het Azure-opslagaccount praat.
- Implementeer de toepassing op een pod in een AKS-cluster en test de verbinding.
- Schoon resources op.
Belangrijk
Service Connect binnen AKS is momenteel in preview. Raadpleeg de Aanvullende voorwaarden voor Microsoft Azure-previews voor juridische voorwaarden die van toepassing zijn op Azure-functies die in bèta of preview zijn of die anders nog niet algemeen beschikbaar zijn.
Vereisten
- Een Azure-account met een actief abonnement. Gratis een account maken
- Installeer de Azure CLI en meld u aan bij Azure CLI met behulp van de opdracht az login .
- Installeer Dockeren kubectl om containerinstallatiekopieën en Kubernetes-resources te beheren.
- Basiskennis van container en AKS. Ga aan de slag met het voorbereiden van een toepassing voor AKS.
- Basiskennis van workloadidentiteit.
Azure-resources maken
Maak een resourcegroep voor deze zelfstudie.
az group create \ --name MyResourceGroup \ --location eastus
Maak een AKS-cluster met de volgende opdracht of raadpleeg de zelfstudie. We maken de serviceverbinding, poddefinitie en implementeren de voorbeeldtoepassing in dit cluster.
az aks create \ --resource-group MyResourceGroup \ --name MyAKSCluster \ --enable-managed-identity \ --node-count 1
Maak verbinding met het cluster met de volgende opdracht.
az aks get-credentials \ --resource-group MyResourceGroup \ --name MyAKSCluster
Maak een Azure-opslagaccount met de volgende opdracht of raadpleeg de zelfstudie. Dit is de doelservice die is verbonden met het AKS-cluster en de voorbeeldtoepassing communiceert.
az storage account create \ --resource-group MyResourceGroup \ --name MyStorageAccount \ --location eastus \ --sku Standard_LRS
Maak een Azure-containerregister met de volgende opdracht of raadpleeg de zelfstudie. Het register fungeert als host voor de containerinstallatiekopieën van de voorbeeldtoepassing, die wordt gebruikt door de definitie van de AKS-pod.
az acr create \ --resource-group MyResourceGroup \ --name MyRegistry \ --sku Standard
En schakel anonieme pull in zodat het AKS-cluster de installatiekopieën in het register kan gebruiken.
az acr update \ --resource-group MyResourceGroup \ --name MyRegistry \ --anonymous-pull-enabled
Maak een door de gebruiker toegewezen beheerde identiteit met de volgende opdracht of verwijs naar de zelfstudie. De door de gebruiker toegewezen beheerde identiteit wordt gebruikt bij het maken van een serviceverbinding om de workloadidentiteit voor AKS-workloads in te schakelen.
az identity create \ --resource-group MyResourceGroup \ --name MyIdentity
Serviceverbinding maken met Service Connector (preview)
Maak een serviceverbinding tussen een AKS-cluster en een Azure-opslagaccount met behulp van Azure Portal of de Azure CLI.
Open uw Kubernetes-service in Azure Portal en selecteer Serviceconnector in het linkermenu.
Selecteer Maken en vul de instellingen in, zoals hieronder wordt weergegeven. Laat de andere instellingen ongewijzigd met de standaardwaarden.
Tabblad Basisbeginselen:
Instelling Keuze Beschrijving Kubernetes-naamruimte default De naamruimte waar u de verbinding in het cluster nodig hebt. Servicetype Opslag - Blob Het doelservicetype. Verbindingsnaam storage_conn Gebruik de verbindingsnaam die is opgegeven door Service Connector of kies uw eigen verbindingsnaam. Abonnement <MySubscription>
Het abonnement voor uw Azure Blob Storage-doelservice. Opslagaccount <MyStorageAccount>
Het doelopslagaccount waarmee u verbinding wilt maken. Clienttype Python De codetaal of het framework dat u gebruikt om verbinding te maken met de doelservice. Tabblad Verificatie:
Verificatie-instelling Keuze Beschrijving Verificatietype Workloadidentiteit Verificatietype serviceconnector. Door de gebruiker toegewezen beheerde identiteit <MyIdentity>
Er is een door de gebruiker toegewezen beheerde identiteit nodig om de workloadidentiteit in te schakelen. Zodra de verbinding is gemaakt, geeft de pagina Serviceconnector informatie weer over de nieuwe verbinding.
Voorbeeldtoepassing klonen
Kloon de voorbeeldopslagplaats:
git clone https://github.com/Azure-Samples/serviceconnector-aks-samples.git
Ga naar de voorbeeldmap van de opslagplaats voor Azure Storage:
cd serviceconnector-aks-samples/azure-storage-workload-identity
Containerinstallatiekopieën bouwen en pushen
Bouw en push de installatiekopieën naar uw containerregister met behulp van de Azure CLI-opdracht
az acr build
.az acr build --registry <MyRegistry> --image sc-demo-storage-identity:latest ./
Bekijk de installatiekopieën in uw containerregister met behulp van de
az acr repository list
opdracht.az acr repository list --name <MyRegistry> --output table
Toepassing uitvoeren en verbinding testen
Vervang de tijdelijke aanduidingen in het
pod.yaml
bestand in deazure-storage-identity
map.- Vervang door
<YourContainerImage>
de naam van de installatiekopieën die we in de laatste stap hebben gebouwd,<MyRegistry>.azurecr.io/sc-demo-storage-identity:latest
bijvoorbeeld. - Vervang
<ServiceAccountCreatedByServiceConnector>
door het serviceaccount dat is gemaakt door Service Connector na het maken van de verbinding. U kunt de naam van het serviceaccount controleren in Azure Portal van Service Connector. - Vervang
<SecretCreatedByServiceConnector>
het geheim dat is gemaakt door Service Connector na het maken van de verbinding. U kunt de geheime naam controleren in Azure Portal van Service Connector.
- Vervang door
Implementeer de pod in uw cluster met de
kubectl apply
opdracht. Installeerkubectl
lokaal met behulp van de opdracht az aks install-cli als deze niet is geïnstalleerd. Met de opdracht maakt u een pod met de naam insc-demo-storage-identity
de standaardnaamruimte van uw AKS-cluster.kubectl apply -f pod.yaml
Controleer of de implementatie is geslaagd door de pod weer te geven met
kubectl
.kubectl get pod/sc-demo-storage-identity.
Controleer of de verbinding tot stand is gebracht door de logboeken te bekijken met
kubectl
.kubectl logs pod/sc-demo-storage-identity
Resources opschonen
Als u de resources die u in deze zelfstudie hebt gemaakt niet opnieuw hoeft te gebruiken, verwijdert u alle resources die u hebt gemaakt door de resourcegroep te verwijderen.
az group delete \
--resource-group MyResourceGroup
Volgende stappen
Lees de volgende artikelen voor meer informatie over serviceconnectorconcepten en hoe het AKS helpt om verbinding te maken met services.