Kubernetes 애플리케이션 기반 컨테이너 제품을 게시하는 동안 발생하는 문제 해결
게시되면 Kubernetes 애플리케이션 기반 컨테이너 제품은 번들 처리를 위해 다음과 같은 높은 수준의 흐름을 거행합니다.
먼저 CNAB(클라우드 네이티브 애플리케이션 번들)의 콘텐츠가 사용자 고유의 레지스트리에서 Microsoft 소유의 ACR(Azure Container Registry)로 복사됩니다. 여기에서 취약성 검사를 수행하여 이미지의 보안을 보장합니다. 마지막으로 Kubernetes 애플리케이션은 AKS(Azure Kubernetes Service) 클러스터의 확장 유형으로 등록됩니다. 게시가 실패하면 이러한 구성 요소 중 하나에 문제가 있을 수 있습니다. 일반적인 오류 및 관련 완화 단계는 아래를 참조하세요.
CNAB에서 누락된 아티팩트가 있는 게시 실패
오류 | 설명 | 작업 |
---|---|---|
"extensionRegistrationParameters는 패키지의 manifest.yaml에서 null이거나 비워 둘 수 없습니다. 자세한 내용은 매니페스트 파일 만들기를 참조 하세요. | Kubernetes 애플리케이션은 AKS 클러스터 확장으로 패키지됩니다. 매니페스트 파일은 확장 형식 만들기에 대한 입력을 제공합니다. | 각 속성에 대한 설명을 읽고 정보를 제공합니다. |
"네임스페이스는 패키지의 manifest.yaml에 있는 extensionRegistrationParameters에서 cluster로 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로 설정해야 합니다.' 오류로 게시가 실패합니다.
이 오류는 매개 변수 > 구성 > 기본 resourceGroup > > allowExisting 속성이 createUiDefinition.json
파일에 없거나 true로 설정되지 않은 경우에 발생합니다.
이 오류를 해결하려면 아래 예제와 같이 속성이 true로 설정되어 있는지 확인합니다.
'allowExisting' 속성을 true로 설정하면 애플리케이션을 비어 있지 않은 리소스 그룹에 배포할 수 있습니다. 샘플 CreateUIDefinition 파일은 createUiDefinition.json 예제를 참조하세요.
플랫폼 오류로 게시 실패
오류 | 설명 | 작업 |
---|---|---|
내부 서버 오류 | 일시적인 오류일 수 있습니다. | 다시 게시해 보세요. |
취약성 검색
이미지의 취약성으로 인해 오류가 발생할 수도 있습니다. 취약성 검사 및 문제를 완화하는 방법에 대한 자세한 내용은 컨테이너 인증 문제 해결을 참조 하세요.