Google Cloud 環境の設定

このページでは、Kubernetes アプリを配布できるように、Google Cloud 環境をセットアップする手順について説明します。

プロジェクトを作成

Google Cloud Marketplace パートナーになるの一環として、アプリのテストと配布に使用できるプロジェクトを設定します。

VM ソリューションを販売するためのプロジェクトがすでに設定されている場合、それらのプロジェクトを再利用できます。その場合、Container Registry の設定に進んでください。

主に Google Cloud Marketplace ソリューション用の新しいプロジェクトを作成することをおすすめします。プロジェクトを作成する手順については、プロジェクトの作成と管理をご覧ください。

プロジェクトを作成したら、プロジェクト閲覧者のロールを 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

ソリューションを作成するには:

  1. ページの上部にある [ソリューションを追加] をクリックします。

  2. ソリューションに名前を付け、ソリューション ID を確認します。 ソリューション ID は、Google Cloud Marketplace リスティングの URL で使用されます。

  3. [Solution Type] で、[Kubernetes app] を選択します。

  4. [Staging repo URL] に Container Registry リポジトリの URL を入力します。

  5. [作成] をクリックします。ソリューションの作成には数秒かかる場合があります。

この後のステップで、ソリューションの料金モデルとマーケティング情報を追加します。

Kubernetes Engine で開発クラスターを作成する

Google Kubernetes Engine を使用して、Kubernetes クラスタを管理およびスケーリングします。テストクラスタを作成して基本的なアプリをデプロイする場合は、Google Kubernetes Engine クイックスタートに従ってください。

mpdev 開発ツールをインストールする

mpdev ツールは、アプリケーション イメージをテストして公開するユーティリティをバンドルするコンテナです。リリース用のアプリケーションを送信するために mpdev をインストールする必要はありませんが、mpdev を実行して開発環境を確認し、アプリケーションが開発クラスターに正しくインストールされているかどうかをテストできます。

Google Cloud Marketplace ツールの GitHub リポジトリから mpdev をインストールします

mpdev を使用して環境を確認し、アプリケーションをテストする方法については、GitHub の mpdev リファレンスをご覧ください。

リリースを体系化する

一般に、アプリケーションのすべてのバージョンは、セマンティック バージョニング 2.0MAJOR.MINOR.PATCH 番号付け規則を遵守)を採用する必要があります。すべてのバージョンには、1.0.11.0.21.3.1 などの一意のバージョン番号が必要です。必要に応じて、バージョン番号の後にハイフンを追加して、1.3.1-alpha201910 などのプレリリース修飾子を追加します。プレリリース修飾子を使用すると、バージョンの作成時期を示すビルド日付など、役に立つ追加情報を保存して強調表示できます。

ソフトウェアはトラックに沿ってリリースすることをおすすめします。各トラックは、下位互換性のある更新が含まれた一連のバージョンです。この方法により、ユーザーは最小限の手動ステップでインストールを更新できます。アプリケーションの更新が管理できるようになると、ユーザーは数回クリックするだけで Cloud Console からデプロイメントを更新できます。

リリース トラックは、4.x などのメジャー バージョン、または 4.1.x などのマイナー バージョンをベースにすることが可能です。ベストプラクティスとして、latest などの一般的なバージョン名は使用しないでください。

たとえば、Google Cloud Marketplace でソフトウェアのバージョン 2.0 をリリースしていて、バージョン 2.0.12.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 からアプリをデプロイするときに実行されます。アプリ パッケージを作成するときに、デプロイ イメージを作成します。

たとえば、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