アーティファクト ストリーミングのトラブルシューティング
この記事のトラブルシューティング手順は、Azure Container Registry (ACR) でアーティファクト ストリーミングを使うときに発生する可能性のある一般的な問題を解決するのに役立ちます。 これらの手順と推奨事項は、アーティファクト ストリーミングに関連する問題の診断と解決に役立つだけでなく、基になるプロセスとログに関する、デバッグのための分析情報を提供するのにも役立ちます。
現象
- Conversion operation failed due to an unknown error. (不明なエラーが原因で、変換操作が失敗しました。)
- 失敗した AKS ポッドのデプロイのトラブルシューティング。
- ポッドの状態が "UpgradeIfStreamableDisabled" を示す。
- タグの代わりにダイジェストをアーティファクトのストリーミングに使用する。
原因
- 認証、ネットワーク待ち時間、イメージの取得、ストリーミング操作、またはその他に関する問題。
- イメージのプルまたはストリーミング、アーティファクトのストリーミングの構成、イメージ ソース、リソースの制約に関する問題。
- ACR の構成またはアクセス許可に関する問題。
変換操作が失敗した
エラー コード | エラー メッセージ | トラブルシューティングの情報 |
---|---|---|
UNKNOWN_ERROR | Conversion operation failed due to an unknown error. (不明なエラーが原因で、変換操作が失敗しました。) | 内部エラーが原因で発生します。 この場合は再試行が役に立ちます。 再試行に失敗する場合、サポートに連絡してださい。 |
RESOURCE_NOT_FOUND | Conversion operation failed because target resource isn't 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 | Conversion isn't supported for the image ArtifactType. (イメージ ArtifactType の変換はサポートされていません。) | ストリーミング アーティファクト (アーティファクトの種類: application/vnd.azure.artifact.streaming.v1) をもう一度変換することはできません。 |
IMAGE_NOT_RUNNABLE | Conversion isn't supported for nonrunnable images. (実行できないイメージの変換はサポートされていません。) | 最初は、実行できる linux/amd64 イメージのみがサポートされています。 |
失敗した AKS ポッドのデプロイのトラブルシューティング
次の例のようなイメージのプルに関連するエラーで、AKS ポッドのデプロイが失敗する場合。
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
この問題をトラブルシューティングするには、次のガイドラインを調べる必要があります。
- コンテナー レジストリ
mystreamingtest.azurecr.io
にアクセスするためのアクセス許可が AKS にあるか確認します。 - コンテナー レジストリ
mystreamingtest.azurecr.io
がアクセス可能で、AKS に適切にアタッチされていることを確認します。
ポッドの状態 "UpgradeIfStreamableDisabled" を調べる。
AKS ポッドの状態が "UpgradeIfStreamableDisabled" と示される場合は、イメージが Azure Container Registry からのものかどうかを調べます。
タグの代わりにダイジェストをアーティファクトのストリーミングに使用する:
タグの代わりにダイジェスト (例: mystreamingtest.azurecr.io/jupyter/all-spark-notebook@sha256:4ef83ea6b0f7763c230e696709d8d8c398e21f65542db36e82961908bcf58d18) を使ってストリーミング アーティファクトをデプロイする場合、AKS ポッドイベントと状態メッセージにストリーミング関連情報は含まれません。 ただし、基になるコンテナー エンジンとしてのコンテナーの起動が速くなります。 このエンジンは、実際のイメージ コンテンツがストリーミングされることを検出した場合、イメージを AKS にストリーミングします。