Behandeln von Problemen beim Veröffentlichen eines anwendungsbasierten Containerangebots von Kubernetes
Nach der Veröffentlichung durchläuft ein auf Kubernetes basierendes Containerangebot den folgenden allgemeinen Fluss für die Bündelverarbeitung.
Zunächst werden die Inhalte des Cloud Native Application Bundle (CNAB) aus Ihrer eigenen Registrierung in eine microsoft-eigene Azure Container Registry (ACR) kopiert. Von dort aus wird eine Überprüfung auf Sicherheitsrisiken durchgeführt, um sicherzustellen, dass Images sicher sind. Schließlich wird die Kubernetes-Anwendung als Erweiterungstyp für einen Azure Kubernetes Service (AKS)-Cluster registriert. Wenn die Veröffentlichung fehlschlägt, kann es ein Problem mit einer dieser Komponenten sein. Im Folgenden finden Sie allgemeine Fehler und zugehörige Schritte zur Risikominderung.
Die Veröffentlichung schlägt mit fehlenden Artefakten im CNAB fehl.
Error | BESCHREIBUNG | Aktion |
---|---|---|
"extensionRegistrationParameters darf in manifest.yaml ihres Pakets nicht null oder leer sein. Weitere Informationen finden Sie unter Erstellen der Manifestdatei | Kubernetes-Anwendungen werden als AKS-Clustererweiterungen verpackt. Die Manifestdatei stellt Eingaben für die Erstellung des Erweiterungstyps bereit. | Lesen Sie die Beschreibung für jede Eigenschaft, und geben Sie die Informationen an. |
"Namespace darf für defaultScope nicht null oder leer sein als Cluster in extensionRegistrationParameters in manifest.yaml ihres Pakets. Weitere Informationen finden Sie unter Erstellen der Manifestdatei | Kubernetes-Anwendungen, die im Clusterbereich installiert sind, verwenden den Standardbereich, der als Namespace bereitgestellt wird. | Stellen Sie sicher, dass Sie einen Namespace im extensionRegistrationParameters Abschnitt in der Manifestdatei bereitstellen. |
Die Veröffentlichung schlägt fehl, während die Artefakte von Ihrem ACR in ein Microsoft-eigenes ACR kopiert werden.
Error | BESCHREIBUNG | Aktion |
---|---|---|
"Der Zugriff auf die Registrierung {sourceACRName} wurde verweigert. Sie müssen MarketPlace-Zugriff auf die Registrierung bereitstellen. Weitere Informationen finden Sie unter Gewähren des Zugriffs auf Ihre Azure-Containerregistrierung | Während des Veröffentlichungsprozesses verschiebt Microsoft Ihre Kubernetes-Anwendung, die als CNAB verpackt und in eine ACR hochgeladen wird, in eine microsoft-eigene Registrierung. Dazu muss die für diesen Prozess zuständige Erstanbieter-App mit Berechtigungen versehen werden. Dieser Fehler wird angezeigt, wenn die Marketplace-Veröffentlichung ohne Angabe der Berechtigungen durchgeführt wurde. |
Weitere Informationen finden Sie unter Bereitstellen der Erstanbieter-App von Microsoft mit den entsprechenden Berechtigungen. |
"Das CNAB-Repository {cnabBundle} wurde in der Registrierung {sourceACRName} nicht gefunden. Sie müssen MarketPlace-Zugriff auf die Registrierung bereitstellen. Weitere Informationen finden Sie unter Gewähren des Zugriffs auf Ihre Azure-Containerregistrierung | Die Kubernetes-Anwendung, die mit dem CPA-Tool verpackt wurde, finden Sie in Ihrem ACR nicht. | Stellen Sie sicher, dass das Bündel erfolgreich in Ihre Registrierung hochgeladen wurde, und stellen Sie der Erstanbieter-App von Microsoft die richtigen Berechtigungen bereit. |
"Das CNAB wurde aktualisiert, ohne die Version zu aktualisieren. Sie müssen die Version erneut veröffentlichen und von {latestBundle.tag} auf {currentTag.Major} erhöhen. {currentTag.Minor}. {currentTag.Build + 1}." | Ein Plan mit derselben Version wird bereits mit einem anderen CNAB veröffentlicht. | Wenn sich Ihre CNAB-Inhalte geändert haben, erhöhen Sie die Planversion, und versuchen Sie erneut, die Veröffentlichung zu veröffentlichen. |
Fehler beim Veröffentlichen mit 'ResourceGroup AllowExisting' muss in der CreateUIDefinition-Konfiguration auf "true" festgelegt werden.
Dieser Fehler tritt auf, wenn die Parameter > config > basics > resourceGroup > allowExisting-Eigenschaft in der createUiDefinition.json
Datei nicht vorhanden ist oder nicht auf "true" festgelegt ist.
Um diesen Fehler zu beheben, stellen Sie sicher, dass die Eigenschaft auf "true" festgelegt ist, wie im folgenden Beispiel gezeigt:
Durch Festlegen der Eigenschaft "allowExisting" auf "true" kann Ihre Anwendung in einer Ressourcengruppe bereitgestellt werden, die nicht leer ist. Eine Beispieldatei "CreateUIDefinition" finden Sie im Beispiel unter createUiDefinition.json.
Die Veröffentlichung schlägt mit Plattformfehlern fehl.
Error | BESCHREIBUNG | Aktion |
---|---|---|
Interner Server-Fehler | Möglicherweise ist ein vorübergehender Fehler aufgetreten. | Versuchen Sie es erneut zu veröffentlichen. |
Überprüfung auf Sicherheitsrisiken
Möglicherweise treten auch Fehler aufgrund von Sicherheitsrisiken in Ihren Images auf. Weitere Informationen zur Überprüfung von Sicherheitsrisiken und zum Beheben von Problemen finden Sie unter "Problembehandlung bei der Containerzertifizierung".