Händelser
17 mars 21 - 21 mars 10
Gå med i mötesserien för att skapa skalbara AI-lösningar baserat på verkliga användningsfall med andra utvecklare och experter.
Registrera dig nuDen här webbläsaren stöds inte längre.
Uppgradera till Microsoft Edge och dra nytta av de senaste funktionerna och säkerhetsuppdateringarna, samt teknisk support.
När du använder Azure Container Registry (ACR) med Azure Kubernetes Service (AKS) måste du upprätta en autentiseringsmekanism. Du kan konfigurera de behörigheter som krävs mellan ACR och AKS med hjälp av Azure CLI, Azure PowerShell eller Azure Portal. Den här artikeln innehåller exempel på hur du konfigurerar autentisering mellan dessa Azure-tjänster med hjälp av Azure CLI eller Azure PowerShell.
AKS till ACR-integreringen tilldelar AcrPull-rollen till den hanterade Microsoft Entra-ID-identiteten som är associerad med agentpoolen i ditt AKS-kluster. Mer information om AKS-hanterade identiteter finns i Sammanfattning av hanterade identiteter.
Viktigt
Det finns ett svarstidsproblem med Microsoft Entra-grupper när du kopplar ACR. Om AcrPull-rollen beviljas till en Microsoft Entra-grupp och kubelet-identiteten läggs till i gruppen för att slutföra RBAC-konfigurationen kan det uppstå en fördröjning innan RBAC-gruppen börjar gälla. Om du kör automatisering som kräver att RBAC-konfigurationen är klar rekommenderar vi att du använder Bring your own kubelet identity som en lösning. Du kan skapa en användartilldelad identitet i förväg, lägga till den i Microsoft Entra-gruppen och sedan använda identiteten som kubelet-identitet för att skapa ett AKS-kluster. Detta säkerställer att identiteten läggs till i Microsoft Entra-gruppen innan en token genereras av kubelet, vilket undviker svarstidsproblemet.
Anteckning
Den här artikeln beskriver automatisk autentisering mellan AKS och ACR. Om du behöver hämta en avbildning från ett privat externt register använder du en avbildningshämtningshemlighet.
az --version
för att hitta versionen. Om du behöver installera eller uppgradera kan du läsa Installera Azure CLI.Get-InstalledModule -Name Az
för att hitta versionen. Om du behöver installera eller uppgradera kan du läsa Install Azure PowerShell (Installera Azure PowerShell).Om du inte redan har en ACR skapar du en med kommandot az acr create
. I följande exempel anges variabeln MYACR
till namnet på ACR, mycontainerregistry, och variabeln används för att skapa registret. Ditt ACR-namn måste vara globalt unikt och endast använda gemener.
MYACR=mycontainerregistry
az acr create --name $MYACR --resource-group myContainerRegistryResourceGroup --sku basic
Skapa ett nytt AKS-kluster och integrera med en befintlig ACR med kommandot az aks create
med parametern--attach-acr
. Med det här kommandot kan du auktorisera en befintlig ACR i din prenumeration och konfigurerar lämplig AcrPull-roll för den hanterade identiteten.
MYACR=mycontainerregistry
az aks create --name myAKSCluster --resource-group myResourceGroup --generate-ssh-keys --attach-acr $MYACR
Det här kommandot kan ta flera minuter att slutföra.
Anteckning
Om du använder en ACR som finns i en annan prenumeration än ditt AKS-kluster eller föredrar att använda ACR-resurs-ID :t i stället för ACR-namnet kan du göra det med hjälp av följande syntax:
az aks create -n myAKSCluster -g myResourceGroup --generate-ssh-keys --attach-acr /subscriptions/<subscription-id>/resourceGroups/myContainerRegistryResourceGroup/providers/Microsoft.ContainerRegistry/registries/myContainerRegistry
Integrera en befintlig ACR med ett befintligt AKS-kluster med kommandot az aks update
med parametern--attach-acr
och ett giltigt värde för acr-name eller acr-resource-id.
# Attach using acr-name
az aks update --name myAKSCluster --resource-group myResourceGroup --attach-acr <acr-name>
# Attach using acr-resource-id
az aks update --name myAKSCluster --resource-group myResourceGroup --attach-acr <acr-resource-id>
Anteckning
Kommandot az aks update --attach-acr
använder behörigheterna för användaren som kör kommandot för att skapa ACR-rolltilldelningen. Den här rollen tilldelas till den kubelet-hanterade identiteten. Mer information om AKS-hanterade identiteter finns i Sammanfattning av hanterade identiteter.
Ta bort integreringen mellan en ACR och ett AKS-kluster med kommandot az aks update
med parametern--detach-acr
och ett giltigt värde för acr-name eller acr-resource-id.
# Detach using acr-name
az aks update --name myAKSCluster --resource-group myResourceGroup --detach-acr <acr-name>
# Detach using acr-resource-id
az aks update --name myAKSCluster --resource-group myResourceGroup --detach-acr <acr-resource-id>
Importera en avbildning från Docker Hub till din ACR med hjälp av az acr import
kommandot .
az acr import --name <acr-name> --source docker.io/library/nginx:latest --image nginx:v1
Kontrollera att du har rätt AKS-autentiseringsuppgifter med kommandot az aks get-credentials
.
az aks get-credentials --resource-group myResourceGroup --name myAKSCluster
Skapa en fil med namnet acr-nginx.yaml med hjälp av följande YAML-exempel och ersätt acr-name med namnet på din ACR.
apiVersion: apps/v1
kind: Deployment
metadata:
name: nginx0-deployment
labels:
app: nginx0-deployment
spec:
replicas: 2
selector:
matchLabels:
app: nginx0
template:
metadata:
labels:
app: nginx0
spec:
containers:
- name: nginx
image: <acr-name>.azurecr.io/nginx:v1
ports:
- containerPort: 80
Kör distributionen i AKS-klustret med hjälp av kubectl apply
kommandot .
kubectl apply -f acr-nginx.yaml
Övervaka distributionen med kommandot kubectl get pods
.
kubectl get pods
Utdata bör visa två poddar som körs, enligt följande exempelutdata:
NAME READY STATUS RESTARTS AGE
nginx0-deployment-669dfc4d4b-x74kr 1/1 Running 0 20s
nginx0-deployment-669dfc4d4b-xdpd6 1/1 Running 0 20s
az aks check-acr
kommandot .Feedback om Azure Kubernetes Service
Azure Kubernetes Service är ett öppen källkod projekt. Välj en länk för att ge feedback:
Händelser
17 mars 21 - 21 mars 10
Gå med i mötesserien för att skapa skalbara AI-lösningar baserat på verkliga användningsfall med andra utvecklare och experter.
Registrera dig nuUtbildning
Modul
Konfigurera Azure Container Registry för distributioner av containerappar - Training
Lär dig hur du skapar och konfigurerar ett Azure Container Registry, processen med att skicka containeravbildningar till Azure Container Registry och utforska olika autentiseringsmetoder och säkerhetsfunktioner för Azure Container Registry.
Certifiering
Microsoft-certifierad: Azure-administratör associerad - Certifications
Visa viktiga kunskaper för att konfigurera, hantera, skydda och administrera viktiga professionella funktioner i Microsoft Azure.