クイックスタート: Cloud Run for Anthos on Google Cloud へのデプロイ

このページでは、Cloud Run for Anthos on Google Cloud に対して有効なクラスタを作成し、事前にビルドしたサンプル コンテナをクラスタにデプロイする方法について説明します。

Qwiklabs のデモアカウントでもこのクイックスタートの手順に従うことができます。

始める前に

  1. Google アカウントにログインします。

    Google アカウントをまだお持ちでない場合は、新しいアカウントを登録します。

  2. Cloud Console のプロジェクト セレクタページで、Cloud プロジェクトを選択または作成します。

    プロジェクト セレクタのページに移動

  3. Google Cloud プロジェクトに対して課金が有効になっていることを確認します。 プロジェクトに対して課金が有効になっていることを確認する方法を学習する

  4. デプロイしたサンプル サービスにリクエストを送信する場合は、cURL をインストールします
  5. 次に説明する gcloud コマンドラインを設定します。

gcloud コマンドラインの設定

Cloud Run for Anthos on Google Cloud で gcloud コマンドラインを設定するには:

  1. Cloud SDK をインストールして初期化します

  2. プラットフォームを gke に設定し、gcloud のデフォルトのプロジェクト設定を先ほど作成したものに設定します。

    gcloud config set run/platform gke
        gcloud config set project PROJECT-ID

    [PROJECT-ID] は、作成したプロジェクトの ID で置き換えます。

  3. 新しいクラスタに必要なゾーンを設定します。GKE がサポートされていれば、どのゾーンでも使用できます。次に例を示します。

    gcloud config set compute/zone ZONE

    [ZONE] は、使用するゾーンで置き換えます。

  4. プロジェクトで次の API を有効にします。これは、クラスタの作成や、コンテナのビルドと Google Container レジストリへの公開で必要になります。

    gcloud services enable container.googleapis.com containerregistry.googleapis.com cloudbuild.googleapis.com
  5. インストール済みの gcloud コンポーネントを更新します。

    gcloud components update

GKE クラスタを作成して Cloud Run を有効にする

クラスタを作成して Cloud Run for Anthos on Google Cloud で有効にするには:

  1. 次のコマンドで新しいクラスタを作成します。

    gcloud container clusters create CLUSTER_NAME \
          --addons=HttpLoadBalancing,CloudRun \
          --machine-type=n1-standard-2 \
          --enable-stackdriver-kubernetes \
          --zone=ZONE

    置換

    • [CLUSTER_NAME] は、クラスタに付ける名前に置き換えます。
    • [ZONE] は、クラスタに使用しているゾーン(us-central1-a など)に置き換えます。GKE でサポートされているゾーンを使用できます。

    この手順では、クラスタの自動スケーリングを有効にしてクラスタサイズの自動調整を行いませんが、Cloud Run for Anthos on Google Cloud はクラスタ内のインスタンスを自動的にスケーリングします。

  2. クラスタの作成が完了するまで待機します。作成プロセス中に、次のようなメッセージが表示されます。

    Creating cluster my-cluster...done.
        Created [https://container.googleapis.com/v1beta1/ \
        projects/my-project/zones/us-central1-b/clusters/my-cluster].
        

    ここで、my-project は実際のプロジェクト ID です。プロジェクト my-projectmy-cluster という名前で新しい Google Kubernetes Engine クラスタを作成しました

  3. gcloud コマンドラインを使用するときに指定しなくても済むように、新しいクラスタとクラスタのロケーションを gcloud のデフォルトに設定します。

    gcloud config set run/cluster CLUSTER_NAME
        gcloud config set run/cluster_location us-central1-a

    [CLUSTER-NAME] はクラスタの名前に置き換えます。必要に応じて、us-central1-a の代わりに、クラスタに選択したロケーションを使用します。

サンプル コンテナをデプロイする

作成したクラスタにコンテナをデプロイするには:

  1. Cloud Run に移動します

  2. [サービスを作成] をクリックして、[サービスの作成] フォームを表示します。

    画像

    フォームで次の操作を行います。

    1. 開発プラットフォームとして Cloud Run for Anthos on Google Cloud を選択します。

    2. [使用可能なクラスタ] プルダウンメニューで、前の手順で作成したクラスタを選択します。

    3. サービス名として hello を使用します。別の名前を使用することもできますが、その場合は、cURL コマンドでサービスにアクセスするときに、この名前を使用してください。以下の説明では、hello という名前を使用することにします。

    4. [接続] で [外部] を選択すると、サービスを呼び出すことができます。

    5. [次へ] をクリックして、サービス作成フォームの 2 ページ目に進みます。

      画像

      フォームで次の操作を行います。

      1. gcr.io/cloudrun/hello をコンテナ イメージとして使用します。

      2. [作成] をクリックしてイメージを Cloud Run にデプロイし、デプロイの完了を待ちます。

Cloud Run for Anthos on Google Cloud を有効にしたクラスタにサービスをデプロイしました。

デプロイしたサービスにアクセスする

サービスをデプロイした後、Istio Ingress コントローラ用に作成されたロードバランサ サービスの外部 IP アドレスを使用して cURL からリクエストを送信し、サービスが機能していることを確認します。

  1. Cloud Console で Google Kubernetes Engine のページに移動します。

    Google Kubernetes Engine に移動

  2. 左側のナビゲーション パネルで、[Services と Ingress] をクリックするとサービスのリストが表示されます。

  3. クラスタ バージョンが 1.15.3-gke.19 以降、1.14.3-gke.12 以降、または 1.13.10-gke.8 以降である場合は、下方向にスクロールして istio-ingress サービスを表示します。その他のクラスタ バージョンの場合は、istio-ingressgateway サービスまで下にスクロールします。

  4. ロードバランサの横に表示されている外部 IP アドレスをコピーします。ポート設定がある場合は、コピー対象に含めません。たとえば、IP が XX.XXX.XX.XXX:15020 の場合、:15020 は省略します。表示されている他の IP アドレスは無視してください。

  5. hello以外のサービス名を使用した場合は、Host 文字列の hello を実際のサービス名に置き換えて cURL を呼び出します。

    curl -v -H "Host: hello.default.example.com" YOUR-IP

    [YOUR-IP] は、前のステップで取得した IP アドレスに置き換えます。

クリーンアップ

Cloud Run for Anthos on Google Cloud を無効にする

クラスタで Cloud Run for Anthos on Google Cloud を無効にするには:

  1. Cloud Console で Google Kubernetes Engine のページに移動します。

    Google Kubernetes Engine に移動

  2. Cloud Run for Anthos on Google Cloud を無効にするクラスタをクリックします。

  3. [編集] をクリックします。

  4. 下にスクロールして [Anthos Features] を表示し、[Cloud Run for Anthos] プルダウンから [Disable] を選択します。

  5. [保存] をクリックします。

次のステップ

コードソースからコンテナをビルドし、Container Registry に push してデプロイする方法については、以下をご覧ください。