티스토리 뷰

Container Engine 사용을 멈출 필요가 있을 때가 있다. 대부분이 테스트를 위해 사용하다가 바쁜 일정 등으로 잠시 서비스를 꺼둘 때 일 텐데 Google Cloud Platform (GCP) 콘솔에서는 어떤 이유에서인지 관련된 기능을 찾아보기 힘들다. 더 솔직히 이야기하면 설정은 있지만 설정을 할 수가 없다 (?) 이런 말장난을 하는 이유는 Container Engine 은 애초에 종료 ( Terminate 혹은 Stop ) 의 개념이 없기 때문이다. 단순하게 노드 풀의 사이즈를 주지 않으면 그게 곧 종료를 나타내는데 콘솔에서는 이 설정이 불가능하다.


"크기는 양의 정수여야 합니다."
- 구글님, 0 도 포함시켜 주시죠..?

하지만 걱정할 필요 없다. 왜냐하면 GCP 는 이미 터미널 기반으로 모든 동작이 가능하기 때문이고, 콘솔은 단순히 터미널 명령어를 wrapping 하는 역할밖에 안하니까. 터미널에서 강제로 노드의 크기를 줄여보자.

$ gcloud container clusters resize $NAME --size=0

$NAME 의 부분에는 사이즈를 조정할 컨테이너 클러스터의 이름을 지정한다. 그리고 혹시 기본 영역(Zone)에 대한 정의가 없다면 --zone 까지 명시해줘야 한다. 아래 이미지처럼 Container Engine 메뉴에서 이름과 영역(Zone)을 확인할 수 있다. 그렇게 되면 완성된 명령어는 아래와 같겠다.

$ gcloud container clusters resize cluster-1 --size=0 --zone us-central1-a

그리고 Compute Engine 메뉴에서 클러스터에 포함되는 인스턴스들이 종료되는 것을 확인하면 된다. 환경에 따라 수분 정도 시간이 소요되니 천천히 기다리도록 하자.

잠시 후 아래처럼 인스턴스가 종료되고 사라진 것이 확인된다.


어느 프로젝트/프로그램이던지 사용자 친화적이 되기 위해서는 Web 구성이 편리하고 터미널을 접속할 일이 없어야 하는데 GCP 는 아직 이런 면에서 미흡한 것이 사실이다. 기술이 없는 사람이 콘솔만 갖고 클라우드를 만질 일은 없겠지만 굳이 호기심 없는 사람이 터미널 명령어 까지 공부해야 하는 것은 어쩌면 소모적일 수 있기 때문에 조금은 더 세심한 배려가 필요하지 않을까.


댓글
  • 프로필사진 정현석 1. 오타 pull request 드립니다.
    $ cloud container clusters resize $NAME --size=0 에서 cloud -> gcloud
    2. 오~ 정말 신기하게 resize=0 으로 했더니 node = VM 은 다 사라졌는데 GKE에서 cluster는 남아있네요
    3. 다시 size=1로 했더니 VM이나 GKE에서는 계속 0으로 보이는 오류가 있네요. size=3으로 했더니 잘되구요
    4. size=0 으로 했을때에 서비스되던 pods 들은 어떻게 될까 궁금해지네요. 0에서 3과 같이 변경하면 다시 pods 들이 올라갈까 궁금하기도 하구요.
    - 하지만 다 해볼 수는 없기에 궁금증만 남기고 여기까지. :-)
    2018.01.06 02:06 신고
  • 프로필사진 BlogIcon Jaeyeon Baek 운영중인 서비스에 대해서는 사실상 강제종료를 의미하지 않을까 싶습니다. 4번은 QA 관점에서는 중요한 테스트일 것 같네요. ㅎㅎ

    +오타 제보 감사합니다. :-)
    2018.01.06 08:31 신고
댓글쓰기 폼