このページでは、サービスを作成する方法とサービスの情報を表示する方法について説明します。サービスは Knative serving の主なリソースです。
Service を作成する
コンテナ イメージを最初にデプロイするときに、新しいサービスとそのリビジョンを作成します。サービスの作成の詳細については、新しい Service のデプロイをご覧ください。
プロジェクトにあるサービスの一覧を表示する
プロジェクトで使用可能なサービスの一覧は、Google Cloud コンソールまたは Google Cloud CLI を使用して表示できます。
Console
サービスリストを表示するには:
Google Cloud コンソールで Knative serving に移動します。
プロジェクトに表示されたサービスのリストを調べます。
コマンドライン
プロジェクトのサービスを一覧表示するには:
gcloud run services list
割り当てられたラベルなど、サービス定義のプロパティを基準にこのリストをフィルタできます。
サービスをコピーする
Google Cloud コンソールまたは YAML を使用して、既存のサービスのコピーを作成できます。名前やリージョンなど、コピーに含まれる任意の要素を変更できます。
Console
サービスをコピーするには:
Google Cloud コンソールで Knative serving に移動します。
プロジェクトに関して表示されるサービスのリストから、コピーするサービスを選択します。
[コピー] をクリックします。
サービスのコピーのページで、必要に応じて値(リージョンなど)を設定または変更します。同じリージョンを保持する場合は、サービスに新しい名前を付ける必要があります。
[作成] をクリックするとコピーが作成され、新しいサービス名を使ってそれがデプロイされます。
YAML
--format=export
フラグを使用して、gcloud run services describe
コマンドで既存のサービスの構成を YAML ファイルにダウンロードできます。次に YAML ファイルを変更し、gcloud run services replace
コマンドを使用してこれらの変更をデプロイします。指定した属性のみを変更する必要があります。
ローカル ワークスペースの
service.yaml
という名前のファイルにサービスの構成をダウンロードします。gcloud run services describe SERVICE --format export > service.yaml
SERVICE は、Knative serving サービスの名前に置き換えます。
さまざまな構成に関するページで説明されている手順に沿って、サービスに必要な構成の変更を行います。
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
という形式になる必要があります。あるいは、値全体を削除すると、新しいリビジョン名が自動的に作成されます。
次のコマンドを使用してサービスをコピーします。
gcloud run services replace service.yaml
コピーを別のリージョンにデプロイするには、
--region
フラグを使用します。
サービスに関する詳細を表示する
サービスの詳細を表示するには、次の操作を行います。
Console
サービスの詳細を表示するには:
コマンドライン
サービスの詳細を表示するには:
gcloud run services describe 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
サービスの接続設定を変更するには:
Google Cloud コンソールで Knative serving に移動します。
表示されているサービスの一覧で目的のサービスをクリックし、サービスの詳細ビューを開きます。
[トリガー] タブをクリックします。
目的の設定を選択して、[保存] をクリックします。
コマンドライン
サービスの接続設定を変更するには、サービスを目的の接続設定に更新します。
gcloud run services update [SERVICE] --connectivity=[OPTION]
[SERVICE]
は、更新するサービスの名前に置き換えます。このパラメータは省略できますが、省略するとサービス名の入力を求められます。[OPTION]
は、internal
またはexternal
に置き換えます。
既存のサービスを削除する
サービスを削除すると、トラフィック処理中であるかどうかにかかわらず、このサービスに関連するすべてのリソースが削除されます。このサービスのリビジョンもすべて削除されます。
サービスを削除しても、削除されたリビジョンで使用されているコンテナ イメージは Container Registry から自動的に削除されません。Container Registry からコンテナ イメージを削除する方法については、イメージの削除をご覧ください。
サービスは完全に削除されます。元に戻すことも、復元することもできません。サービスを削除した後、同じクラスタに同じ名前で新しいサービスをデプロイすると、同じエンドポイント URL が使用されます。
Console
サービスを削除するには:
Google Cloud コンソールで Knative serving に移動します。
削除するサービスをサービスリストで探し、そのチェックボックスをクリックして選択します。
[削除] をクリックします。これにより、サービスのすべてのリビジョンが削除されます。
コマンドライン
サービスを削除するには、次のコマンドを使用します。
gcloud run services delete [SERVICE]
[SERVICE]
は、実際のサービス名に置き換えます。