クイックスタート: 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

Cloud Run が有効な GKE クラスタを作成する

クラスタを作成して 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-project に名前が my-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 を有効にしたクラスタにサービスがデプロイされました。

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

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

  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 の機能] まで下にスクロールし、[Cloud Run for Anthos] プルダウンで [無効] を選択します。

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

次のステップ

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

Cloud Run for Anthos on Google Cloud のアーキテクチャの概要については、下のページをご覧ください。このページでは、Cloud Run for Anthos を Google Kubernetes Engine クラスタにアドオンとしてインストールすることによる変更点について説明しています。