Problemen met streaming van artefacten oplossen

Met de stappen voor probleemoplossing in dit artikel kunt u veelvoorkomende problemen oplossen die kunnen optreden bij het gebruik van artefactstreaming in Azure Container Registry (ACR). Deze stappen en aanbevelingen kunnen helpen bij het vaststellen en oplossen van problemen met betrekking tot het streamen van artefacten en bieden inzicht in de onderliggende processen en logboeken voor foutopsporing.

Symptomen

  • De conversiebewerking is mislukt vanwege een onbekende fout.
  • Problemen met mislukte implementaties van AKS-pods oplossen.
  • Podvoorwaarden geven 'UpgradeIfStreamableDisabled' aan.
  • Gebruik van samenvatting in plaats van tag voor streamingartefact.

Oorzaken

  • Problemen met verificatie, netwerklatentie, ophalen van installatiekopieën, streamingbewerkingen of andere problemen.
  • Problemen met het ophalen of streamen van installatiekopieën, configuraties van streaming-artefacten, afbeeldingsbronnen en resourcebeperkingen.
  • Problemen met ACR-configuraties of -machtigingen.

Conversiebewerking is mislukt

Foutcode Foutbericht Informatie over probleemoplossing
UNKNOWN_ERROR De conversiebewerking is mislukt vanwege een onbekende fout. Veroorzaakt door een interne fout. Een nieuwe poging helpt hier. Als het opnieuw proberen mislukt, neemt u contact op met de ondersteuning.
RESOURCE_NOT_FOUND De conversiebewerking is mislukt omdat de doelresource niet is gevonden. Als de doelinstallatiekopieën niet in het register worden gevonden, controleert u typfouten in de samenvatting van de installatiekopieën. Als de installatiekopie wordt verwijderd of ontbreekt in de doelregio (replicatieconsistentie is bijvoorbeeld niet direct)
UNSUPPORTED_PLATFORM Conversie wordt momenteel niet ondersteund voor het installatiekopieënplatform. Alleen linux-/amd64-installatiekopieën worden in eerste instantie ondersteund.
NO_SUPPORTED_PLATFORM_FOUND Conversie wordt momenteel niet ondersteund voor een van de afbeeldingsplatforms in de index. Alleen linux-/amd64-installatiekopieën worden in eerste instantie ondersteund. Er is geen afbeelding met dit platform gevonden in de doelindex.
UNSUPPORTED_MEDIATYPE Conversie wordt niet ondersteund voor het image MediaType. Conversie kan alleen gericht zijn op installatiekopieën met mediatype: application/vnd.oci.image.manifest.v1+json, application/vnd.oci.image.index.v1+json, application/vnd.docker.distribution.manifest.v2+json of application/vnd.docker.distribution.manifest.list.v2+json
UNSUPPORTED_ARTIFACT_TYPE Conversie wordt niet ondersteund voor het image ArtifactType. Streamingartefacten (artefacttype: application/vnd.azure.artifact.streaming.v1) kunnen niet opnieuw worden geconverteerd.
IMAGE_NOT_RUNNABLE Conversie wordt niet ondersteund voor niet-uitgevoerde installatiekopieën. Alleen linux-/amd64-runnable installatiekopieën worden in eerste instantie ondersteund.

Problemen met mislukte implementaties van AKS-pods oplossen

Als de implementatie van AKS-pods mislukt met een fout met betrekking tot het ophalen van installatiekopieën, zoals in het volgende voorbeeld.

Failed to pull image "mystreamingtest.azurecr.io/jupyter/all-spark-notebook:latest":
rpc error: code = Unknown desc = failed to pull and unpack image
"mystreamingtest.azurecr.io/latestobd/jupyter/all-spark-notebook:latest":
failed to resolve reference "mystreamingtest.azurecr.io/jupyter/all-spark-notebook:latest":
unexpected status from HEAD request to http://localhost:8578/v2/jupyter/all-spark-notebook/manifests/latest?ns=mystreamingtest.azurecr.io:503 Service Unavailable

Als u dit probleem wilt oplossen, moet u de volgende richtlijnen controleren:

  1. Controleer of de AKS machtigingen heeft voor toegang tot het containerregister mystreamingtest.azurecr.io.
  2. Zorg ervoor dat het containerregister mystreamingtest.azurecr.io toegankelijk is en correct is gekoppeld aan AKS.

Controleren op 'UpgradeIfStreamableDisabled' Pod Condition:

Als in de AKS-podvoorwaarde 'UpgradeIfStreamableDisabled' wordt weergegeven, controleert u of de installatiekopieën afkomstig zijn van een Azure Container Registry.

Digest gebruiken in plaats van tag voor streamingartefact:

Als u het streaming-artefact implementeert met behulp van digest in plaats van tag (bijvoorbeeld mystreamingtest.azurecr.io/jupyter/all-spark-notebook@sha256:4ef83ea6b0f7763c230e696709d8d8c398e21f65542db36e82961908bcf58d18), bevat het bericht over de AKS-pod en voorwaarde geen streaminggerelateerde informatie. U ziet echter dat de container snel wordt opgestart als de onderliggende containerengine. Deze engine streamt de afbeelding naar AKS als de werkelijke inhoud van de afbeelding wordt gestreamd.