このページでは、Kubernetes アプリを配布できるように、Google Cloud 環境をセットアップする手順について説明します。
プロジェクトを作成
Google Cloud Marketplace パートナーになるの一環として、アプリのテストと配布に使用できるプロジェクトを設定します。
VM プロダクトを販売するためのプロジェクトがすでに設定されている場合、それらのプロジェクトを再利用できます。その場合、Container Registry の設定に進んでください。
Google Cloud Marketplace に送信するプロダクトを管理するために、プロジェクト ID が -public
で終わる新しいプロジェクトを作成することをおすすめします。プロダクトのプロジェクトを作成するには、プロジェクトの作成と管理をご覧ください。
プロジェクトを作成したら、プロジェクト閲覧者のロールを marketplace-ops@cloud.google.com
に付与します。プロジェクトにアクセス権を付与する手順については、リソースへのアクセス権の付与、変更、取り消しをご覧ください。
プロダクトの作成中に、Container Registry リポジトリのトラブルシューティングなど、プロジェクトのデバッグに支援が必要な場合は、プロジェクト編集者のロールを marketplace-support@cloud.google.com
に付与してください。
プロジェクトを作成したら、Google Cloud Marketplace チームから渡されるプロジェクト情報フォームを記入します。
Container Registry を設定する
アプリのコンテナ イメージをホストするには、Container Registry リポジトリが必要です。お客様がアプリをデプロイする前に問題を確認して対処できるように、Container Analysis によって継続的にアプリのイメージがスキャンされて脆弱性がチェックされます。
Container Registry、Docker、Google Cloud SDK を設定するには、Container Registry クイックスタートに従ってください。
Container Registry を設定したら、レジストリを含むプロジェクトで、プロジェクト閲覧者のロールを marketplace-ops@cloud.google.com
に付与します。
Container Analysis API を有効にする
Container Analysis API を有効にする必要があります。この API により、Container Registry のコンテナ イメージがスキャンされて脆弱性がチェックされます。Container Analysis の脆弱性スキャンの概要については、Container Registry のドキュメントをご覧ください。
パートナー ポータルにプロダクトを追加する
パートナー ポータルを使用して、アプリに関するマーケティング情報を追加し、料金モデルを入力します。プロジェクト情報フォームに記入すると、パートナー エンジニアがパートナー ポータルを有効にします。
この段階で必要なことは、パートナー ポータルでプロダクトのソリューション エントリを作成するだけです。この後のステップでマーケティング情報を追加します。
パートナー ポータルの直接リンクは次のとおりです。
https://console.cloud.google.com/partner/solutions?project=YOUR_PUBLIC_PROJECT_ID
ソリューションを作成するには:
ページの上部にある [ソリューションを追加] をクリックします。
ソリューションに名前を付け、ソリューション ID を確認します。 ソリューション ID は、Google Cloud Marketplace リスティングの URL で使用されます。
[Solution Type] で、[Kubernetes app] を選択します。
[Staging repo URL] に Container Registry リポジトリの URL を入力します。
[作成] をクリックします。ソリューションの作成には数秒かかる場合があります。
この後のステップで、ソリューションの料金モデルとマーケティング情報を追加します。
Kubernetes Engine で開発クラスターを作成する
Google Kubernetes Engine を使用して、Kubernetes クラスタを管理およびスケーリングします。テストクラスタを作成して基本的なアプリをデプロイする場合は、Google Kubernetes Engine クイックスタートに従ってください。
mpdev
開発ツールをインストールする
mpdev
ツールは、アプリ イメージをテストして公開するユーティリティをバンドルするコンテナです。リリース用のアプリを送信するために mpdev
をインストールする必要はありませんが、mpdev
を実行して開発環境を確認し、アプリが開発クラスターに正しくインストールされているかどうかをテストできます。
Google Cloud Marketplace ツールの GitHub リポジトリから mpdev
をインストールします。
mpdev
を使用して環境を確認し、アプリをテストする方法については、GitHub の mpdev リファレンスをご覧ください。
リリースを体系化する
一般に、アプリのすべてのバージョンは、セマンティック バージョニング 2.0(MAJOR.MINOR.PATCH
番号付け規則を遵守)を採用する必要があります。すべてのバージョンには、1.0.1
、1.0.2
、1.3.1
などの一意のバージョン番号が必要です。必要に応じて、バージョン番号の後にハイフンを追加して、1.3.1-alpha201910
などのプレリリース修飾子を追加します。プレリリース修飾子を使用すると、バージョンの作成時期を示すビルド日付など、役に立つ追加情報を保存して強調表示できます。
ソフトウェアはトラックに沿ってリリースすることをおすすめします。各トラックは、下位互換性のある更新が含まれた一連のバージョンです。この方法により、ユーザーは最小限の手動ステップでインストールを更新できます。アプリの更新が管理できるようになると、ユーザーは数回クリックするだけで Cloud Console からデプロイメントを更新できます。
リリース トラックは、4.x
などのメジャー バージョン、または 4.1.x
などのマイナー バージョンをベースにすることが可能です。ベストプラクティスとして、latest
などの一般的なバージョン名は使用しないでください。
たとえば、Google Cloud Marketplace でソフトウェアのバージョン 2.0
をリリースしていて、バージョン 2.0.1
、2.0.5
などが 2.0
と下位互換性があると期待される場合は、これらのリリースは 2.0
リリース トラックの下にまとめます。このトラックの更新をリリースすると、ユーザーは Cloud Console でインストールを更新するように求められます。
アプリの下位互換性のあるバージョン、またはユーザーが手動の移行手順を実行する必要があるバージョンをリリースする場合は、新しいトラックでリリースして、ユーザーが更新を計画できるようにします。
商品 ID を選択する
Google Cloud Marketplace の URL を作成するために使用される会社、商品、およびコンテナ イメージの次の識別子と、コンテナ イメージの URI を選択する必要があります。
会社の名前。たとえば、会社名が Examplesoft Inc.の場合、識別子
examplesoft
を使用できます。商品の名前。たとえば、商品の名前が Example Pro の場合、識別子
example-pro
を使用します。4.0
など、商品のリリース トラック。コンテナ イメージ。アプリの各コンテナ イメージに一意の ID を選択します。すべてのアプリに次の ID が必要です。
- メインイメージ: このコンテナ イメージは、商品のメインイメージであり、商品と同じ ID が使用されます。たとえば、商品 ID が
example-pro
の場合、プライマリ イメージは同じ ID を使用します。 deployer
: トラックのデプロイ コンテナ イメージ。デプロイ コンテナは、ユーザーが Google Cloud Console からアプリをデプロイするときに実行されます。アプリ パッケージを作成するときに、デプロイ イメージを作成します。
- メインイメージ: このコンテナ イメージは、商品のメインイメージであり、商品と同じ ID が使用されます。たとえば、商品 ID が
たとえば、Examplesoft Inc. 社は、自社の商品である Example Pro に対して次の ID を選択しています。
名前 | ID | |
---|---|---|
会社 | Examplesoft Inc | examplesoft |
商品 | Example Pro | example-pro |
イメージ [1](メイン) | Example Pro サーバー | なし |
イメージ [2] | Example Queue | example-queue |
イメージ [デプロイヤ] | なし | deployer |
リリース トラック [1] | バージョン 4.x.x | 4.0 |
リリース トラック [2] | バージョン 5.x.x | 5.0 |
これらの ID では、次の情報が自動的に生成されます。
Google 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