針對成品串流進行疑難排解
本文中的疑難解答步驟可協助您解決在 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
若要針對這個問題進行疑難排解,您應該檢查下列指導方針:
- 確認 AKS 是否具有存取容器登錄
mystreamingtest.azurecr.io
的權限。 - 請確定容器登錄
mystreamingtest.azurecr.io
可存取並正確附加至 AKS。
檢查 "UpgradeIfStreamableDisabled" Pod 條件:
如果 AKS Pod 條件顯示 "UpgradeIfStreamableDisabled",請檢查映像是否來自 Azure Container Registry。
使用摘要而非串流成品的標籤:
如果您使用摘要而非標籤來部署串流成品 (例如,mystreamingtest.azurecr.io/jupyter/all-spark-notebook@sha256:4ef83ea6b0f7763c230e696709d8d8c398e21f65542db36e82961908bcf58d18),AKS Pod 事件和條件訊息將不會包含串流相關資訊。 不過,您會將快速容器啟動視為基礎容器引擎。 如果引擎偵測到實際的映像內容已串流處理,則此引擎會將映像串流至 AKS。