Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Dieser Artikel ist Teil einer Serie. Beginnen Sie mit der Übersicht.
Um containerisierte Anwendungen erfolgreich in Ihrem Azure Kubernetes Service (AKS)-Cluster bereitzustellen, ist es wichtig, die Konnektivität zwischen dem Cluster und der Containerregistrierung zu überprüfen. Dieser Schritt garantiert, dass Ihre Arbeitsknoten über die erforderlichen Berechtigungen zum Abrufen der erforderlichen Containerimages aus der Registrierung verfügen.
Identifizieren von Symptomen
Wenn das kubelet, das auf einem Agentknoten ausgeführt wird, die Container für einen Pod erstellt, kann ein oder mehrere Container aufgrund des Fehlers im ImagePullBackOff
enden.
ImagePullBackoff ist eine häufige Fehlermeldung in Kubernetes, die angibt, dass das erforderliche Containerimage nicht aus einer öffentlichen oder privaten Registrierung abgerufen werden kann. Verschiedene Faktoren können diesen Fehler verursachen, z. B. Netzwerkkonnektivitätsprobleme, ein falscher Bildname oder ein Tag, unzureichende Berechtigungen oder fehlende Anmeldeinformationen.
Der BackOff
Teil des Status bedeutet, dass Kubernetes kontinuierlich versucht, das Bild mit zunehmender Verzögerung zwischen jedem nachfolgenden Versuch abzurufen. Die Verzögerung erhöht sich schrittweise, bis sie einen vordefinierten Grenzwert erreicht, der in der Regel auf 300 Sekunden (5 Minuten) in Kubernetes festgelegt ist.
Es ist wichtig, die Registrierung und den Namen des Bilds auf Genauigkeit zu überprüfen. Stellen Sie außerdem sicher, dass Ihr AKS-Cluster über die erforderlichen Berechtigungen zum Abrufen von Images aus der entsprechenden Containerregistrierung verfügt.
Rollenzuweisungen
Wenn Sie eine Containerregistrierung an einen vorhandenen AKS-Cluster anfügen, wird die AcrPull-Rolle automatisch über die Registrierung der von Microsoft Entra verwalteten Identität zugewiesen, die den Agentpools in Ihrem AKS-Cluster zugeordnet ist. Weitere Informationen finden Sie unter Authentifizieren mit der Containerregistrierung von AKS.
Führen Sie den folgenden Befehl aus, um die verwaltete Kubelet-Identität eines Kubernetes-Clusters und deren aktuelle Rollenzuweisungen abzurufen:
# Get the kubelet managed identity.
ASSIGNEE=$(az aks show -g $RESOURCE_GROUP -n $NAME --query identityProfile.kubeletidentity.clientId -o tsv)
az role assignment list --assignee $ASSIGNEE --all -o table
Führen Sie den folgenden Befehl aus, um die AcrPull
Rolle der verwalteten Kubelet-Identität zuzuweisen:
AZURE_CONTAINER_REGISTRY_ID=$(az acr show --name <container-registry-name> --query id --output tsv)
az role assignment create --assignee $ASSIGNEE --scope $AZURE_CONTAINER_REGISTRY_ID --role acrpull
Behandeln von Problemen mit Azure Container Registry
In den folgenden Abschnitten finden Sie Anleitungen, auf die Sie verweisen können, wenn Netzwerk-, Anmelde- oder Leistungsprobleme bei einer Azure-Containerregistrierung auftreten.
Behandlung von Netzwerkproblemen
Wenn Probleme auftreten, die mit dem Zugriff auf eine Azure Container-Registrierung in einem virtuellen Netzwerk oder hinter einer Firewall oder einem Proxyserver zusammenhängen, sollten Sie die folgenden Lösungen in Betracht ziehen:
- Konfigurieren des Clientfirewallzugriffs.
- Konfigurieren sie den öffentlichen Zugriff auf die Registrierung.
- Konfigurieren des virtuellen Netzwerkzugriffs.
- Konfigurieren des Zugriffs für Dienste.
Beheben von Problemen bei der Anmeldung
Wenn beim Anmelden bei einer Azure-Containerregistrierung Authentifizierungs- und Autorisierungsprobleme auftreten, sollten Sie die folgenden Lösungen in Betracht ziehen:
- Überprüfen Sie die Docker-Konfiguration in Ihrer Umgebung.
- Geben Sie den richtigen Registrierungsnamen an.
- Überprüfen Sie die Anmeldeinformationen für den Zugriff auf die Registrierung.
- Konfigurieren Sie den öffentlichen Zugriff auf die Registrierung.
- Beheben Sie Probleme mit der Anmeldung.
- Überprüfen Sie, ob Anmeldeinformationen abgelaufen sind.
Behandeln von Leistungsproblemen
Wenn Leistungsprobleme mit einer Azure-Containerregistrierung auftreten, sollten Sie die folgenden Lösungen in Betracht ziehen:
- Aktivieren Sie den Artefaktcache.
- Überprüfen Sie die Netzwerkverbindungsgeschwindigkeit.
- Überprüfen Sie Die Clienthardware, die sich auf die Komprimierung oder Extraktionsgeschwindigkeit der Bildschicht auswirken kann.
- Überprüfen Sie konfigurierte Grenzwerte in der Registrierungsdienstebene oder -umgebung.
- Konfigurieren Sie die georeplizierte Registrierung für eine optimale Leistung mit Replikaten in nahe gelegenen Regionen.
- Optimieren Sie die DNS-Konfiguration für das Abrufen von einem geografisch entfernten Registrierungsreplikat.
Diese Leitfäden können Ihnen helfen, einen nahtlosen Bildabruf für Ihren AKS-Cluster sicherzustellen und einen reibungslosen Betrieb Ihrer Workloads sicherzustellen.
Integrieren einer Drittanbieter-Containerregistrierung
Wenn Sie eine Drittanbieter-Containerregistrierung verwenden, müssen Sie die entsprechenden ImagePullSecret
Anmeldeinformationen für die Registrierung erstellen, damit Ihr AKS-Cluster sicher auf die Containerimages zugreifen kann. Weitere Informationen finden Sie unter Erstellen eines Bild-Pullschlüssels. Stellen Sie sicher, dass Sie die richtigen Berechtigungen und Anmeldeinformationen eingerichtet haben, damit Sie die Verbindung mit der Containerregistrierung überprüfen und ihrem AKS-Cluster ermöglichen können, die erforderlichen Containerimages während der Bereitstellungen erfolgreich abzurufen. Diese bewährte Methode trägt dazu bei, eine reibungslose und zuverlässige Ausführung Ihrer containerisierten Workloads in Kubernetes sicherzustellen.
Beitragende
Dieser Artikel wird von Microsoft verwaltet. Sie wurde ursprünglich von den folgenden Mitwirkenden verfasst.
Hauptautoren:
- Paolo Salvadori | Principal Customer Engineer
- Francis Simy Nazareth | Senior Technical Specialist
Um nicht öffentliche LinkedIn-Profile anzuzeigen, melden Sie sich bei LinkedIn an.