6. 메트릭 서버를 설정하고 나면 kubectl top pods 명령의 결과를 제대로 확인할 수 있습니다. 설정하고 받아오는 데 시간이 걸리므로 여유롭게 커피를 마시고 오세요(이번에는 잘 돌아갈 테니 편하게 마시고 오세요). 돌아와서 파드의 top 값을 확인합니다. 현재는 아무런 부하가 없으므로 CPU와 MEMORY 값이 매우 낮게 나옵니다.
[root@m-k8s ~]# kubectl top pods
NAME CPU(cores) MEMORY(bytes)
hpa-hname-pods-9b7b5d789-lwx79 0m 1Mi
현재는 scale 기준 값이 설정돼 있지 않아서 파드 증설 시점을 알 수가 없습니다. 따라서 파드에 부하가 걸리기 전에 scale이 실행되게 디플로이먼트에 기준 값을 기록합니다. 이때 Deployment를 새로 배포하기보다는 기존에 배포한 디플로이먼트 내용을 edit 명령으로 직접 수정합니다.
7. edit 명령을 실행해 배포된 디플로이먼트 내용을 확인합니다. 40번째 줄에 resources: {} 부분에서 {}를 생략하고 그 아래에 다음과 같이 requests, limits 항목과 그 값을 추가합니다. 이때 추가한 값은 파드마다 주어진 부하량을 결정하는 기준이 됩니다. 여기서 사용한 단위 m은 milliunits의 약어로 1000m은 1개의 CPU가 됩니다. 따라서 10m은 파드의 CPU 0.01 사용을 기준으로 파드를 증설하게 설정한 것입니다. 또한 순간적으로 한쪽 파드로 부하가 몰릴 경우를 대비해 CPU 사용 제한을 0.05로 주었습니다. 추가가 끝나면 Vim과 동일하게 :wq를 입력해 저장하고 나옵니다.