구성한 파이프라인에 대해 설명한다.
stack | version |
---|---|
gitlab(helm) | gitlab-6.8.2 |
harbor(helm) | harbor-1.11.0 |
argo(helm) | argo-cd-5.23.1 |
Kaniko | v1.9.1 |
GitLab CI/CD 파이프라인에서 사용, GitLab 서버와 연결되어 파이프라인의 작업을 실행합니다.
여기선 docker registry 역할만 수행합니다.
카니코를 처음 접한 사람들도 있을 것이다. 보통 컨테이너하면 도커를 많이 생각할 것이다. 아래 내용은 클러스터에서 도커를 이용한 빌드보다 카니코를 이용해서 빌드했을 때 장점들이다.
GitHub - GoogleContainerTools/kaniko: Build Container Images In Kubernetes
Deploy the GitLab Helm chart | GitLab
Configure charts using globals | GitLab
Harbor – Harbor 2.7 Documentation
Installation - Argo CD - Declarative GitOps CD for Kubernetes
🧐 저는 위 스택들을 클러스터에 셋팅할 때 helm pull
을 통해서 차트를 마스터노드에 설치하여 구성하였습니다. 이유는 버전과 호환이나 혹은 upgrade 과정에서 버전 충돌 문제
가 있었습니다.
gitlab 을 설치하는 과정에서 동식문서에 있는 helm install , helm upgrade —install 이와 같이 작업을 하여 default values 파일들을 사용했습니다. 그런데 차트 안에 있는 postgresql 버전이 적절하지 않아 에러가 나타났습니다.
원인은 전에 13
설치되어 있었고 upgrade 하면서 12.7
으로 변경된거였습니다. pvc의 경우는 config가 그대로 있다보니 여기서 충돌이 있었던 것으로 예상됩니다.
만약 위와 같은 문제를 피하고 싶다면 pull 을 통해서 관리하는 것도 나쁘지 않다고 생각합니다.