GitLab Helm 차트 알파
우리는 차트와 관련된 컨테이너에 많은 노력을 기울여 왔으며, GitLab 커뮤니티와 함께 알파에 도달하여 기쁘게 공유하게 되었습니다.
이 작업에는 제품 전반에 걸쳐 광범위한 변경 사항이 필요했습니다.
- 직접 객체 리포지터리에 업로드 지원
- 공유 리포지터리에 대한 의존성 없음
- 각 GitLab 컴포넌트에 대한 새로운 컨테이너
- 새로운 Helm 차트
기존 작업의 대부분이 완료되었지만, 알파 시작 후에 몇 가지 변경 사항이 도착할 예정입니다. 이는 특정 기능들이 예상대로 작동하지 않을 수 있음을 의미합니다.
릴리스 주기
알파에서의 테스트 기회를 극대화하기 위해 차트와 컨테이너들은 변경이 Merge됨에 따라 즉시 다시 빌드됩니다. 이는 특정 릴리스를 기다리지 않고 수정 사항과 개선 사항을 즉시 사용할 수 있음을 의미합니다.
이 리포지터리의 문제 및 Merge Request과 함께, 변경 로그가 알파 기간 동안의 업데이트를 쉽게 따라갈 수 있도록 제공됩니다.
Kubernetes 배포 지원
GitLab 개발 및 테스트는 Google Kubernetes Engine에서 이루어지지만, 다른 Kubernetes 배포도 작동해야 합니다. 특정 GKE 이외의 배포 문제가 발생하는 경우 이슈를 올려주세요.
현재 개발 중인 Kubernetes 버전은 1.8.7을 사용하고 있습니다. 베타에서 필요로 하는 최소 Kubernetes 버전은 공지할 계획입니다.
GitLab 엔터프라이즈 에디션
알파 중에는 커뮤니티 버전에 객체 리포지터리 지원을 제공하기 위해 GitLab 엔터프라이즈 에디션이 필요합니다(https://gitlab.com/gitlab-org/gitlab-foss/-/issues/40781). GitLab EE는 라이선스를 제공받지 않을 때 GitLab CE와 동일한 기능을 제공합니다.
이 차트를 범용으로 사용할 수 있도록 하기 전에 GitLab 커뮤니티 에디션을 지원하도록 추가할 예정입니다.
알파 기간 동안의 기술 지원
알파 단계에서는 기술 지원이 제한됩니다. 개발 중이라는 점 때문에 표준 GitLab 지원팀이 지원을 도와드릴 수 없을 것입니다.
이슈를 열기 전에 알려진 문제 및 제한 사항을 검토하고, 비슷한 이슈가 이미 존재하는지 검색해주세요.
우리는 알파 기간 동안 커뮤니티의 넓은 테스트를 대단히 감사히 여기며, 보다 자세한 이슈들을 보고하여 해결할 수 있도록 장려합니다. 그러나 모든 사용자 요청에 대해 지원을 제공할 수 없을 수도 있습니다.
또한 이유 없이 이슈를 닫을 권리를 보유합니다. 이슈가 빠르게 누적되고 있으며, 차트를 전진시키는 데 보내야 할 시간이 더 많기 때문입니다.
우리는 Merge Request 형식으로 기여된 개선을 환영합니다.
알려진 문제와 제한 사항
차트와 컨테이너는 진행 중인 작업이며 모든 기능이 완전히 작동 중인 것은 아닙니다. 아래는 알려진 문제와 제한 사항 디렉터리이지만, 모든 것을 다 담고 있는 것은 아닙니다. 또한 열린 이슈도 검토하는 것을 권장합니다.
Helm 차트 문제/제한 사항:
- 클러스터 내 HA 데이터베이스 미지원: https://gitlab.com/gitlab-org/charts/gitlab/-/issues/48
- 백업/복원 절차 미지원: https://gitlab.com/gitlab-org/charts/gitlab/-/issues/28
- 업데이트 절차 없음 또는 무중단 업그레이드 지원 미지원: https://gitlab.com/gitlab-org/charts/gitlab/-/issues/238
- 설치 후 리포지터리 용량/옵션 변경/마이그레이션 지원 미지원: https://gitlab.com/gitlab-org/charts/gitlab/-/issues/233
- GitLab Pages 지원 미지원: https://gitlab.com/gitlab-org/charts/gitlab/-/issues/37
- 모니터링 지원 미지원: https://gitlab.com/gitlab-org/charts/gitlab/-/issues/29
- 수신 이메일 지원 미지원: https://gitlab.com/gitlab-org/charts/gitlab/-/issues/235
- GitLab 옵션 커스터마이징에 대한 제한적인 지원: https://gitlab.com/gitlab-org/charts/gitlab/-/issues/236
- CI 트레이스가 유지되지 않음: https://gitlab.com/gitlab-org/charts/gitlab/-/issues/245
- Workhorse에서 별도의 Unicorn 확장 미지원: https://gitlab.com/gitlab-org/charts/gitlab/-/issues/61
- k8s 환경에서 GitLab 유지보수 Rake 작업이 작동하지 않음
- 안전한 Pod 종료에 대한 보장 미지원: https://gitlab.com/gitlab-org/charts/gitlab/-/issues/239
현재 범위에서 벗어난 기능:
- MySQL 지원: https://gitlab.com/gitlab-org/charts/gitlab/-/issues/250
- Mattermost: https://gitlab.com/gitlab-org/charts/gitlab/-/issues/251
- GitLab Endpoint로 상대적인 URL 지원: https://gitlab.com/gitlab-org/charts/gitlab/-/issues/406
베타 및 일반적 사용 가능 상태로의 진행 경로
알파 이후 차트 수명주기의 다음 단계는 베타 단계입니다. 베타 진입을 위한 우리의 목표는 다음과 같습니다:
- GitLab의 모든 기능이 완벽하게 작동
- 백업 및 복원이 지원됨
- 업그레이드가 지원됨
- S3 호환 인터페이스를 위한 객체 리포지터리 지원
- 예상되는 호환되지 않는 변경이 없음
- 릴리스는 버전이 붙음
베타가 완료되면, 일반적으로 사용 가능한 상태로 진행될 것입니다. 차트가 일반적으로 사용 가능한 상태가 되기 위한 우리의 목표는 다음과 같습니다:
- 자가 치유형 Pod와 함께 고가용성
- 매우 큰 배포로 확장 가능
- 다운타임 없는 업그레이드
- 프로덕션 등급의 모니터링, 로깅
- 온프레미스, EKS, AKS, PKS와 같은 일반적인 Kubernetes 배포 타겟에 대해 성숙한 지원 및 문서화
- 호환되지 않는 변경 사항 없음