제품 유지보수

이 페이지에서는 Cloud Marketplace에서 제품을 가동한 후에 유지하고 업데이트하기 위한 지침을 설명합니다.

앱 업데이트 관리

제품을 업데이트하는 과정은 처음에 앱 패키지를 만드는 것과 비슷합니다. 먼저, 업데이트용 새 컨테이너 이미지 모음을 생성하고 이를 Container Registry 스테이징 저장소로 푸시해야 합니다. 새 버전을 추가하는지 기존 버전을 업데이트하는지에 따라 아래 단계를 수행하여 앱을 업데이트합니다.

새 버전 추가

Container Registry 스테이징 저장소에서 앱 이미지에 새로운 부 버전 태그를 지정합니다. 그런 다음, Producer Portal에서 앱 제출 단계를 따릅니다.

기존 버전 업데이트

Container Registry 스테이징 저장소에서 이미지에 현재 부 버전 태그를 지정합니다. 그런 다음, Producer Portal에서 아래의 앱 업데이트 단계를 따릅니다.

  1. Google Cloud Console에서 Producer Portal을 엽니다.

    https://console.cloud.google.com/producer-portal?project=YOUR_PUBLIC_PROJECT_ID
    

    YOUR_PUBLIC_PROJECT_ID를 Cloud Marketplace에 만든 공개 프로젝트의 ID로 바꿉니다(예: my-organization-public).

  2. 제품 목록에서 제품 ID를 클릭합니다.

  3. 제품의 개요 페이지에서 컨테이너 이미지 섹션으로 이동하고 수정을 클릭합니다.

  4. 제안된 출시 버전에 따라 수정을 클릭합니다. 저장소를 읽고 태그를 로드하는 데 몇 초 정도 걸릴 수 있습니다.

  5. 업데이트할 출시 버전을 클릭합니다.

  6. 표시 태그에서 Container Registry에서 업데이트한 이미지에 해당하는 다이제스트를 사용하는 출시 버전을 선택합니다.

  7. 출시 버전에 대한 모든 정보를 업데이트한 후 완료를 클릭합니다.

  8. 제품에 지원되는 출시 버전 추가를 완료했으면 저장 및 검증을 클릭합니다.

  9. 제출을 클릭하여 검토할 컨테이너 이미지를 제출합니다.

  10. 모든 검토가 승인되었으면 제품의 개요 페이지를 열고 게시를 클릭하여 제품을 게시하고 시작할 수 있습니다.

처음에 제출할 때와 같이 Cloud Marketplace팀에서 자동 테스트를 수행하고 제출을 검토합니다.

업데이트된 버전이 게시되면 새 고객에게 업데이트된 버전이 기본값으로 적용됩니다. 현재 고객에게는 기존 태그에 개시된 새 이미지가 표시됩니다. Cloud Marketplace 제품 페이지에서 배포하면 항상 이미지 다이제스트에 고정되며 자동으로 업데이트되지 않습니다. 또한 명령줄을 통해 앱을 배포하는 고객을 고려하여 다이제스트에 이미지를 고정하는 것이 좋습니다.

사용자가 자신의 앱 이미지를 업데이트할 수 있도록 업그레이드 단계를 사용자 가이드에 추가하는 것이 좋습니다.

지원 중단된 Kubernetes API에서 마이그레이션

Kubernetes API가 발전함에 따라 이전 API는 결국 지원이 중단되고 삭제됩니다. 즉, 앱과 최신 GKE 클러스터 간의 호환성이 사라질 수 있습니다. 일반적으로 기존 객체는 유지되므로 고객의 실행 중인 배포는 영향을 받지 않습니다.

새 앱 배포 실패를 방지하려면 다음 안내를 따르세요.

  1. GKE 출시 노트의 최신 GKE 버전 및 GKE 출시 일정의 예정된 버전을 검토합니다.
  2. 앱 매니페스트를 업데이트하여 일반 또는 공개 버전 채널에서 최신 또는 예정된 GKE 버전에서 삭제된 지원 중단 Kubernetes API 버전에 대한 종속 항목을 삭제합니다. Kubernetes 지원 중단된 API 마이그레이션 가이드를 참조하세요.
    • 예를 들어 가이드에 따르면 batch/v1beta1은 Kubernetes 버전 1.25에서 삭제될 예정이므로 batch/v1beta1 CronJob 사용을 batch/v1로 업데이트합니다.
    • 앱의 이전 출시 버전에 대한 매니페스트를 업데이트할 수 없는 경우 해당 출시 버전을 삭제하거나 스키마에서 k8sVersion 클러스터 제약조건을 설정하는 것이 좋습니다.
  3. 가급적 삭제하려는 지원 중단된 API를 지원하지 않는 Kubernetes 버전이 있는 클러스터에서 mpdev 도구를 사용하여 다시 빌드된 모든 컨테이너 이미지의 테스트를 완료합니다.
    • 예를 들어 Kubernetes 버전 1.22에서 삭제된 apiextensions.k8s.io/v1beta1 CustomResourceDefinition에 대한 업데이트를 테스트하는 데 Kubernetes 버전 1.22 클러스터를 사용합니다.
  4. 새 버전 추가 또는 기존 버전 업데이트 안내를 따라 포털에 변경사항을 제출합니다.

가격 변경사항

가격 변경사항은 특정 대기 기간이 지난 후에 적용되며, 즉각적이지 않습니다. 자세한 내용은 해당 계약서를 참조하세요.

  1. Google Cloud Console에서 Producer Portal을 엽니다.

    https://console.cloud.google.com/producer-portal?project=YOUR_PUBLIC_PROJECT_ID
    

    YOUR_PUBLIC_PROJECT_ID를 Cloud Marketplace에 만든 공개 프로젝트의 ID로 바꿉니다(예: my-organization-public).

  2. 제품 목록에서 제품 ID를 클릭합니다.

  3. 제품의 개요 페이지에서 가격 책정 검토로 이동하여 수정을 클릭하세요.

  4. 가격 책정을 변경합니다.

  5. 제출을 클릭하여 가격을 검토하도록 제출합니다.

  6. 모든 검토가 승인되었으면 제품의 개요 페이지를 열고 게시를 클릭하여 제품을 게시하고 시작할 수 있습니다.

앱 지원 중단

소프트웨어를 개발할 때 Cloud Marketplace에서 특정 출시 버전을 사용할 수 없게 할 수 있습니다.

앱 출시 버전 삭제

제품에서 출시 버전을 삭제하면 제품을 게시할 때 제품 세부정보 페이지에서 출시 버전이 즉시 삭제됩니다. 하지만 출시 버전을 삭제해도 공개 Container Registry에 게시된 이미지는 삭제되지 않습니다.

  1. Google Cloud 콘솔에서 Producer Portal을 엽니다.

    https://console.cloud.google.com/producer-portal?project=YOUR_PUBLIC_PROJECT_ID
    

    YOUR_PUBLIC_PROJECT_ID를 Cloud Marketplace에 만든 공개 프로젝트의 ID로 바꿉니다(예: my-organization-public).

  2. 제품 목록에서 제품 ID를 클릭합니다.

  3. 제품의 개요 페이지에서 컨테이너 이미지 섹션으로 이동한 다음 수정을 클릭합니다.

  4. 제안된 출시 버전 옆에 있는 수정을 클릭합니다. 저장소를 읽고 태그를 로드하는 데 몇 초 정도 걸릴 수 있습니다.

  5. 삭제할 출시 버전을 강조표시합니다.

  6. 삭제를 클릭하여 버전을 삭제합니다.

  7. 완료를 클릭합니다.

  8. 제품에 대한 출시 버전 삭제를 완료했으면 저장 및 검증을 클릭합니다.

  9. 제출을 클릭하여 검토할 컨테이너 이미지를 제출합니다.

  10. 모든 검토가 승인되었으면 제품의 개요 페이지를 열고 게시를 클릭하여 제품을 게시하고 시작할 수 있습니다.