CPU 割り当ての構成

Knative serving コンテナ インスタンスそれぞれに割り当てる CPU の数を指定する方法について説明します。デフォルトでは、Knative serving で CPU の最小数と最大数は指定されていません。その代わりに、使用可能なリソースの量によってサービスが制限されます。CPU リソースの詳細については、コンテナ ランタイムの契約をご覧ください。

CPU 割り当ての設定と更新

構成を変更すると、新しいリビジョンが作成されます。明示的に更新しない限り、以降のリビジョンでも、この構成が自動的に設定されます。

新しいサービスをデプロイするか、既存のサービスを更新してリビジョンをデプロイする際に、Google Cloud コンソール、Google Cloud CLI、または YAML ファイルを使用して CPU 割り当てを設定できます。

コンソール

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

    Knative serving に移動

  2. デプロイ先の新しいサービスを構成する場合は、[サービスを作成] をクリックします。既存のサービスを構成する場合は、そのサービスをクリックし、[新しいリビジョンの編集とデプロイ] をクリックします。

  3. [詳細設定] で [コンテナ] をクリックします。

  4. プルダウン リストから目的の CPU 割り当てを選択します。Kubernetes CPU ユニットの数を選択できます。たとえば、1 CPU の場合は 1 を、0.4 CPU の場合には 400m を指定します。

  5. [次へ] をクリックして、次のセクションに進みます。

  6. [このサービスをトリガーする方法の構成] セクションで、サービスを呼び出すために使用する接続を選択します。

  7. [作成] をクリックしてイメージを 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 コマンドを使用してこれらの変更をデプロイします。指定した属性のみを変更する必要があります。

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

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

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

  2. ローカル ファイルで 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 を指定します。
  3. 次のコマンドを使用して、サービスを新しい構成に置き換えます。

    gcloud run services replace service.yaml