Knative serving コンテナ インスタンスそれぞれに割り当てる CPU の数を指定する方法について説明します。デフォルトでは、Knative serving で CPU の最小数と最大数は指定されていません。その代わりに、使用可能なリソースの量によってサービスが制限されます。CPU リソースの詳細については、コンテナ ランタイムの契約をご覧ください。
CPU 割り当ての設定と更新
構成を変更すると、新しいリビジョンが作成されます。明示的に更新しない限り、以降のリビジョンでも、この構成が自動的に設定されます。
新しいサービスをデプロイするか、既存のサービスを更新してリビジョンをデプロイする際に、Google Cloud コンソール、Google Cloud CLI、または YAML ファイルを使用して CPU の割り当てを設定できます。
コンソール
Google Cloud コンソールで Knative serving に移動します。
デプロイ先の新しいサービスを構成する場合は、[サービスを作成] をクリックします。既存のサービスを構成する場合は、そのサービスをクリックし、[新しいリビジョンの編集とデプロイ] をクリックします。
[詳細設定] で [コンテナ] をクリックします。
プルダウン リストから目的の CPU 割り当てを選択します。Kubernetes CPU ユニットの数を選択できます。たとえば、1 CPU の場合は
1
を、0.4 CPU の場合には400m
を指定します。[次へ] をクリックして、次のセクションに進みます。
[このサービスをトリガーする方法の構成] セクションで、サービスを呼び出すために使用する接続を選択します。
[作成] をクリックしてイメージを Knative serving にデプロイし、デプロイの完了を待ちます。
コマンドライン
既存のサービスの場合は、
--cpu
パラメータを指定してgcloud run services update
コマンドを実行し、割り当てる CPU の数を設定します。gcloud run services update SERVICE --cpu CPU
次のように置き換えます。
- SERVICE は、実際のサービスの名前に置き換えます。
- CPU は、目的の CPU 割り当てに置き換えます。Kubernetes CPU ユニットの値を指定します。たとえば、1 CPU の場合は
1
を、0.4 CPU の場合には400m
を指定します。
新しいサービスの場合は、
--cpu
パラメータを指定してgcloud run deploy
コマンドを実行し、割り当てる CPU の数を設定します。gcloud run deploy SERVICE --image=IMAGE_URL --cpu CPU
次のように置き換えます。
- SERVICE: 実際のサービスの名前。
- IMAGE_URL は、コンテナ イメージへの参照(
gcr.io/cloudrun/hello
など)に置き換えます。 - CPU は、目的の CPU 割り当てに置き換えます。Kubernetes CPU ユニットの値を指定します。たとえば、1 CPU の場合は
1
を、0.4 CPU の場合には400m
を指定します。
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 サービスの名前に置き換えます。
ローカル ファイルで
cpu
属性を更新します。apiVersion: serving.knative.dev/v1 kind: Service metadata: name: SERVICE spec: template: spec: containers: - image: IMAGE resources: limits: cpu: CPU
次のように置き換えます。
- SERVICE は、Knative serving サービスの名前に置き換えます。
- IMAGE は、コンテナ イメージの URL に置き換えます。
- CPU は、目的の CPU 値に置き換えます。Kubernetes CPU ユニットで値を指定します。たとえば、1 CPU の場合は
1
を、0.4 CPU の場合には400m
を指定します。
次のコマンドを使用して、サービスを新しい構成に置き換えます。
gcloud run services replace service.yaml