共用方式為


針對成品串流進行疑難排解

本文中的疑難解答步驟可協助您解決在 Azure Container Registry (ACR) 中使用成品串流時可能會遇到的常見問題。 這些步驟和建議有助於診斷和解析與成品串流相關的問題,並提供基礎程序和記錄的深入解析以供偵錯之用。

徵兆

  • 轉換作業因為未知的錯誤而失敗。
  • 針對失敗的 AKS Pod 部署進行疑難排解。
  • Pod 條件指出 "UpgradeIfStreamableDisabled"。
  • 為串流成品使用摘要而非標籤。

原因

  • 驗證、網路延遲、影像擷取、串流作業的問題或其他問題。
  • 映像提取或串流、串流成品設定、映像來源和資源限制的問題。
  • ACR 設定或權限的問題。

轉換作業失敗

錯誤碼 錯誤訊息 疑難排解資訊
UNKNOWN_ERROR 轉換作業因為未知的錯誤而失敗。 由內部錯誤所造成。 在這裡重試有所幫助。 如果重試失敗,請連絡支援人員。
RESOURCE_NOT_FOUND 轉換作業失敗,因為找不到目標資源。 如果在登錄中找不到目標映像,請確認映像摘要中是否有拼字錯誤。 如果映像已遭刪除,或在目標區域中遺失 (例如,複寫一致性並非立即見效)
UNSUPPORTED_PLATFORM 映像平台目前不支援轉換。 一開始只支援 linux/amd64 映像。
NO_SUPPORTED_PLATFORM_FOUND 索引中的任何映像平台目前不支援轉換。 一開始只支援 linux/amd64 映像。 目標索引中找不到此平台的映像。
UNSUPPORTED_MEDIATYPE 映像 MediaType 不支援轉換。 轉換只能以具有下列媒體類型的映像為目標:application/vnd.oci.image.manifest.v1+json、application/vnd.oci.image.index.v1+json、application/vnd.docker.distribution.manifest.v2+json 或 application/vnd.docker.distribution.manifest.list.v2+json
UNSUPPORTED_ARTIFACT_TYPE 映像 ArtifactType 不支援轉換。 串流成品 (成品類型:application/vnd.azure.artifact.streaming.v1) 無法再次轉換。
IMAGE_NOT_RUNNABLE 無法執行的映像不支援轉換。 一開始只支援 linux/amd64 可執行的映像。

針對失敗的 AKS Pod 部署進行疑難排解

如果 AKS Pod 部署失敗,並出現與映像提取相關的錯誤,如下列範例所示。

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

若要針對這個問題進行疑難排解,您應該檢查下列指導方針:

  1. 確認 AKS 是否具有存取容器登錄 mystreamingtest.azurecr.io 的權限。
  2. 請確定容器登錄 mystreamingtest.azurecr.io 可存取並正確附加至 AKS。

檢查 "UpgradeIfStreamableDisabled" Pod 條件:

如果 AKS Pod 條件顯示 "UpgradeIfStreamableDisabled",請檢查映像是否來自 Azure Container Registry。

使用摘要而非串流成品的標籤:

如果您使用摘要而非標籤來部署串流成品 (例如,mystreamingtest.azurecr.io/jupyter/all-spark-notebook@sha256:4ef83ea6b0f7763c230e696709d8d8c398e21f65542db36e82961908bcf58d18),AKS Pod 事件和條件訊息將不會包含串流相關資訊。 不過,您會將快速容器啟動視為基礎容器引擎。 如果引擎偵測到實際的映像內容已串流處理,則此引擎會將映像串流至 AKS。