共用方式為


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

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

此圖顯示套件組合處理的三個階段,從「將套件組合複製到Microsoft擁有的登錄」到「弱點掃描」到「延伸模塊類型註冊」。

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

發行失敗,CNAB 中遺漏的成品

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

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

錯誤 描述 動作
「拒絕存取登錄 {sourceACRName}。 您必須提供 MarketPlace 登錄的存取權。 如需詳細資訊,請參閱 授與 Azure Container Registry 的存取權 在發佈程式期間,Microsoft將您的 Kubernetes 應用程式封裝為 CNAB,並上傳至 ACR,移至 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 內容已變更,請遞增方案版本,然後再嘗試發布一次。

發行失敗,且 'ResourceGroup AllowExisting 必須在 CreateUIDefinition 的 config 錯誤中設定為 true

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

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

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

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

發佈失敗,發生平台錯誤

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

弱點掃描

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