220521 팀프로젝트 회고

Parker.Park·2022년 5월 22일
0

CodeCampTeamProject

목록 보기
12/22

220521 팀프로젝트 회고

kubernetes를 통한 CI/CD

팀프로젝트 초반에 kubernetes를 통해서 중간 배포를 겪기도 했었다. 그런데 무엇을 잘못 만졌는지 중간에 오류가 나서 상당히 진땀을 뺏던 경험이 있었다. 어제 도~넛 데이에 잠깐 배포 얘기가 나왔는데 그만큼 배포 관련해서는 담당 부서도 있다고 하니 생각보다 어려운 작업이구나 싶었다.
이번에 다시 kubernetes를 통해서 CI/CD까지 시도 하였다.

  1. vm인스턴스는 지속하되 kubernetes node 생성
    지난번 kubernetes node로만 배포 하였을 때, vm자체에서 docker로 build up 한 후에 서버를 열어 놓는 것에 대해서 까지는 몰랐다. 알았다면 vm먼저 열어 놓고 kuber로 차근 차근 진행 했을 텐데 말이다. 이번에 조금은 여유 있었던 것은 한편으로는 vm으로 서버를 열어 놓고 있어서 팀원들이 서버를 사용하기에는 문제가 없어서 수월하였다.

  2. http -> https 인증, A레코드, 서브도메인
    또 마찬가지로 지난번에 몰랐던 것중 하나였다. 로드벨런서라고 하고 부하분산기라고 있는데, http와 https로 연결해주는 기능이다. kubernetes를 사용하여 배포하면, 부하분산으로 연결하여 http로 노출하는 것이었다. 이런 내용을 몰랐기에 지난번 부하분산기 하나로 kubernetes까지 연결하는 것이라고 잘못 생각하고 있었던 것이다.

  3. kubernetes 클러스터 배포와 환경변수, secret key
    docker로 이미지를 띄울 때는 env라고 해서 비밀 내용들을 비교적 간편하게 관리 할 수 있었다. 물롬 kubernetes도 간편한 편이라고 생각하지만 처음 하는 형식에 많이 난감하기도 하였고 시간도 많이 걸렸다. 하고 나니 뿌듯함이 있었다.

  4. ingress 에서 unheathy 상태(같은 당황스러움 다른 대처)
    지난번 급하게 kubernetes를 통해서 인그레스까지 확장했는데, ingress는 https를 적용하면서 도메인 인증이 필요하고, heath checker라고 해서 응답이 없으면 오류가 발생하기도 하여 엔드포인트 '/'을 따로 만들어야 했다. 지난번에는 계속 health 체커에서 반응이 없어 당황하여 kuber를 밀어버리고 급하게 vm인스턴스에서 docker를 연결해야 해서 정신이가 상당히 없었다. 사실 그때는 ingress가 https를 적용하는 것도 몰랐다. 이번에도 health체커에 빨간불이 상당히 오래 떠있었던것은 사실이다. 하지만 안된다고 하여 당장 피해볼 사람이 없었기에 충분히 생각하고 확인 할 수 있었다.

kuberctl get logs [pod name]

위 명령어를 통해서 kubernetes pod의 log를 받아와 문제점을 찾을 수 있었다. 문제점은...레디스 배포가 빠졌던 것이다. 그러고 보니 저번에도 안되었던 이유는 이것 때문이지 않았을까 생각한다.

  1. redis 배포
    레디스 배포는 생각했던 것보다 어렵진 않았다. 가이드라인을 쭉 따라가 보니 어렵지 않게 해결 할 수 있었다. 너무 걱정을 했던 것이 아닐까 싶었다.
profile
개발자준비중

0개의 댓글