반응형
서문
GCA 자격증 취득을 위해 들은 강의 내용 요약이다. 인스턴스 그룹에 대한 내용을 담고 있다.
인스턴스 그룹과 MIG
- Instance Group: 말그대로 vm 인스턴스들을 하나의 그룹으로 묶은 것
- Location 설정 가능 (Regional 하게 하는 것을 추천함)
- Managed instance Groups (MIG): 동일한 템플릿을 사용한 그룹
- Unmanged instance Groups (UIG): VM들이 서로 다른 구성을 가짐
- MIG를 권장하는 이유: MIG에서만 가능한 기능들
- 인스턴스 숫자 유지 관리
- Self Healing: health checks로 applicatoin failures 탐지함
- auto scaling: 인스턴스를 현재 load 된 양에 따라 줄이거나 늘릴 수 있음
- load balancer 추가
- multiple zone 에서 만들 수 있음
- 새로운 버젼이 나왔을때
- rolling updates로 새 버전을 단계별로 release
- canary deployment: 일부를 먼저 트래픽을 분산해 오류 여부를 판단하고 배포할 수 있음
- MIG 인스턴스 그룹의 구성요소:
- 탬플릿
- auto-scaling: 인스턴스의 최소대수, 최대대수, 어떤 걸(cpu, http loadbalancer, cloud monitoring metric ) 기준으로 몇프로 되었을때 늘릴지
- cool-down period: 서비스 수행을 위한 준비시간
- scale in controls: 오토 스케일링으로 몇초동안 몇개나 줄일수 있는지 설정
- auto-healing: 몇초마다 확인할지, 몇초 안에 응답이 안오면 실패인지, 몇개의 실패가 있어야 비정상인지
업데이트 하는법과 시나리오
- 업데이트 하는법
- Rolling update: 실행버젼 중단 없이 새로운 탬플릿으로 점진적인 업데이트,
- 새로운 탬플릿을 지정하면 canary test를 할 수도 있다.
- 업데이트를 바로 할지 아니면 인스턴스 그룹이 resize 되었을때 할지 정할 수 있음
- maximum surge: 한번에 추가할 수 있는 최대 신규 인스턴스 수
- maximum unavailable: 업데이트 동안 최대 몇개가 오프라인이어도 괜찮은지
- rolling restart나 replace에서도 위의 구성을 정할 수 있음
- Rolling update: 실행버젼 중단 없이 새로운 탬플릿으로 점진적인 업데이트,
- 시나리오
- MIG의 zonal failure이 염려된다면? : multiple zone이나 regional MIG 생성
- 같은 그룹의 VM들이 다르게 구성되길 원한다면?: UIG 이용
- MIG에서 VM상태를 보존하길 원한다면?: stateful MIG 생성, 인스턴스 이름과 persistent disk와 metadata, 보존 가능. stateful workload인 db나 data processing app에서 사용이 권장됨
- 업데이트 가용성이 높은 MIG 생성을 원한다면?: 템플릿의 가용성 정책을 automatic restart, on-host 유지, live migration 등의 설정을 하면 됨
- unhelathy instance가 자동으로 replace되길 원한다면?: MIG의 healtch check를 확인한다.(self-healing)
- autoscaling이 자주 일어나는 것을 원치 않는다면?: cooldown period와 initial delay를 늘린다
Gloud(CLI로 생성)
gcloud compute instance-groups managed create my-mig --zone us-central1-a --template my-instance-template-with-custom-image --size 1
- my-mig라는 이름으로 구역과 탬플릿,크기를 정하고 생성한다. 이때
--health-check
나--initail-delay
로 healthcheck 여부, 시작지연 시간을 줄 수 있다. - `gcloud compute instance-groups managed set-autoscaling my-mig --max-num-replicas=2 --zone us-central1-a
- 인스턴스 그룹에서 autoscailing 의 값들을 정할 수 있다. 그리고 --cool-down-period, --scale-based-on-cpu, --min-num-replicas 등을 정할 수 있다.
gcloud compute instance-groups managed stop-autoscaling my-mig --zone us-central1-a
autoscaling 멈추기gcloud compute instance-groups managed resize my-mig --size=1 --zone=us-central1-a
크기 조절gcloud compute instance-groups managed delete my-managed-instance-group --region=us-central1
삭제gcloud compute instance-groups managed recreate-instances my-mig --instances=my-mig-85fb --zone us-central1-a
재생성(삭제하고 다시 만들기)gcloud compute instance-groups managed update-instances my-mig --instances=my-instance-3, my-instance-4
특정 인스턴스 업데이트 이 과정에서 옵션으로--minimal-action
와--most-disruptive-allowed-action
으로 업데이트 할때 refresh 할지, restart 할지, replace 할지 최소 조치와 최대 조치를 정할수 있음(refresh를 최소로 놓고 replace를 최대로 놓는다거나 각 위계 refresh<restart<replace 로 존재함)gcloud compute instance-groups managed set-instance-template my-mig --template=v2-template
탬플릿 업데이트
시나리오: downtime 없이 v1에서 v2로 업데이트 하길 원한다면
-
- managed rolling-action restart
- managed rolling-action replace
- rolling-action start-update (옵션으로 --canary-version 사용 가능)
반응형
'CS 내용 요약, 지식 > Google Cloud Associate' 카테고리의 다른 글
Google Cloud Associate 강의 요약: Service (0) | 2024.11.24 |
---|---|
Google Cloud Associate 강의 요약: Load Balancer (1) | 2024.11.24 |
Google Cloud Associate 강의 요약: Section 5 (0) | 2024.11.19 |
Google Cloud Associate 강의 요약: Section 4 (3) | 2024.11.08 |
Google Cloud Associate 강의 요약: Section 1~3 (1) | 2024.11.08 |