이 페이지에서는 Kubernetes 앱을 배포할 수 있도록 Google Cloud 환경을 설정하는 단계를 설명합니다.
작업공간 만들기
Google Cloud 콘솔에서 Cloud Marketplace 제품에 주로 사용할 새 프로젝트를 만드는 것이 좋습니다.
Cloud Marketplace에 제출하는 제품을 관리하려면 -public
으로 끝나는 프로젝트 ID를 사용하여 새 프로젝트를 만드는 것이 좋습니다. 제품에 대해 프로젝트를 만들려면 프로젝트 만들기 및 관리를 참조하세요.
사용할 Cloud Marketplace에서 판매할 프로젝트를 이미 설정한 경우 Identity and Access Management(IAM) 역할이 Kubernetes에 올바르게 부여되었는지 확인하고 Container Registry 설정으로 건너뜁니다.
프로젝트에 대한 역할 부여
프로젝트 설정을 완료하려면 다음 단계를 완료하세요.
프로젝트를 만든 후 프로젝트 수준에서 다음 역할을 부여합니다.
cloud-commerce-marketplace-onboarding@twosync-src.google.com
에 프로젝트 편집자cloud-commerce-marketplace-onboarding@twosync-src.google.com
및managed-services@cloud-marketplace.iam.gserviceaccount.com
에 Service Management 관리자(roles/servicemanagement.serviceAdmin
)cloud-commerce-producer@system.gserviceaccount.com
에 구성 편집자(roles/servicemanagement.configEditor
)
프로젝트에 대한 액세스 권한을 부여하려면 리소스에 대한 액세스 권한 부여, 변경, 취소를 참조하세요.
서비스 수준에서 다음 역할을
cloud-commerce-procurement@system.gserviceaccount.com
에 부여합니다.- 서비스 소비자(
roles/servicemanagement.serviceConsumer
) - 서비스 컨트롤러(
roles/servicemanagement.serviceController
)
서비스 수준에서 액세스 권한을 부여하는 단계는 API에 대한 액세스 권한 부여 및 취소를 참조하세요.
- 서비스 소비자(
보안 연락처를 설정합니다. 자세한 내용은 알림 연락처 관리를 참조하세요.
Cloud Marketplace팀에서 제공하는 프로젝트 정보 양식을 작성합니다.
Container Registry 설정
앱의 컨테이너 이미지를 호스팅하려면 Container Registry 저장소가 필요합니다. Artifact Analysis가 계속해서 앱 이미지의 취약점을 스캔해 주므로 제품을 Cloud Marketplace에 제출하기 전에 문제를 검토하고 해결할 수 있습니다.
Container Registry, Docker, Google Cloud SDK를 설정하려면 Container Registry 빠른 시작을 따르세요.
Container Registry를 설정한 후 레지스트리가 포함된 프로젝트에서 cloud-commerce-marketplace-onboarding@twosync-src.google.com
에 프로젝트 뷰어 역할을 부여합니다.
Container Analysis API 사용 설정
Container Registry에서 컨테이너 이미지의 취약점을 스캔하는 Artifact Analysis API를 사용 설정해야 합니다. Artifact Analysis의 취약점 스캔에 대한 개요는 Container Registry 문서를 참조하세요.
Cloud Marketplace에 제품 추가
Cloud Marketplace에서 제품을 만들고 게시하려면 Producer Portal을 사용합니다. Cloud Marketplace 제품 정보 양식을 작성하면 파트너 엔지니어가 자동으로 이를 사용 설정합니다.
Producer Portal에서 제품을 게시하려면 제품 항목을 만든 후 다음 정보를 검토용으로 제출합니다.
- 제품 세부정보: 제품의 목록 정보 및 마케팅 정보를 추가합니다.
- 가격 책정: 가격 책정 모델을 지정하고 선택하여 고객이 제품 요금을 지불할 방법을 결정합니다.
- 컨테이너 이미지: 컨테이너 이미지가 포함된 Google Container Registry 저장소를 제공합니다.
- 오픈소스 규정 준수: 제품이 Google의 오픈소스 소프트웨어 정책을 준수하는지 확인합니다.
이러한 검토는 언제든지 원하는 순서로 제출할 수 있습니다. 검토하는 데 최대 2주가 걸릴 수 있으므로 최대한 일찍 요구사항을 검토하고 시작하는 것이 좋습니다.
제품의 Cloud Marketplace 항목을 만들려면 다음 안내를 따르세요.
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
).페이지 위에서 제품 추가를 클릭합니다.
Kubernetes를 선택합니다.
제품 이름 아래에서 제품 이름을 지정하고 제품 ID를 확인합니다. 제품 ID는 Cloud Marketplace 목록의 URL에 사용됩니다.
만들기를 클릭합니다. 제품을 만들려면 몇 초 정도 걸릴 수 있습니다.
이후 단계에서 솔루션의 가격 책정 모델 및 마케팅 정보를 추가합니다.
Kubernetes Engine에서 개발 클러스터 만들기
Google Kubernetes Engine을 사용하여 Kubernetes 클러스터를 관리하고 확장합니다. 테스트 클러스터를 만들고 여기에 기본 앱을 배포하려면 Google Kubernetes Engine 빠른 시작을 따르세요.
mpdev
개발자 도구를 설치합니다.
mpdev
도구는 앱 이미지를 테스트하고 게시하기 위해 유틸리티를 번들로 제공하는 컨테이너입니다. mpdev
을 설치할 때 출시할 앱을 제출할 필요는 없지만 mpdev
을 실행하여 개발 환경을 검증하고 앱이 개발 클러스터에 올바르게 설치되는지 테스트 할 수 있습니다.
Cloud Marketplace 도구 GitHub 저장소에서 mpdev
를 설치합니다.
mpdev
을 사용하여 환경을 확인하고 앱을 테스트하는 방법에 대한 자세한 내용은 GitHub의 mpdev 참조를 참조하세요.
출시 구성
일반적으로 앱의 모든 버전은 MAJOR.MINOR.PATCH
번호 지정 규칙을 따르는 시맨틱 버전 관리 2.0을 채택해야 합니다. 모든 버전에는 1.0.1
, 1.0.2
, 1.3.1
등과 같은 고유한 버전 번호가 있어야 합니다.
선택적으로 버전 번호 뒤에 하이픈을 추가하여 1.3.1-alpha201910
같은 출시 전 한정자를 추가합니다. 출시 전 한정자는 버전을 만든 날짜를 나타내는 빌드 날짜와 같이 유용한 추가 정보를 저장하고 강조 표시하는 데 사용할 수 있습니다.
트랙에서 소프트웨어를 출시하는 것이 좋습니다. 각 트랙은 이전 버전과의 호환되는 업데이트가 있는 일련의 버전입니다. 출시 트랙은 4.1.x
와 같은 부 버전을 기반으로 해야 합니다. 가장 좋은 방법은 latest
와 같은 일반적인 버전 이름을 사용하지 않는 것입니다.
예를 들어 Cloud Marketplace에서 소프트웨어 버전 2.0
을 출시하고 버전 2.0.1
, 2.0.5
등이 2.0
과 호환될 것으로 예상되는 경우 2.0
출시 트랙에서 이러한 출시 버전을 구성합니다.
앱의 이전 버전과 호환되지 않는 버전 또는 사용자가 수동 마이그레이션 단계를 수행해야 하는 버전을 출시할 경우에는 새 트랙에서 출시하여 사용자가 업데이트를 계획할 수 있도록 합니다.
제품 식별자 선택
회사, 제품, 컨테이너 이미지에 다음 식별자를 선택해야 합니다. 이러한 식별자는 Cloud Marketplace URL 및 컨테이너 이미지 URI를 만드는 데 사용됩니다.
회사 이름. 예를 들어 회사 이름이 Examplesoft Inc.인 경우
examplesoft
식별자를 사용할 수 있습니다.제품 이름. 예를 들어 제품 이름이 Example Pro인 경우
example-pro
식별자를 사용합니다.제품의 출시 트랙(예 :
4.0
)컨테이너 이미지. 앱에서 각 컨테이너 이미지에 대해 고유한 식별자를 선택합니다. 다음 식별자는 모든 앱에 필요합니다.
- 기본 이미지: 이 컨테이너 이미지는 제품의 기본 이미지이며, 제품과 동일한 식별자를 사용합니다. 예를 들어 제품 식별자가
example-pro
인 경우 기본 이미지는 동일한 식별자를 사용합니다. deployer
: 트랙에 대한 배포 컨테이너 이미지입니다. 배포 컨테이너는 사용자가 Google Cloud 콘솔에서 앱을 배포할 때 실행됩니다. 앱 패키지를 만들 때 배포 이미지를 만듭니다.
- 기본 이미지: 이 컨테이너 이미지는 제품의 기본 이미지이며, 제품과 동일한 식별자를 사용합니다. 예를 들어 제품 식별자가
예를 들어 Examplesoft Inc. 회사는 해당 제품인 Example Pro에 대해 다음과 같은 식별자를 선택합니다.
이름 | 식별자 | |
---|---|---|
회사 | Examplesoft Inc | examplesoft |
제품 | Example Pro | example-pro |
이미지 [1](기본) | Example Pro 서버 | 해당 사항 없음 |
이미지 [2] | Example Queue | example-queue |
이미지 [배포자] | 해당 사항 없음 | 배포자 |
출시 트랙 [1] | 버전 4.x.x | 4.0 |
출시 트랙 [2] | 버전 5.x.x | 5.0 |
이러한 식별자에 대해서는 다음 정보가 자동으로 생성됩니다.
Cloud Marketplace의 제품 URL:
https://console.cloud.google.com/marketplace/details/examplesoft/example-pro
컨테이너 이미지 URI:
marketplace.gcr.io/examplesoft/example-pro:4.0
marketplace.gcr.io/examplesoft/example-pro/example-queue:4.0
marketplace.gcr.io/examplesoft/example-pro/deployer:4.0
marketplace.gcr.io/examplesoft/example-pro:5.0
marketplace.gcr.io/examplesoft/example-pro/example-queue:5.0
marketplace.gcr.io/examplesoft/example-pro/deployer:5.0