220512 팀프로젝트 회고

Parker.Park·2022년 5월 12일
0

CodeCampTeamProject

목록 보기
4/22

220512 팀프로젝트 회고

기본 배포를 마치다

어제 저녁부터 기본적인 배포를 준비하고 있었다.
어제까지 https 인증까지 기다렸고, 바로 다음 절차를 이어 나갔다.

  • kubernetes 클러스터 생성
  • container-registry 생성
  • Load Balancer 공개(?)
    이 부분이 정리가 되지 않아 복습이 필요하다.
  • ingress 설정
    여기서 좀 문제가 있었다. local 환경에서 수정된 버전을 kubectl~ 명령어로 pod 를 업데이트 하는 작업이 있었다. 그렇기 위해서는 container-registry version을 업을 하고 업한 image 위치와 함께 업데이트를 하는 것이었다.
kubectl set image deployment/deployment_name 배포중인image_name=container registry에 등록된 주소

kubernetes 실수

그럼 현재 이미지는 terminating 되었고, 새로운 이미지(pod)가 running상태를 확인하면 되는 것이었다. 적어도 수업시간에는 말이다. 그런데 상태를 표시하는 곳에 'ImagePullBackOff'라는 메시지가 떠서 상당히 당황했었다.

문제는 간단했다. 로컬컴퓨터에서 version 업을 한 다음 docker build 후 push를 하고 GCP에 있는 container registry 에 버전 업된 이미지가 올라와 있는 것을 확인을 안한 것이었다.(하하..) 없는 경로로 image set을 하니 문제가 된 것이었다. 다시 docker로 push까지 진행하고 registry확인하고 GCP shell로 들어가서 kubectl set image~ 하였다.

그리고 시간이 지난다음 확인하니깐. 1개만 runnig상태이어야하는 pod가 2개가 있었던 것이었다. 결정적으로 페이지가 열리지않았다. 이번에는 health checker 문제 였다. ㅠㅠ

그래 수업시간을 떠올려 보자. health checker 문제는 가장 기본적인 엔드포인트인 '/' 먼저 들어가 response체크를 한다고 한다. 해당 프로젝트에 '/' 추가하면 되는 것이다. 추가하고 다시 image set...

여전히 페이지가 열리지도 않고, pod가 2개가 running중이고... pod들의 충돌일까도 생각해 클러스터를 삭제하여 새로운 클러스터에 시작했다...

그러던중 '/'추가했던 controller 와 service가 app.module에 추가 되지 않았다는 것을 발견하였다.😂

나중에 페어와 얘기를 해보니 kubernetes에서 알아서 자동으로 pod를 조절하기 때문에, 나중에 해결될 문제라고 얘기 해주었다. 아마도 비용적인 고민으로 ram이 느린 것을 선택해서 그랬나라고 생각도 했고, 결국은 정확하게 kubernetes에 대해서 모르는게 문제였구나 싶었다.

QuestionBoard CRUD 준비(페이징)

프로젝트 중 QnA 게시판을 만드려고 하고, 필수적인 CRUD를 만드려고 한다. 그 중 페이징을 도입하려고 하는 이것은 추후에 더 확정되면 공부해야 할 것이다.

git 관련

아직까지도 git 관련해서 엄청 능숙하다? 라는 느낌은 들지 않는다. issue나 project는 milestone같은 것들은 숙지 하였지만, 엄청 와닿은 부분은 아니다. 또한 누군가 push 한 것을 pull로 바로 받을 것인지 충돌될 경우 정확히 어떻게 처리해야 하는지는 여전히 애매한 부분들이 있다. 이것은 계속 알아보기로...

profile
개발자준비중

0개의 댓글