Cloud Run for Anthos 서비스에 사용할 수 있는 최대 컨테이너 인스턴스 수를 설정하는 방법을 알아봅니다. Cloud Run for Anthos에서 최대 인스턴스를 지정하면 수신 요청에 대한 응답으로 서비스의 확장을 제한할 수 있습니다. 이 설정을 사용하여 비용을 제어하거나 데이터베이스와 같은 백업 서비스에 대한 연결 수를 제한할 수 있습니다.
Cloud Run for Anthos가 컨테이너 인스턴스를 자동 확장하는 방법에 대한 자세한 내용은 인스턴스 자동 확장을 참조하세요.
최대 인스턴스 설정 및 업데이트
구성을 변경하면 새 버전이 생성됩니다. 이를 변경하는 명시적 업데이트가 없으면 이후 버전에도 이 구성 설정이 자동으로 적용됩니다.
기본적으로 컨테이너 인스턴스 수는 무한 확장이 가능합니다. 새 서비스를 배포하거나 기본 서비스를 업데이트하고 버전을 배포하는 경우 Google Cloud Console 또는 Google Cloud CLI를 사용하여 최대 인스턴스 수의 상한값을 설정할 수 있습니다.
콘솔
Google Cloud 콘솔에서 Cloud Run for Anthos로 이동합니다.
배포할 새 서비스를 구성하려면 서비스 만들기를 클릭합니다. 기존 서비스를 구성하려면 해당 서비스를 클릭한 다음 새 버전 수정 및 배포를 클릭합니다.
고급 설정에서 컨테이너를 클릭합니다.
최대 인스턴스 수로 라벨이 지정된 필드에서 원하는 최대 컨테이너 인스턴스 수를 지정합니다.
다음을 클릭하여 다음 섹션으로 진행합니다.
이 서비스가 트리거되는 방식 구성 섹션에서 서비스를 호출하는 데 사용할 연결을 선택합니다.
만들기를 클릭하여 Cloud Run for Anthos에 이미지를 배포하고 배포가 완료될 때까지 기다립니다.
명령줄
기존 서비스의 경우
--max-instances
매개변수를 사용하여gcloud run services update
명령어를 실행해 최대 컨테이너 인스턴스 수를 설정합니다.gcloud run services update SERVICE --max-instances MAX-VALUE
다음과 같이 바꿉니다.
- SERVICE를 서비스 이름으로 바꿉니다.
- MAX-VALUE를 원하는 최대 컨테이너 인스턴스 수로 바꿉니다. 최대 인스턴스 설정을 삭제하려면
default
를 지정합니다.
새 서비스의 경우
--max-instances
매개변수로gcloud run deploy
명령어를 실행하여 최대 컨테이너 인스턴스 수를 설정합니다.gcloud run deploy SERVICE --image=IMAGE_URL --max-instances MAX-VALUE
다음과 같이 바꿉니다.
- SERVICE를 서비스 이름으로 바꿉니다.
- IMAGE_URL을 컨테이너 이미지에 대한 참조(예:
gcr.io/myproject/my-image:latest
)로 바꿉니다. - MAX-VALUE를 원하는 최대 컨테이너 인스턴스 수로 바꿉니다. 최대 인스턴스 설정을 삭제하려면
default
를 지정합니다.
YAML
--format=export
플래그를 사용하여 gcloud run services describe
명령어로 YAML 파일에 기존 서비스 구성을 다운로드할 수 있습니다.
그런 다음 gcloud beta run services replace
명령어로 YAML 파일을 수정하고 변경사항을 배포할 수 있습니다.
지정된 속성만 수정해야 합니다.
서비스 구성을 로컬 작업공간의
service.yaml
파일에 다운로드합니다.gcloud run services describe SERVICE --format export > service.yaml
SERVICE를 Cloud Run for Anthos 서비스 이름으로 바꿉니다.
로컬 파일에서
autoscaling.knative.dev/maxScale:
속성을 업데이트합니다.spec: template: metadata: annotations: autoscaling.knative.dev/maxScale: 'MAX-INSTANCE'
바꾸기
- MAX-INSTANCE를 원하는 최대 개수로 바꿉니다.
다음 명령어를 사용하여 서비스를 새 구성으로 바꿉니다.
gcloud beta run services replace service.yaml