Kubernetes アプリケーション ベースのコンテナー オファーの発行時の問題のトラブルシューティング
発行されると、Kubernetes アプリケーション ベースのコンテナー オファーは、バンドル処理のための次の大まかなフローを経ます。
まず、クラウド ネイティブ アプリケーション バンドル (CNAB) の内容が、独自のレジストリから Microsoft 所有の Azure Container Registry (ACR) にコピーされます。 そこから、イメージが安全であることを確認するために脆弱性スキャンが行なわれます。 最後に、Kubernetes アプリケーションは、Azure Kubernetes Service (AKS) クラスターの拡張機能の種類として登録されます。 発行が失敗した場合は、これらのコンポーネントのいずれかに問題がある可能性があります。 一般的なエラーと関連する軽減手順については、以下を参照してください。
CNAB にアーティファクトが見つからない状態で発行が失敗する
エラー | 説明 | アクション |
---|---|---|
"extensionRegistrationParameters は、パッケージの manifest.yaml で null または空にすることはできません。 詳細については、「マニフェスト ファイルの作成」を参照してください 。 | Kubernetes アプリケーションは、AKS クラスター拡張機能としてパッケージ化されます。 マニフェスト ファイルは、拡張機能の種類を作成するための入力を提供します。 | 各プロパティの説明を読み、情報を指定します。 |
"パッケージの manifest.yaml の extensionRegistrationParameters のクラスターとして defaultScope の名前空間を null または空にすることはできません。 詳細については、「マニフェスト ファイルの作成」を参照してください 。 | クラスター スコープにインストールされている Kubernetes アプリケーションでは、名前空間として提供される既定のスコープが使用されます。 | マニフェスト ファイルのセクションに名前空間を extensionRegistrationParameters 指定してください |
ACR から Microsoft 所有の ACR に成果物をコピー中に発行が失敗する
エラー | 説明 | アクション |
---|---|---|
"レジストリ {sourceACRName} へのアクセスが拒否されました。 レジストリへの MarketPlace アクセスを提供する必要があります。 詳細については、「Azure Container Registry へのアクセスを許可する」を参照してください 。 | 公開プロセス中に、Microsoft は CNAB としてパッケージ化され、ACR にアップロードされた Kubernetes アプリケーションを Microsoft 所有のレジストリに移動します。 そのためには、このプロセスを担当する Microsoft のファースト パーティ アプリにアクセス許可を付与する必要があります。 このエラーは、アクセス許可を指定せずに Marketplace の発行が行われた場合に表示されます。 |
詳細については、「適切なアクセス許可を Microsoft のファースト パーティ アプリに提供する」を参照してください。 |
"CNAB リポジトリ {cnabBundle} がレジストリ {sourceACRName} に見つかりません。 レジストリへの MarketPlace アクセスを提供する必要があります。 詳細については、「Azure Container Registry へのアクセスを許可する」を参照してください 。 | CPA ツールを使用してパッケージ化された Kubernetes アプリケーションが ACR に見つかりません。 | バンドルがレジストリに正常にアップロードされていることを確認し 、適切なアクセス許可を Microsoft のファースト パーティ アプリに提供します。 |
"CNAB はバージョンを更新せずに更新されました。 もう一度発行し、バージョンを {latestBundle.tag} から {currentTag.Major} にインクリメントする必要があります。{currentTag.Minor}。{currentTag.Build + 1}"。 | 同じバージョンのプランは、別の CNAB を使用して既に公開されています。 | CNAB の内容が変更された場合は、プランのバージョンをインクリメントして、もう一度発行してみてください。 |
CreateUIDefinition の構成エラーで 'ResourceGroup AllowExisting を true に設定する必要があります' で発行が失敗する
このエラーは、ファイル内createUiDefinition.json
のパラメーター>構成>の基本 > resourceGroup > allowExisting プロパティが存在しないか、true に設定されていない場合に発生します。
このエラーを修正するには、次の例に示すように、プロパティが true に設定されていることを確認します。
'allowExisting' プロパティを true に設定すると、アプリケーションを空ではないリソース グループにデプロイできます。 CreateUIDefinition ファイルのサンプルについては、createUiDefinition.jsonの例を参照してください。
プラットフォーム エラーで発行が失敗する
エラー | 説明 | アクション |
---|---|---|
内部サーバー エラー | 一時的なエラーである可能性があります。 | もう一度発行してみてください。 |
脆弱性のスキャン
また、イメージの脆弱性が原因でエラーが発生する可能性もあります。 脆弱性スキャンの詳細と問題を軽減する方法については、コンテナー認定のトラブルシューティングに関するページを参照してください。