기본적으로 Knative serving은 수신 요청 수를 기준으로 인스턴스 수에 맞게 확장됩니다. 하지만 서비스의 지연 시간을 단축하고 콜드 스타트 횟수를 제한해야 할 경우에는 실행 상태로 유지하고 요청 처리를 위해 준비할 최소 컨테이너 인스턴스 수를 지정하여 이러한 기본 동작을 변경할 수 있습니다.
IMAGE_URL을 컨테이너 이미지에 대한 참조(예: gcr.io/cloudrun/hello)로 바꿉니다.
MIN-VALUE를 요청을 수신할 수 있도록 웜 상태로 유지하기 위해 원하는 컨테이너 인스턴스 수로 바꿉니다. 최소 인스턴스 설정을 삭제하려면 default를 지정합니다.
YAML
--format=export 플래그를 사용하여 gcloud run services describe 명령어로 YAML 파일에 기존 서비스 구성을 다운로드할 수 있습니다.
그런 다음 gcloud run services replace 명령어로 YAML 파일을 수정하고 변경사항을 배포할 수 있습니다.
지정된 속성만 수정해야 합니다.
[[["이해하기 쉬움","easyToUnderstand","thumb-up"],["문제가 해결됨","solvedMyProblem","thumb-up"],["기타","otherUp","thumb-up"]],[["이해하기 어려움","hardToUnderstand","thumb-down"],["잘못된 정보 또는 샘플 코드","incorrectInformationOrSampleCode","thumb-down"],["필요한 정보/샘플이 없음","missingTheInformationSamplesINeed","thumb-down"],["번역 문제","translationIssue","thumb-down"],["기타","otherDown","thumb-down"]],["최종 업데이트: 2025-09-01(UTC)"],[],[],null,["# Using minimum instances\n\nLearn how to enable idle instances for your services by configuring the minimum\ninstances setting.\n\nBy default, Knative serving\n[scales](/kubernetes-engine/enterprise/knative-serving/docs/instance-autoscaling) up to the number of instances\nbased on the number of incoming requests. However,\nif your service requires reduced latency and you want to limit the number of\ncold starts, you can change this default behavior by specifying a minimum number\nof container instances to be kept running and ready to serve requests.\n\nInstances kept running in this way do incur [billing costs](/kubernetes-engine/enterprise/knative-serving/pricing).\n\nRevisions and minimum instances\n-------------------------------\n\nMinimum instances are started only if the revision is *addressable*. A revision\nis addressable if either of the following is true:\n\n- It receives a percentage of the traffic.\n- It was assigned a revision tag.\n\nSetting and updating minimum instances\n--------------------------------------\n\nAny configuration change leads to the\ncreation of a new revision. Subsequent revisions will also automatically get\nthis configuration setting unless you make explicit updates to change it.\n\nBy default, container instances have `min-instances` turned off, with a setting\nof `0`. You can change this default using the using the Google Cloud console,\nor the Google Cloud CLI when you deploy a new\n[service](/kubernetes-engine/enterprise/knative-serving/docs/deploying#service) or update an existing service and\ndeploy a [revision](/kubernetes-engine/enterprise/knative-serving/docs/deploying#revision): \n\n### Console\n\n\n1. Go to Knative serving in the Google Cloud console:\n\n [Go to Knative serving](https://console.cloud.google.com/kubernetes/run)\n2. Click **Create Service** if you are configuring a\n new service you are deploying to. If you are configuring an\n existing service, click on the service, then click\n **Edit \\& Deploy New Revision**.\n\n3. Under *Advanced settings* , click **Container**.\n\n4. In the field labelled *Minimum number of instances*,\n specify the desired number of container instances to be kept warm, ready to receive requests.\n\n5. Click **Next** to continue to the next section.\n\n6. In the **Configure how this service is triggered** section,\n select which connectivity you would like to use to invoke the service.\n\n7. Click **Create** to deploy the image to Knative serving and wait\n for the deployment to finish.\n\n### Command line\n\n- For existing services, set the minimum number of container instances by\n running the `gcloud run services update` command with the\n [`--min-instances`](/sdk/gcloud/reference/run/services/update#--min-instances)\n parameter:\n\n ```bash\n gcloud run services update SERVICE --min-instances MIN-VALUE\n ```\n\n Replace:\n - \u003cvar translate=\"no\"\u003eSERVICE\u003c/var\u003e with the name of your service.\n - \u003cvar translate=\"no\"\u003eMIN-VALUE\u003c/var\u003e with the desired number of container instances to be kept warm, ready to receive requests. Specify `default` to clear any minimum instance setting.\n- For new services, set the minimum number of container instances by running\n the `gcloud run deploy` command with the\n [`--min-instances`](/sdk/gcloud/reference/run/deploy#--min-instances)\n parameter:\n\n ```bash\n gcloud run deploy SERVICE --image=IMAGE_URL --min-instances MIN-VALUE\n ```\n\n Replace:\n - \u003cvar translate=\"no\"\u003eSERVICE\u003c/var\u003e with the name of your service.\n - \u003cvar translate=\"no\"\u003eIMAGE_URL\u003c/var\u003e with a reference to the container image, for example, `gcr.io/cloudrun/hello`.\n - \u003cvar translate=\"no\"\u003eMIN-VALUE\u003c/var\u003e with the desired number of container instances to be kept warm, ready to receive requests. Specify `default` to clear any minimum instance setting.\n\n### YAML\n\n| **Caution:** Deploying configuration changes using YAML files replaces the configuration of your existing services. Since a YAML file completely overwrites all configurations, you should avoid using multiple methods to modify your services. For example, do not use YAML files in conjunction with the Google Cloud console or `gcloud` commands.\n\nYou can download the configuration of an existing service into a\nYAML file with the `gcloud run services describe` command by using the\n[`--format=export`](/sdk/gcloud/reference/run/services/describe) flag.\nYou can then modify that YAML file and deploy\nthose changes with the `gcloud run services replace` command.\nYou must ensure that you modify only the specified attributes.\n\n1. Download the configuration of your service into a file named\n `service.yaml` on local workspace:\n\n ```bash\n gcloud run services describe SERVICE --format export \u003e service.yaml\n ```\n\n Replace \u003cvar translate=\"no\"\u003eSERVICE\u003c/var\u003e with the name of your\n Knative serving service.\n2. In your local file, update the `autoscaling.knative.dev/minScale:`\n attribute:\n\n ```yaml\n spec:\n template:\n metadata:\n annotations:\n autoscaling.knative.dev/minScale: '\u003cvar translate=\"no\"\u003eMIN-INSTANCE\u003c/var\u003e' \n ```\n\n Replace:\n - \u003cvar translate=\"no\"\u003eMIN-VALUE\u003c/var\u003ecode\\\u003e with the desired number of container instances to be kept warm, ready to receive requests. Specify `default` to clear any minimum instance setting.\n3. Replace the service with its new configuration using the following command:\n\n ```bash\n gcloud run services replace service.yaml\n ```"]]