サービスの管理

このページでは、サービスを作成する方法とサービスの情報を表示する方法について説明します。サービスは Knative serving の主なリソースです。

Service を作成する

コンテナ イメージを最初にデプロイするときに、新しいサービスとそのリビジョンを作成します。サービスの作成の詳細については、新しいサービスのデプロイをご覧ください。

プロジェクトにあるサービスの一覧を表示する

プロジェクトで使用可能なサービスの一覧は、Google Cloud コンソールまたは Google Cloud CLI を使用して表示できます。

Console

サービスリストを表示するには:

  1. Google Cloud コンソールで Knative serving に移動します。

    Knative serving に移動

  2. プロジェクトに表示されたサービスのリストを調べます。

コマンドライン

プロジェクトのサービスを一覧表示するには:

gcloud run services list

割り当てられたラベルなど、サービス定義のプロパティを基準にこのリストをフィルタできます。

サービスをコピーする

Google Cloud コンソールまたは YAML を使用して、既存のサービスのコピーを作成できます。名前やリージョンなど、コピーに含まれる任意の要素を変更できます。

コンソール

サービスをコピーするには:

  1. Google Cloud コンソールで Knative serving に移動します。

    Knative serving に移動

  2. プロジェクトに関して表示されるサービスのリストから、コピーするサービスを選択します。

    1. [Copy] をクリックします。

    2. サービスのコピーのページで、必要に応じて値(リージョンなど)を設定または変更します。同じリージョンを保持する場合は、サービスに新しい名前を付ける必要があります。

    3. [作成] をクリックするとコピーが作成され、新しいサービス名を使ってそれがデプロイされます。

YAML

--format=export フラグを使用して、gcloud run services describe コマンドで既存のサービスの構成を YAML ファイルにダウンロードできます。次に YAML ファイルを変更し、gcloud run services replace コマンドを使用してこれらの変更をデプロイします。指定した属性のみを変更する必要があります。

  1. ローカル ワークスペースの service.yaml という名前のファイルにサービスの構成をダウンロードします。

    gcloud run services describe SERVICE --format export > service.yaml

    SERVICE は、Knative serving サービスの名前に置き換えます。

  2. さまざまな構成に関するページで説明されている手順に沿って、サービスに必要な構成の変更を行います。

     apiVersion: serving.knative.dev/v1
     kind: Service
     metadata:
       annotations:
         ...
       name: SERVICE
       ...
     spec:
       template:
         metadata:
           annotations:
           ...
           name: REVISION-NAME
    
    • 同じ Kubernetes クラスタにコピーをデプロイする場合は、SERVICE をそのコピーの名前に置き換えます。コピーを別の Kubernetes クラスタにデプロイする場合は、同じ名前を使用できます。

    • REVISION-NAME の値はサービス名(SERVICE)で始まる必要があります。たとえば、新しいサービス名が mynewfoo の場合、リビジョン名は mynewfoo-whatever という形式になる必要があります。あるいは、値全体を削除すると、新しいリビジョン名が自動的に作成されます。

  3. 次のコマンドを使用してサービスをコピーします。

    gcloud run services replace service.yaml

    コピーを別のリージョンにデプロイするには、--region フラグを使用します。

サービスに関する詳細を表示する

サービスの詳細を表示するには、次の操作を行います。

コンソール

サービスの詳細を表示するには:

  1. Google Cloud コンソールで Knative serving に移動します。

    Knative serving に移動

  2. 表示されているサービスの一覧で目的のサービスをクリックし、サービスの詳細ビューを開きます。

  3. [リビジョン]、[ログ]、[詳細] の各タブを確認します。[リビジョン] タブにはリビジョンのリストが表示されます。[ログ] タブにはサービスログが表示されます。[詳細] タブには、現在の認証または接続の設定が表示されます。

コマンドライン

サービスの詳細を表示するには:

gcloud run services describe SERVICE
SERVICE は、サービスの名前に置き換えます。

--format フラグを使用して出力をフォーマットできます。たとえば、YAML としてフォーマットします。

gcloud run services describe SERVICE --format yaml

--format export を使用すると、自動生成のラベルやステータスを含まない YAML としてエクスポートできます。

gcloud run services describe SERVICE --format export

--format フラグを使用して、サービスの URL を取得することもできます。

gcloud run services describe SERVICE --format='value(status.url)'

サービスのリビジョンの詳細については、リビジョンの管理をご覧ください。

サービスの接続設定を変更する

Knative serving サービスには、次の 2 つの接続オプションがあります。

  • 外部。外部からサービスへのアクセスを許可します。

  • 内部: クラスタ内の他のサービスにのみアクセスを制限します。

コンソールまたは Google Cloud CLI を使用して、設定を変更できます。

Console

サービスの接続設定を変更するには:

  1. Google Cloud コンソールで Knative serving に移動します。

    Knative serving に移動

  2. 表示されているサービスの一覧で目的のサービスをクリックし、サービスの詳細ビューを開きます。

  3. [トリガー] タブをクリックします。

  4. 目的の設定を選択して、[保存] をクリックします。

コマンドライン

サービスの接続設定を変更するには、サービスを目的の接続設定に更新します。

gcloud run services update [SERVICE] --connectivity=[OPTION]
  • [SERVICE] は、更新するサービスの名前に置き換えます。このパラメータは省略できますが、省略するとサービス名の入力を求められます。

  • [OPTION] は、internal または external に置き換えます。

既存のサービスを削除する

サービスを削除すると、トラフィック処理中であるかどうかにかかわらず、このサービスに関連するすべてのリソースが削除されます。このサービスのリビジョンもすべて削除されます。

サービスを削除しても、削除されたリビジョンで使用されているコンテナ イメージは Container Registry から自動的に削除されません。Container Registry からコンテナ イメージを削除する方法については、イメージの削除をご覧ください。

サービスは完全に削除されます。元に戻すことも、復元することもできません。サービスを削除した後、同じクラスタに同じ名前で新しいサービスをデプロイすると、同じエンドポイント URL が使用されます。

Console

サービスを削除するには:

  1. Google Cloud コンソールで Knative serving に移動します。

    Knative serving に移動

  2. 削除するサービスをサービスリストで探し、そのチェックボックスをクリックして選択します。

  3. [削除] をクリックします。これにより、サービスのすべてのリビジョンが削除されます。

コマンドライン

サービスを削除するには、次のコマンドを使用します。

gcloud run services delete [SERVICE]

[SERVICE] は、実際のサービス名に置き換えます。