共用方式為


針對發佈 Kubernetes 應用程式型容器供應項目時的問題進行疑難解答

發佈之後,Kubernetes 應用程式型容器供應項目會經歷下列高階流程來進行配套處理。

一個圖表展示了套件處理的三個階段,從「將套件複製到 Microsoft 擁有的註冊表」,接著「漏洞掃描」,然後到「擴展類型註冊」。

首先,雲端原生應用程式套件組合的內容會從您自己的登錄庫複製到 Microsoft 所擁有的 Azure Container Registry (ACR)。 從該處執行弱點掃描,以確保映像安全。 最後,Kubernetes 應用程式被註冊為 Azure Kubernetes Service (AKS) 叢集的 擴充功能 類型。 如果發行失敗,則可能是其中一個元件的問題。 請參閱下方的常見錯誤和相關風險降低步驟。

部署失敗,因為在 CNAB 中缺少構件

錯誤 描述 行動
“extensionRegistrationParameters 在套件的 manifest.yaml 中不能是 null 或空白。 如需詳細資訊,請參閱 建立指令清單檔案 Kubernetes 應用程式會封裝為 AKS 叢集延伸模組。 清單檔案提供建立擴展類型的輸入。 閱讀每個屬性的描述,並提供資訊。
在套件的 manifest.yaml 中,extensionRegistrationParameters 當中的 defaultScope 設為叢集時,namespace 不能為空或 null。 如需詳細資訊,請參閱 建立指令清單檔案 安裝在叢集範圍中的 Kubernetes 應用程式會使用提供做為命名空間的預設範圍。 請務必在指令清單檔案的 extensionRegistrationParameters 區段中提供命名空間

將成品從 ACR 複製到Microsoft擁有的 ACR 時,發佈會失敗

錯誤 描述 行動
對登錄 {sourceACRName} 的存取被拒絕。 您必須提供 MarketPlace 註冊表的存取權。 如需詳細資訊,請參閱 授與 Azure Container Registry 的存取權 在發佈過程中,Microsoft 會將已封裝為 CNAB 並上傳至 ACR 的 Kubernetes 應用程式,移動到 Microsoft 擁有的註冊庫。

若要這樣做,必須向負責該流程的 Microsoft 第一方應用程式授予許可權。 如果 Marketplace 發佈未提供許可權,就會顯示此錯誤。
如需詳細資訊,請參閱,為Microsoft的第一方應用程式授予適當的許可權
登錄 {sourceACRName}中找不到 CNAB 存放庫 {cnabBundle}。 您必須提供 MarketPlace 登錄的存取權。 如需詳細資訊,請參閱 授與 Azure Container Registry 的存取權 在 ACR 中找不到使用 CPA 工具封裝的 Kubernetes 應用程式。 請確定封包已成功上傳至登錄,並為 Microsoft 自家的應用程式提供適當的權限
CNAB 已被更新,但版本卻沒有更新。 您必須再次發佈,並將版本從 {latestBundle.tag} 遞增至 {currentTag.Major}。{currentTag.Minor}。{currentTag.Build + 1}。」 具有相同版本的方案已使用不同的 CNAB 發佈。 如果您的 CNAB 內容已變更,請遞增方案版本,然後再嘗試發布一次。

發佈失敗,錯誤提示:在 CreateUIDefinition 的 config 中,必須將 'ResourceGroup AllowExisting' 設定為 true。

如果 > 檔案中的參數 > config > basics > resourceGroup createUiDefinition.json allowExisting 屬性不存在或未設定為 true,就會發生此錯誤。

若要修正此錯誤,請確定 屬性設定為 true,如下列範例所示:

具有適當參數 createUiDefinition.json 檔案的螢幕快照。

將 'allowExisting' 屬性設定為 true,即可將您的應用程式部署至非空白的資源群組。 如需範例 CreateUIDefinition 檔案,請參閱 createUiDefinition.json範例。

發佈失敗,發生平台錯誤

錯誤 描述 行動
內部伺服器錯誤 可能是暫時性錯誤。 請再次嘗試發佈。

弱點掃描

您也可能因為圖像中的弱點而發生錯誤。 如需弱點掃描以及如何減輕問題的詳細資訊,請參閱 容器認證疑難解答