Delen via


Problemen oplossen bij het publiceren van een containeraanbieding op basis van een Kubernetes-toepassing

Eenmaal gepubliceerd, doorloopt een containeraanbieding op basis van een Kubernetes-toepassing het volgende proces op hoog niveau voor bundelverwerking.

Een diagram met de drie fasen van bundelverwerking, die loopt van 'Kopieer de bundel naar een register in eigendom van Microsoft' naar 'Scannen op beveiligingsproblemen' naar 'Registratie van extensietype'.

Eerst wordt de inhoud van de Cloud Native Application Bundle (CNAB) gekopieerd van uw eigen register naar een Azure Container Registry (ACR) van Microsoft. Van daaruit wordt scannen op beveiligingsproblemen uitgevoerd om ervoor te zorgen dat afbeeldingen veilig zijn. Ten slotte wordt de Kubernetes-toepassing geregistreerd als een -extensie type voor een AKS-cluster (Azure Kubernetes Service). Als het publiceren mislukt, kan het een probleem zijn met een van deze onderdelen. Zie hieronder voor veelvoorkomende fouten en gerelateerde risicobeperkingsstappen.

Publiceren mislukt met ontbrekende artefacten in CNAB

Fout Beschrijving Actie
extensionRegistrationParameters kan niet nul of leeg zijn in het manifest.yaml-bestand van uw pakket. Zie Het manifestbestand maken voor meer informatie Kubernetes-toepassingen worden verpakt als AKS-clusterextensies. Het manifestbestand biedt invoer voor het maken van het extensietype. Lees de beschrijving voor elke eigenschap en geef de informatie op.
naamruimte kan niet nul of leeg zijn voor defaultScope als cluster in extensionRegistrationParameters in manifest.yaml van uw pakket. Zie Het manifestbestand maken voor meer informatie Kubernetes-toepassingen die zijn geïnstalleerd in het clusterbereik, maken gebruik van het standaardbereik dat is opgegeven als de naamruimte. Zorg ervoor dat u een naamruimte opgeeft in de sectie extensionRegistrationParameters in uw manifestbestand

Het publiceren mislukt tijdens het kopiëren van de artefacten van uw ACR naar een ACR die eigendom is van Microsoft

Fout Beschrijving Handeling
Toegang tot register {sourceACRName} is geweigerd. U moet MarketPlace toegang geven tot het register. Zie Toegang verlenen tot uw Azure Container Registry- voor meer informatie Tijdens het publicatieproces verplaatst Microsoft uw Kubernetes-toepassing, die is verpakt als cnab en geüpload naar een ACR, naar een register dat eigendom is van Microsoft.

Hiervoor moet de eerste app van Microsoft die verantwoordelijk is voor dit proces, worden voorzien van machtigingen. Deze fout wordt weergegeven als de Marketplace-publicatie is uitgevoerd zonder de machtigingen op te geven.
Zie De first party-app van Microsoft voorzien van de juiste machtigingenvoor meer informatie.
"CNAB-opslagplaats {cnabBundle} kan niet worden gevonden in register {sourceACRName}. U moet MarketPlace toegang geven tot het register. Zie Toegang verlenen tot uw Azure Container Registry- voor meer informatie De Kubernetes-toepassing die is verpakt met behulp van het CPA-hulpprogramma, is niet te vinden in uw ACR. Zorg ervoor dat de bundel succesvol is geüpload naar uw register en voorzie de eerste partij app van Microsoft van de juiste toestemmingen.
"De CNAB is bijgewerkt zonder de versie bij te werken. U moet uw versie opnieuw publiceren en uw versie verhogen van {latestBundle.tag} naar {currentTag.Major}. {currentTag.Minor}. {currentTag.Build + 1}." Een plan met dezelfde versie wordt al gepubliceerd met behulp van een andere CNAB. Als uw CNAB-inhoud is gewijzigd, moet u de abonnementsversie verhogen en opnieuw proberen te publiceren.

Publiceren mislukt met de foutmelding 'ResourceGroup AllowExisting moet ingesteld zijn op true in de config van CreateUIDefinition'

Deze fout treedt op als de parameters > config > basisprincipes > resourceGroup > eigenschap allowExisting in het createUiDefinition.json bestand niet bestaan of niet zijn ingesteld op true.

U kunt deze fout oplossen door ervoor te zorgen dat de eigenschap is ingesteld op true, zoals wordt weergegeven in het onderstaande voorbeeld:

Schermopname van createUiDefinition.json bestand met de juiste parameters.

Door de eigenschap allowExisting in te stellen op true, kan uw toepassing worden geïmplementeerd in een resourcegroep die niet leeg is. Zie het voorbeeld op createUiDefinition.jsonvoor een voorbeeldbestand CreateUIDefinition.

Publiceren mislukt met platformfouten

Fout Beschrijving Actie
Interne serverfout Kan een tijdelijke fout zijn. Probeer opnieuw te publiceren.

Scannen op kwetsbaarheden

Mogelijk komt u ook fouten tegen vanwege kwetsbaarheden in uw afbeeldingen. Zie Problemen met certificering oplossenvoor meer informatie over kwetsbaarheidsscanning en hoe je problemen kunt beperken.